ステップ 1: Kinesis Data Firehose 送信ストリームを作成する - Amazon CloudWatch Logs

ステップ 1: Kinesis Data Firehose 送信ストリームを作成する

重要

以下の手順を実行する前に、Kinesis Data Firehose が Amazon S3 バケットにアクセスできるように、アクセスポリシーを使用する必要があります。詳細については、「Amazon Kinesis Data Firehose デベロッパーガイド」の「アクセスの制御」を参照してください。

このセクションのすべての手順 (ステップ 1) は、ログデータの受取人アカウントで行われます。

次のサンプルコマンドでは、米国東部 (バージニア北部) が使用されています。このリージョンを、デプロイに適したリージョンに置き換えます。

送信先として使用する Kinesis Data Firehose 配信ストリームを作成するには

  1. Amazon S3 バケットの作成

    aws s3api create-bucket --bucket firehose-test-bucket1 --create-bucket-configuration LocationConstraint=us-east-1
  2. バケットにデータを配置するためのアクセス許可を Kinesis Data Firehose に付与する IAM ロールを作成します。

    1. まず、テキストエディタを使用して、ファイル ~/TrustPolicyForFirehose.json で信頼ポリシーを作成します。

      { "Statement": { "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId":"222222222222" } } } }
    2. 作成したばかりの信頼ポリシーファイルを指定して、IAM ロールを作成します。

      aws iam create-role \ --role-name FirehosetoS3Role \ --assume-role-policy-document file://~/TrustPolicyForFirehose.json
    3. このコマンドの出力は、次のようになります。ロール名とロール ARN を書き留めます。

      { "Role": { "Path": "/", "RoleName": "FirehosetoS3Role", "RoleId": "AROAR3BXASEKW7K635M53", "Arn": "arn:aws:iam::222222222222:role/FirehosetoS3Role", "CreateDate": "2021-02-02T07:53:10+00:00", "AssumeRolePolicyDocument": { "Statement": { "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "222222222222" } } } } } }
  3. 次のコマンドを入力して、Kinesis Data Firehose 配信ストリームを作成します。my-role-arn および my-bucket-arn をデプロイに適した値に置き換えます。

    aws firehose create-delivery-stream \ --delivery-stream-name 'my-delivery-stream' \ --s3-destination-configuration \ '{"RoleARN": "arn:aws:iam::222222222222:role/FirehosetoS3Role", "BucketARN": "arn:aws:s3:::firehose-test-bucket1"}'

    出力は次の例のようになります:

    { "DeliveryStreamARN": "arn:aws:firehose:us-east-1:222222222222:deliverystream/my-delivery-stream" }