

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

# S3 스토리지 \$1 생성
<a name="deployment-advanced-s3-storage-create"></a>

클라우드 스토리지용 Amazon S3 버킷을 생성합니다.

**전체 분류:** 배포 \$1 고급 스택 구성 요소 \$1 S3 스토리지 \$1 생성

## 변경 유형 세부 정보
<a name="ct-1a68ck03fn98r-DASc-table"></a>


****  

|  |  | 
| --- |--- |
| 유형 ID 변경 | ct-1a68ck03fn98r | 
| 현재 버전 | 5.0 | 
| 예상 실행 기간 | 60분 | 
| AWS 승인 | 필수 | 
| 고객 승인 | 불필요 | 
| 실행 모드 | 자동 | 

## 추가 정보
<a name="deployment-advanced-s3-storage-create-info"></a>

### S3 스토리지 생성
<a name="ex-s3-create-col"></a>

#### 콘솔을 사용하여 S3 버킷 생성
<a name="s3-create-con"></a>

AMS 콘솔에서이 변경 유형의 스크린샷:

![\[Console interface showing details for creating an Amazon S3 bucket, including ID and execution mode.\]](http://docs.aws.amazon.com/ko_kr/managedservices/latest/ctref/images/guiS3CreateCT.png)


작동 방식:

1. **RFC 생성** 페이지로 이동합니다. AMS 콘솔의 왼쪽 탐색 창에서 **RFCs** 클릭하여 RFCs 목록 페이지를 연 다음 **RFC 생성을** 클릭합니다.

1. 기본 변경 유형 **찾아보기 보기에서 인기 있는 변경 유형**(CT)을 선택하거나 **범주별 선택** 보기에서 CT를 선택합니다.
   + **변경 유형별 찾아보**기: **빠른 생성** 영역에서 인기 있는 CT를 클릭하여 **RFC 실행** 페이지를 즉시 열 수 있습니다. 빠른 생성으로 이전 CT 버전을 선택할 수 없습니다.

     CTs 정렬하려면 **카드** 또는 **테이블** 보기에서 **모든 변경 유형** 영역을 사용합니다. 어느 보기에서든 CT를 선택한 다음 **RFC 생성을** 클릭하여 **RFC 실행** 페이지를 엽니다. 해당하는 경우 RFC **생성 버튼 옆에 이전 버전으로** 생성 옵션이 나타납니다. **** 
   + **범주별 선택**: 범주, 하위 범주, 항목 및 작업을 선택하면 해당하는 경우 **이전 버전으로 생성** 옵션이 있는 CT 세부 정보 상자가 열립니다. **RFC 생성을** 클릭하여 **RFC 실행** 페이지를 엽니다.

1. **RFC 실행** 페이지에서 CT 이름 영역을 열어 CT 세부 정보 상자를 확인합니다. **제목**은 필수입니다(**변경 유형 찾아보**기 보기에서 CT를 선택하면 입력됨). **추가 구성** 영역을 열어 RFC에 대한 정보를 추가합니다.

   **실행 구성** 영역에서 사용 가능한 드롭다운 목록을 사용하거나 필요한 파라미터의 값을 입력합니다. 선택적 실행 파라미터를 구성하려면 **추가 구성** 영역을 엽니다.

1. 완료되면 **실행**을 클릭합니다. 오류가 없는 경우 **성공적으로 생성된 RFC** 페이지에 제출된 RFC 세부 정보와 초기 **실행 출력**이 표시됩니다.

1. **실행 파라미터** 영역을 열어 제출한 구성을 확인합니다. 페이지를 새로 고쳐 RFC 실행 상태를 업데이트합니다. 선택적으로 RFC를 취소하거나 페이지 상단의 옵션을 사용하여 RFC 사본을 생성합니다.

#### CLI를 사용하여 S3 버킷 생성
<a name="s3-create-cli"></a>

작동 방식:

1. 인라인 생성(모든 RFC 및 실행 파라미터가 포함된 `create-rfc` 명령을 실행) 또는 템플릿 생성(2개의 JSON 파일을 생성, 하나는 RFC 파라미터용이고 다른 하나는 실행 파라미터용)을 사용하고 두 파일을 입력으로 사용하여 `create-rfc` 명령을 실행합니다. 두 방법 모두 여기에 설명되어 있습니다.

1. 반환된 RFC ID로 RFC: `aws amscm submit-rfc --rfc-id ID` 명령을 제출합니다.

   RFC: `aws amscm get-rfc --rfc-id ID` 명령을 모니터링합니다.

변경 유형 버전을 확인하려면 다음 명령을 사용합니다.

```
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
```

*인라인 생성*:

인라인으로 제공된 실행 파라미터(실행 파라미터를 인라인으로 제공할 때 이스케이프 따옴표)로 RFC 생성 명령을 실행한 다음 반환된 RFC ID를 제출합니다. 예를 들어 콘텐츠를 다음과 같은 내용으로 바꿀 수 있습니다.

**필수 파라미터만 있는 예제, 버전 5.0:**

```
aws amscm create-rfc --title "my-s3-bucket" --change-type-id "ct-1a68ck03fn98r" --change-type-version "5.0" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-CreateBucket\",\"Region\":\"us-east-1\",\"Parameters\":{\"BucketName\":\"amzn-s3-demo-bucket\"}}"
```

**모든 파라미터가 포함된 예제, 버전 5.0:**

```
aws amscm create-rfc --title "My S3 Bucket" --change-type-id "ct-1a68ck03fn98r" --change-type-version "5.0" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-CreateBucket\",\"Region\":\"us-east-1\",\"Parameters\":{\"BucketName\":\"amzn-s3-demo-bucket\",\"ServerSideEncryption\":\"KmsManagedKeys\",\"KMSKeyId\":\"arn:aws:kms:ap-southeast-2:123456789012:key/9d5948f1-2082-4c07-a183-eb829b8d81c4\",\"Versioning\":\"Enabled\",\"IAMPrincipalsRequiringReadObjectAccess\":[\"arn:aws:iam::123456789012:user/myuser\",\"arn:aws:iam::123456789012:role/myrole\"],\"IAMPrincipalsRequiringWriteObjectAccess\":[\"arn:aws:iam::123456789012:user/myuser\",\"arn:aws:iam::123456789012:role/myrole\"],\"ServicesRequiringReadObjectAccess\":[\"rds.amazonaws.com\",\"ec2.amazonaws.com\",\"logs.ap-southeast-2.amazonaws.com\"],\"ServicesRequiringWriteObjectAccess\":[\"rds.amazonaws.com\",\"ec2.amazonaws.com\",\"logs.ap-southeast-2.amazonaws.com\"],\"EnforceSecureTransport\":true,\"AccessAllowedIpRanges\":[\"1.0.0.0/24\",\"2.0.0.0/24\"]}}"
```

*템플릿 생성*:

1. 이 변경 유형에 대한 실행 파라미터 JSON 스키마를 파일로 출력합니다.이 예제에서는 CreateBucketParams.json.

   ```
   aws amscm get-change-type-version --change-type-id "ct-1a68ck03fn98r" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateBucketParams.json
   ```

1. CreateBucketParams 파일을 수정하고 저장합니다. 에서 계정 ID를 사용할 필요는 `BucketName`없지만 버킷을 더 쉽게 찾을 수 있습니다(버킷 이름은 모든 리전의 계정에서 고유해야 하며 대문자를 사용할 수 없음). 이를 사용하여 tier-and-tie WordPress 사이트를 생성하는 경우를 설정할 때 해당 목적을 표시할 수 있습니다`BucketName`.

   **읽기 액세스 권한이 있는 예제:**

   ```
   {
     "DocumentName": "AWSManagedServices-CreateBucket",
     "Region": "us-east-1",
     "Parameters": {
       "BucketName": "amzn-s3-demo-bucket",
       "IAMPrincipalsWithReadObjectAccess": [
         "arn:aws:iam::123456789123:role/roleA",
         "arn:aws:iam::987654321987:role/roleB"
       ]  
     }
   }
   ```

   **쓰기 액세스 권한이 있는 예:**

   ```
   {
       "DocumentName": "AWSManagedServices-CreateBucket",
       "Region": "us-east-1",
       "Parameters": {
         "BucketName": "amzn-s3-demo-bucket",
         "IAMPrincipalsRequiringWriteObjectAccess": [
           "arn:aws:iam::123456789123:role/roleA",
           "arn:aws:iam::987654321987:role/roleB"
         ]  
       }
   }
   ```

   결과 정책은 섹션을 참조하세요[IAM 사용자 또는 역할에 대한 READ 액세스 권한을 부여합니다.](#s3-create-read-for-user-or-role).

   **서비스에 대한 읽기 액세스 권한이 있는 예제:**

   ```
   {
       "DocumentName": "AWSManagedServices-CreateBucket",
       "Region": "us-east-1",
       "Parameters": {
         "BucketName": "amzn-s3-demo-bucket",
         "ServicesRequiringWriteObjectAccess": [
           "rds.amazonaws.com",
           "logs.ap-southeast-2.amazonaws.com",
           "ec2.amazonaws.com"
         ]  
       }
   }
   ```

   결과 정책은 섹션을 참조하세요[IAM 사용자 또는 역할에 대한 쓰기 액세스 권한을 부여합니다.](#s3-create-write-for-user-or-role).

   **서비스에 대한 쓰기 액세스 권한이 있는 예:**

   ```
   {
       "DocumentName": "AWSManagedServices-CreateBucket",
       "Region": "us-east-1",
       "Parameters": {
         "BucketName": "amzn-s3-demo-bucket",
         "ServicesRequiringWriteObjectAccess": [
           "rds.amazonaws.com",
           "logs.ap-southeast-2.amazonaws.com",
           "ec2.amazonaws.com"
         ]  
       }
   }
   ```

   **보안 전송을 적용하는 예제:**

   ```
   {
       "DocumentName": "AWSManagedServices-CreateBucket",
       "Region": "us-east-1",
       "Parameters": {
         "BucketName": "amzn-s3-demo-bucket",
         "EnforceSecureTransport": "true"
       }
   }
   ```

   결과 정책은 섹션을 참조하세요[EnforceSecureTransport 사용](#s3-create-enforce-secure-transport).

   **IP 범위 집합에서 버킷에 대한 액세스를 제한하는 예제:**

   ```
    {
       "DocumentName": "AWSManagedServices-CreateBucket",
       "Region": "us-east-1",
       "Parameters": {
         "BucketName": "amzn-s3-demo-bucket",
         "AccessAllowedIpRanges": [
           "1.2.3.0/24",
           "2.3.4.0/24"
         ]
       }
     }
   ```

   결과 정책은 섹션을 참조하세요[IP 범위에 대한 액세스 제한](#s3-create-limits-access-to-ips).

1. RFC 템플릿 JSON 파일을 CreateBucketRfc.json:이라는 파일로 출력합니다.

   ```
   aws amscm create-rfc --generate-cli-skeleton > CreateBucketRfc.json
   ```

1. CreateBucketRfc.json 파일을 수정하고 저장합니다. 예를 들어 콘텐츠를 다음과 같은 내용으로 바꿀 수 있습니다.

   ```
   {
   "ChangeTypeVersion":    "5.0",
   "ChangeTypeId":         "ct-1a68ck03fn98r",
   "Title":                "S3-Bucket-Create-RFC",
   "RequestedStartTime":   "2016-12-05T14:20:00Z",
   "RequestedEndTime":     "2016-12-05T16:20:00Z"
   }
   ```

1. CreateBucketRfc 파일과 CreateBucketParams 파일을 지정하여 RFC를 생성합니다.

   ```
   aws amscm create-rfc --cli-input-json file://CreateBucketRfc.json  --execution-parameters file://CreateBucketParams.json
   ```

   응답에서 새 RFC의 ID를 수신하고 이를 사용하여 RFC를 제출하고 모니터링할 수 있습니다. 제출하기 전까지는 RFC가 편집 상태로 유지되고 시작되지 않습니다.

1. S3 버킷을 보거나 객체를 로드하려면 실행 출력을 살펴봅니다. Cloud Formation 콘솔에서 버킷`stack_id`을 보려면를 사용하고, S3 콘솔에서 버킷을 보려면 S3 버킷 이름을 사용합니다.
**참고**  
비소유자 계정에서 객체를 업로드할 때는 버킷 소유자 계정에 버킷의 모든 객체에 대한 전체 제어 권한을 부여하는 `bucket-owner-full-control` ACL을 지정해야 합니다. 예제:  

   ```
   aws s3api put-object --acl bucket-owner-full-control --bucket amzn-s3-demo-bucket --key data.txt --body /tmp/data.txt
   ```

#### 팁
<a name="ex-s3-create-tip"></a>

**참고**  
이 연습에서는 변경 유형(ct-1a68ck03fn98r) 버전 5.0을 사용하여 Amazon S3 스토리지 버킷을 생성하는 방법에 대해 설명하고 예제 명령을 제공합니다. 이 버전에서는 퍼블릭 S3 버킷을 생성할 수 없으며 프라이빗 버킷만 허용됩니다. 퍼블릭 S3 스토리지 버킷을 생성하려면 이전 버전의 변경 유형을 사용하고 **AccessControl** 파라미터에 대해 **PublicRead**를 지정합니다.  
또한이 연습에서는 버전이 지정된 객체를 삭제하는 데 필요한 권한을 부여하지 않습니다.

Amazon S3에 대한 자세한 내용은 [Amazon Simple Storage Service 설명서를](https://aws.amazon.com/documentation/s3/) 참조하세요.

#### S3 스토리지 버킷 결과 정책 예제 생성
<a name="ex-s3-create-policies"></a>

Amazon S3 스토리지 버킷을 생성한 방법에 따라 정책을 생성했습니다. 이러한 예제 정책은에 제공된 다양한 Amazon S3 생성 시나리오와 일치합니다[CLI를 사용하여 S3 버킷 생성](#s3-create-cli).

##### IAM 사용자 또는 역할에 대한 READ 액세스 권한을 부여합니다.
<a name="s3-create-read-for-user-or-role"></a>

결과 예제 정책은 IAM 사용자 또는 역할에 대해 버킷의 객체에 대한 READ 액세스 권한을 부여합니다.

```
{
          "Sid": "AllowBucketReadActionsForArns",
          "Effect": "Allow",
          "Principal": {
              "AWS": [
                  "arn:aws:iam::123456789123:role/roleA”,
                  "arn:aws:iam::987654321987:role/roleB”
              ]
          },
          "Action": [
              "s3:GetBucketAcl",
              "s3:GetBucketLocation",
              "s3:ListBucket"
          ],
          "Resource": "arn:aws:s3:::ACCOUNT-ID.BUCKET_NAME"
      },
      {
          "Sid": "AllowObjectReadActionsForArns",
          "Effect": "Allow",
          "Principal": {
              "AWS": [
                  "arn:aws:iam::123456789123:role/roleA”,
                  "arn:aws:iam::987654321987:role/roleB”
              ]
          },
          "Action": [
              "s3:GetObject",
              "s3:ListMultipartUploadParts"
          ],
          "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*"
}
```

S3 스토리지 버킷 변경 유형 생성으로이 정책을 생성하는 실행 파라미터는 섹션을 참조하세요. [CLI를 사용하여 S3 버킷 생성](#s3-create-cli) 

##### IAM 사용자 또는 역할에 대한 쓰기 액세스 권한을 부여합니다.
<a name="s3-create-write-for-user-or-role"></a>

다음 예제 정책은 IAM 사용자 또는 역할에 대해 버킷의 객체에 대한 WRITE 액세스 권한을 부여합니다. 이 정책은 버전이 지정된 객체를 삭제하는 데 필요한 권한을 부여하지 않습니다.

```
{
          "Sid": "AllowObjectWriteActionsForArns",
          "Effect": "Allow",
          "Principal": {
              "AWS": [
                  "arn:aws:iam::123456789123:role/roleA”,
                  "arn:aws:iam::987654321987:role/roleB”
              ]
          },
          "Action": [
              "s3:PutObject",
              "s3:DeleteObject",
              "s3:AbortMultipartUpload"
          ],
          "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*"
}
```

S3 스토리지 버킷 변경 유형 생성으로이 정책을 생성하는 실행 파라미터는 섹션을 참조하세요. [CLI를 사용하여 S3 버킷 생성](#s3-create-cli) 

##### AWS 서비스에 대한 READ 액세스 권한을 부여합니다.
<a name="s3-create-read-for-service"></a>

결과 예제 정책은 AWS 서비스의 버킷에 있는 객체에 대한 READ 액세스 권한을 부여합니다.

```
{
          "Sid": "AllowBucketReadActionsForServcices",
          "Effect": "Allow",
          "Principal": {
              "Service": [
                  "rds.amazonaws.com",
                  "logs.ap-southeast-2.amazonaws.com",
                  "ec2.amazonaws.com"
              ]
          },
          "Action": [
              "s3:GetBucketAcl",
              "s3:GetBucketLocation",
              "s3:ListBucket"
          ],
          "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*"
      },
      {
          "Sid": "AllowObjectReadActionsForServcices",
          "Effect": "Allow",
          "Principal": {
              "Service": [
                  "rds.amazonaws.com",
                  "logs.ap-southeast-2.amazonaws.com",
                  "ec2.amazonaws.com"
              ]
          },
          "Action": [
              "s3:GetObject",
              "s3:ListMultipartUploadParts"
          ],
          "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*"
}
```

S3 스토리지 버킷 변경 유형 생성으로이 정책을 생성하는 실행 파라미터는 섹션을 참조하세요. [CLI를 사용하여 S3 버킷 생성](#s3-create-cli) 

##### AWS 서비스에 대한 WRITE 액세스 권한을 부여합니다.
<a name="s3-create-write-for-service"></a>

다음 예제 정책은 AWS 서비스의 버킷에 있는 객체에 대한 WRITE 액세스 권한을 부여합니다. 이 정책은 버전이 지정된 객체를 삭제하는 데 필요한 권한을 부여하지 않습니다.

```
{
      "Sid": "AllowObjectWriteActionsForServcices",
      "Effect": "Allow",
      "Principal": {
        "Service": [
            "rds.amazonaws.com",
            "logs.ap-southeast-2.amazonaws.com",
            "ec2.amazonaws.com"
        ]
    },
    "Action": [
          "s3:PutObject",
          "s3:DeleteObject",
          "s3:AbortMultipartUpload"
      ],
      "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*"
}
```

S3 스토리지 버킷 변경 유형 생성으로이 정책을 생성하는 실행 파라미터는 섹션을 참조하세요. [CLI를 사용하여 S3 버킷 생성](#s3-create-cli) 

##### EnforceSecureTransport 사용
<a name="s3-create-enforce-secure-transport"></a>

보안 전송을 적용하는 결과 예제 정책:

```
{
          "Sid": "EnforceSecureTransport",
          "Effect": "Deny",
          "Principal": "*",
          "Action": "*",
          "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*",
          "Condition": {
              "Bool": {
                  "aws:SecureTransport": "false"
              }
          }
}
```

S3 스토리지 버킷 변경 유형 생성으로이 정책을 생성하는 실행 파라미터는 섹션을 참조하세요. [CLI를 사용하여 S3 버킷 생성](#s3-create-cli) 

##### IP 범위에 대한 액세스 제한
<a name="s3-create-limits-access-to-ips"></a>

일련의 IP 범위에서 버킷에 대한 액세스를 제한하는 결과 예제 정책:

```
{
          "Sid": "RestrictBasedOnIPRanges",
          "Effect": "Deny",
          "Principal": "*",
          "Action": "s3:*",
          "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*",
          "Condition": {
              "NotIpAddress": {
                  "aws:SourceIp": [
                      “1.2.3.0/24",
                      “2.3.4.0/24"
                  ]
              }
          }
      }
```

S3 스토리지 버킷 변경 유형 생성으로이 정책을 생성하는 실행 파라미터는 섹션을 참조하세요. [CLI를 사용하여 S3 버킷 생성](#s3-create-cli) 

## 실행 입력 파라미터
<a name="deployment-advanced-s3-storage-create-input"></a>

실행 입력 파라미터에 대한 자세한 내용은 섹션을 참조하세요[변경 유형 ct-1a68ck03fn98r 스키마](schemas.md#ct-1a68ck03fn98r-schema-section).

## 예: 필수 파라미터
<a name="deployment-advanced-s3-storage-create-ex-min"></a>

```
{
  "DocumentName" : "AWSManagedServices-CreateBucket",
  "Region": "us-east-1",
  "Parameters": {
    "BucketName": "mybucket"
  }
}
```

## 예: 모든 파라미터
<a name="deployment-advanced-s3-storage-create-ex-max"></a>

```
{
  "DocumentName" : "AWSManagedServices-CreateBucket",
  "Region": "us-east-1",
  "Parameters": {
    "BucketName": "mybucket",
    "ServerSideEncryption": "KmsManagedKeys",
    "KMSKeyId": "arn:aws:kms:ap-southeast-2:123456789012:key/9d5948f1-2082-4c07-a183-eb829b8d81c4",
    "Versioning": "Enabled",
    "IAMPrincipalsRequiringReadObjectAccess": [
      "arn:aws:iam::123456789012:user/myuser",
      "arn:aws:iam::123456789012:role/myrole"
    ],
    "IAMPrincipalsRequiringWriteObjectAccess": [
      "arn:aws:iam::123456789012:user/myuser",
      "arn:aws:iam::123456789012:role/myrole"
    ],
    "ServicesRequiringReadObjectAccess": [
      "rds.amazonaws.com",
      "ec2.amazonaws.com",
      "logs.ap-southeast-2.amazonaws.com"
    ],
    "ServicesRequiringWriteObjectAccess": [
      "rds.amazonaws.com",
      "ec2.amazonaws.com",
      "logs.ap-southeast-2.amazonaws.com"
    ],
    "EnforceSecureTransport": true,
    "AccessAllowedIpRanges": [
      "1.0.0.0/24",
      "2.0.0.0/24"
    ],
    "Tags": [
      "{\"Key\": \"foo\", \"Value\": \"bar\"}",
      "{ \"Key\": \"testkey\",\"Value\": \"testvalue\" }"
    ]
  }
}
```