步骤 1: 配置 AWS 服务 - 适用于 Microsoft Windows 的 Amazon Kinesis 代理

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

步骤 1: 配置 AWS 服务

执行以下步骤来准备环境,以便使用 Amazon Kinesis Agent 将日志数据流式传输到 Amazon Simple Storage Service (Amazon S3)。有关更多信息和先决条件,请参阅教程:使用适用于 Windows 的 Kinesis 代理将 JSON 日志文件流式传输到 Amazon S3

使用 AWS 管理控制台配置 AWS Identity and Access Management (IAM)、Amazon S3、Kinesis Data Firehose 件和亚马逊 Elastic Compute Cloud (Amazon EC2),以便准备将日志数据从 EC2 实例流式传输到 Amazon S3。

配置 IAM 策略和角色

创建以下策略,该策略授权 Windows Kinesis Agent 将记录流式传输到特定的 Kinesis Data Firehose 传输流:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch" ], "Resource": "arn:aws:firehose:region:account-id:deliverystream/log-delivery-stream" } ] }

Replaceregion,名为 AWS 区域名称,该区域将在其中创建 Kinesis Data Firehose 传输流(us-east-1,例如)。将 account-id 替换为将在其中创建传输流的 AWS 账户的 12 位账户 ID。

在导航栏中,选择支持,然后支持中心。您当前登录的 12 位数字账户号 (ID) 将显示在支持中心导航窗格中。

使用以下过程创建策略。将策略命名为 log-delivery-stream-access-policy

使用 JSON 策略编辑器创建策略
  1. 登录 AWS 管理控制台,并通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在左侧的导航窗格中,选择 Policies (策略)

    如果这是您首次选择 Policies,则会显示 Welcome to Managed Policies 页面。选择 Get Started

  3. 在页面的顶部,选择 Create policy (创建策略)

  4. 选择 JSON 选项卡。

  5. 输入 JSON 策略文档。有关 IAM 策略语言的详细信息,请参阅IAM JSON 策略参考中的IAM 用户指南

  6. 完成后,选择查看策略策略验证程序将报告任何语法错误。

    注意

    您可以随时在可视化编辑器JSON 选项卡之间切换。但是,如果您进行更改或选择查看策略中的可视化编辑器选项卡中,IAM 可能会调整您的策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅 。调整策略结构中的IAM 用户指南

  7. Review policy (查看策略) 页面上,为创建的策略输入 Name (名称)Description (描述)(可选)。查看策略摘要以查看您的策略授予的权限。然后,选择创建策略以保存您的工作。

演示如何为 Kinesis Data Firehose 创建 IAM 策略的屏幕截图。
创建向 Kinesis Data Firehose 授予对 S3 存储桶的访问权限的角色
  1. 通过使用上一过程,创建一个使用以下 JSON 定义的名为 firehose-s3-access-policy 的策略:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:firehose-error-log-group:log-stream:firehose-error-log-stream" ] } ] }

    bucket-name 替换为将存储日志的唯一存储桶名称。Replaceregion(将在其中创建 CloudWatch Logs 组和日志流的 AWS 区域)。它们用于记录在通过 Kinesis Data Firehose 将数据流式传输到 Amazon S3 时发生的任何错误。将 account-id 替换为将在其中创建日志组和日志流的账户的 12 位账户 ID。

    演示如何创建 IAM 策略以允许访问 Amazon S3 的屏幕截图。
  2. 在 IAM 控制台的导航窗格中,选择 Roles,然后选择 Create role

  3. 选择AWS 服务角色类型,然后选择Kinesis服务。

  4. 选择Kinesis Data Firehose作为用例,然后选择后续:权限。

  5. 在搜索框中,输入firehose-s3-access-policy,选择该策略,然后选择后续:审核

  6. Role name (角色名称) 框中,输入 firehose-s3-access-role

  7. 选择创建角色

创建要与将运行 Kinesis Agent 的 EC2 实例的实例配置文件关联的角色
  1. 在 IAM 控制台的导航窗格中,选择 Roles,然后选择 Create role

  2. 选择AWS 服务角色类型,然后选择EC2

  3. 选择后续:权限。

  4. 在搜索框中,输入 log-delivery-stream-access-policy

  5. 选择策略,然后选择后续:审核

  6. Role name (角色名称) 框中,输入 kinesis-agent-instance-role

  7. 选择创建角色

创建 Amazon S3 存储桶

创建 Kinesis Data Firehose 在其中流式传输日志的 S3 存储桶。

创建用于日志存储的 S3 存储桶
  1. 通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 选择 Create bucket (创建存储桶)

  3. Bucket name (存储桶名称) 框中,输入您在配置 IAM 策略和角色中选择的唯一 S3 存储桶名称。

  4. 选择应创建存储桶的区域。这通常与您打算在其中创建 Kinesis Data Firehose 传输流和 Amazon EC2 实例的区域相同。

  5. 选择创建

创建 Kinesis Data Firehose 传输流

创建将流式记录存储在 Amazon S3 中的 Kinesis Data Firehose 传输流。

创建 Kinesis Data Firehose 传输流
  1. 打开 Kinesis Data Firehose 控制台,网址为https://console.aws.amazon.com/firehose/

  2. 选择 Create Delivery Stream

  3. Delivery stream name (传输流名称) 框中,输入 log-delivery-stream

  4. 对于 Source (源),请选择 Direct PUT 或其他源。

    演示如何在创建 Kinesis Data Firehose 传输流时指定源的屏幕截图。
  5. 选择 Next

  6. 再次选择 Next (下一步)

  7. 对于目标,选择Amazon S3

  8. 对于 S3 bucket (S3 存储桶),选择您在创建 Amazon S3 存储桶中创建的存储桶的名称。

    演示如何在创建 Kinesis Data Firehose 传输流时指定目标的屏幕截图。
  9. 选择 Next

  10. Buffer interval (缓冲间隔) 框中,输入 60

  11. IAM role (IAM 角色) 下,选择 Create new or choose (新建或选择)

  12. 对于 IAM role (IAM 角色),选择 firehose-s3-access-role

  13. 选择 Allow

    演示如何在创建 Kinesis Data Firehose 传输流时配置选项和安全性的屏幕截图。
  14. 选择 Next

  15. 选择 Create delivery stream (创建传输流)

创建 Amazon EC2 实例以运行适用于 Windows 的 Kinesis 代理

创建使用 Windows Kinesis Agent 通过 Kinesis Data Firehose 流式传输日志记录的 EC2 实例。

创建 EC2 实例
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 按照 Amazon EC2 Windows 实例入门中的说明操作,并使用以下额外步骤:

    • 对于实例的 IAM role (IAM 角色),选择 kinesis-agent-instance-role

    • 如果您还没有连接到互联网的公共 Virtual Private Cloud (VPC),请按照使用 Amazon EC2 进行设置中的适用于 Windows 实例的 Amazon EC2 用户指南

    • 创建或使用一个安全组,该安全组仅允许从您的计算机或组织的计算机访问实例。有关更多信息,请参阅 。使用 Amazon EC2 进行设置中的适用于 Windows 实例的 Amazon EC2 用户指南

    • 如果您指定现有密钥对,请确保有权访问密钥对的私有密钥。或者,创建新的密钥对,并将私有密钥保存在安全位置。

    • 在继续之前,请等待实例运行并完成两项运行状况检查。

    • 您的实例需要一个公有 IP 地址。如果尚未分配一个,请按照弹性 IP 地址中的适用于 Windows 实例的 Amazon EC2 用户指南

后续步骤

步骤 2: 安装、配置和运行适用于 Windows 的运行代理