步驟 1:建立 Firehose 傳送串流 - Amazon CloudWatch 日誌

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟 1:建立 Firehose 傳送串流

重要

在完成下列步驟之前,您必須使用存取政策,以便 Firehose 可以存取您的 Amazon S3 儲存貯體。如需詳細資訊,請參閱 Amazon 資料 Firehose 開發人員指南中的控制存取

必須在日誌資料收件人帳戶中完成本區段 (步驟 1) 中的所有步驟。

在以下範例命令中使用美國東部 (維吉尼亞北部)。請將此區域替換成您部署的正確區域。

若要建立要用作目的地的 Firehose 傳送串流
  1. 建立 Amazon S3 儲存貯體:

    aws s3api create-bucket --bucket firehose-test-bucket1 --create-bucket-configuration LocationConstraint=us-east-1
  2. 建立授與 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. 建立權限原則,以定義 Firehose 可在您帳戶中執行的動作。

    1. 首先,使用文字編輯器在名為 ~/PermissionsForFirehose.json 的檔案中建立下列許可政策。根據您的使用案例,可能需要為此檔案新增更多許可。

      { "Statement": [{ "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::firehose-test-bucket1", "arn:aws:s3:::firehose-test-bucket1/*" ] }] }
    2. 輸入下列命令,將您剛建立的權限原則與IAM角色產生關聯。

      aws iam put-role-policy --role-name FirehosetoS3Role --policy-name Permissions-Policy-For-Firehose-To-S3 --policy-document file://~/PermissionsForFirehose.json
  4. 輸入下列命令以建立 Firehose 傳送串流。Replace (取代) 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" }