

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 1단계: Firehose 전송 스트림 생성
<a name="CreateFirehoseStream"></a>

**중요**  
 다음 단계를 완료하기 전에 Firehose가 Amazon S3 버킷에 액세스할 수 있도록 액세스 정책을 사용해야 합니다. 자세한 내용은 *Amazon Data Firehose 개발자 가이드*의 [액세스 제어](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3)를 참조하세요.  
 이 섹션(1단계)의 모든 단계는 로그 데이터 수신자 계정에서 수행해야 합니다.  
 미국 동부(버지니아 북부)가 다음 샘플 명령에 사용됩니다. 이 리전을 배포에 적합한 리전으로 바꿉니다.

**대상으로 사용할 Firehose 전송 스트림을 생성하려면**

1. Amazon S3 버킷 생성:

   ```
   aws s3api create-bucket --bucket amzn-s3-demo-bucket --create-bucket-configuration LocationConstraint=us-east-1
   ```

1. 버킷에 데이터를 입력하는 데 필요한 권한을 Firehose에 부여하는 IAM 역할을 생성합니다.

   1. 먼저 텍스트 편집기를 사용하여 `~/TrustPolicyForFirehose.json` 파일에 신뢰 정책을 생성합니다.

      ```
      { "Statement": { "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId":"222222222222" } } } }
      ```

   1. IAM 역할을 생성하여 방금 생성한 신뢰 정책 파일을 지정합니다.

      ```
      aws iam create-role \ 
          --role-name FirehosetoS3Role \ 
          --assume-role-policy-document file://~/TrustPolicyForFirehose.json
      ```

   1. 이 명령의 출력은 다음과 비슷합니다. 역할 이름과 역할 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"
                          }
                      }
                  }
              }
          }
      }
      ```

1. Firehose가 계정에서 수행할 수 있는 작업을 정의하는 권한 정책을 생성합니다.

   1. 먼저 텍스트 편집기를 사용하여 다음 권한 정책을 이름이 `~/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/*"
              ]
          }]
      }
      ```

   1. 다음 명령을 입력하여 방금 생성한 권한 정책을 IAM 역할에 연결합니다.

      ```
      aws iam put-role-policy --role-name FirehosetoS3Role --policy-name Permissions-Policy-For-Firehose-To-S3 --policy-document file://~/PermissionsForFirehose.json
      ```

1. 다음 명령을 입력하여 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"
   }
   ```