기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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
버킷에 데이터를 입력하는 데 필요한 권한을 Firehose에 부여하는 IAM 역할을 생성합니다.
먼저 텍스트 편집기를 사용하여 신뢰 정책을
~/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 전송 스트림을 생성합니다.
my-role-arn
및amzn-s3-demo-bucket2-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" }