本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 1:建立 Firehose 交付串流
重要
在完成下列步驟之前,您必須使用 存取政策,以便 Firehose 可以存取您的 Amazon S3 儲存貯體。如需詳細資訊,請參閱《Amazon Data Firehose 開發人員指南》中的控制存取。
必須在日誌資料收件人帳戶中完成本區段 (步驟 1) 中的所有步驟。
在以下範例命令中使用美國東部 (維吉尼亞北部)。請將此區域替換成您部署的正確區域。
建立要用作目的地的 Firehose 交付串流
建立 Amazon S3 儲存貯體:
aws s3api create-bucket --bucket amzn-s3-demo-bucket --create-bucket-configuration LocationConstraint=us-east-1
建立 IAM角色,授予 Firehose 將資料放入儲存貯體的許可。
首先,使用文字編輯器在檔案
~/TrustPolicyForFirehose.json
中建立信任政策。{ "Statement": { "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId":"222222222222" } } } }
建立IAM角色,指定您剛建立的信任政策檔案。
aws iam create-role \ --role-name FirehosetoS3Role \ --assume-role-policy-document file://~/TrustPolicyForFirehose.json
此命令的輸出看起來如下:記下角色名稱和角色 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" } } } } } }
建立許可政策,以定義 Firehose 可以在您的帳戶中執行的動作。
首先,使用文字編輯器在名為
~/PermissionsForFirehose.json
的檔案中建立下列許可政策。根據您的使用案例,可能需要為此檔案新增更多許可。{ "Statement": [{ "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }] }
輸入下列命令,將您剛建立的許可政策與IAM角色建立關聯。
aws iam put-role-policy --role-name FirehosetoS3Role --policy-name Permissions-Policy-For-Firehose-To-S3 --policy-document file://~/PermissionsForFirehose.json
輸入下列命令來建立 Firehose 交付串流。
amzn-s3-demo-bucket2-arn
將my-role-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:::amzn-s3-demo-bucket"}'
輸出格式應類似以下內容:
{ "DeliveryStreamARN": "arn:aws:firehose:us-east-1:222222222222:deliverystream/my-delivery-stream" }