

# 태그가 있는 디렉터리 버킷 생성
<a name="directory-bucket-create-tag"></a>

Amazon S3 디렉터리 버킷을 생성할 때 태그를 지정할 수 있습니다. 디렉터리 버킷에서 태그를 사용하는 데 표준 S3 API 요청 속도 외에는 추가 요금이 부과되지 않습니다. 자세한 내용은 [Amazon S3 요금](https://docs.aws.amazon.com/s3/pricing/)을 참조하세요. 디렉터리 버킷 태그 지정에 대한 자세한 내용은 [S3 디렉터리 버킷에서 태그 사용](directory-buckets-tagging.md) 섹션을 참조하세요.

## 권한
<a name="create-tag-permissions"></a>

태그가 있는 디렉터리 버킷을 생성하려면 다음 권한이 있어야 합니다.
+ `s3express:CreateBucket`
+ `s3express:TagResource`

## 오류 해결
<a name="create-tag-troubleshooting"></a>

태그가 있는 디렉터리 버킷을 생성하려고 할 때 오류가 발생하면 다음을 수행할 수 있습니다.
+ 디렉터리 버킷을 생성하고 여기에 태그를 추가하는 데 필요한 [권한](#create-tag-permissions)이 있는지 확인합니다.
+ IAM 사용자 정책에서 속성 기반 액세스 제어(ABAC) 조건을 확인합니다. 디렉터리 버킷에 특정 태그 키 및 값으로만 레이블을 지정해야 할 수 있습니다. 자세한 내용은 [속성 기반 액세스 제어(ABAC)에 태그 사용](tagging.md#using-tags-for-abac) 섹션을 참조하세요.

## 단계
<a name="create-tag-steps"></a>

Amazon S3 콘솔, AWS Command Line Interface(AWS CLI), Amazon S3 REST API, AWS SDK를 사용하여 태그가 적용된 디렉터리 버킷을 생성할 수 있습니다.

## S3 콘솔 사용
<a name="directory-bucket-create-tag-console"></a>

Amazon S3 콘솔을 사용하여 태그가 있는 디렉터리 버킷을 만드는 방법:

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 Amazon S3 콘솔에 로그인합니다.

1. 왼쪽 탐색 창에서 **디렉터리 버킷**을 선택합니다.

1. 새 디렉터리 버킷을 만들려면 **버킷 만들기**를 선택합니다.

1. 두 가지 유형의 디렉터리 버킷을 생성할 수 있습니다.

   고성능 워크로드를 위해 가용 영역에 디렉터리 버킷을 생성합니다. 자세한 내용은 [고성능 워크로드](directory-bucket-high-performance.md) 섹션을 참조하세요.

   로컬 영역에서 데이터 레지던시 워크로드를 위한 디렉터리 버킷을 생성합니다. 자세한 내용은 [데이터 레지던시 워크로드](directory-bucket-data-residency.md) 섹션을 참조하세요.

1. 두 디렉터리 버킷 유형 모두 **버킷 만들기** 페이지에서 새 디렉터리 버킷을 생성할 때 **태그**가 옵션입니다.

1. 버킷의 이름을 입력합니다. 자세한 내용은 [디렉터리 버킷 이름 지정 규칙](directory-bucket-naming-rules.md) 섹션을 참조하세요.

1. **새 태그 추가**를 선택하여 태그 편집기를 열고 태그 키-값 페어를 입력합니다. 태그 키는 필수지만 값은 선택 사항입니다.

1. 다른 태그를 추가하려면 **새 태그 추가**를 다시 선택합니다. 최대 50개의 태그 키-값 페어를 입력할 수 있습니다.

1. 새 디렉터리 버킷에 대한 옵션 지정을 완료한 후 **버킷 만들기**를 선택합니다.

## AWS SDK 사용
<a name="directory-bucket-create-tag-sdks"></a>

------
#### [ SDK for Java 2.x ]

이 예시는 AWS SDK for Java 2.x를 사용하여 태그가 있는 디렉터리 버킷을 만드는 방법을 보여줍니다. 명령을 사용하려면 *사용자 입력 자리 표시자*를 사용자의 정보로 대체합니다.

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.BucketInfo;
import software.amazon.awssdk.services.s3.model.BucketType;
import software.amazon.awssdk.services.s3.model.CreateBucketConfiguration;
import software.amazon.awssdk.services.s3.model.CreateBucketRequest;
import software.amazon.awssdk.services.s3.model.CreateBucketResponse;
import software.amazon.awssdk.services.s3.model.DataRedundancy;
import software.amazon.awssdk.services.s3.model.LocationInfo;
import software.amazon.awssdk.services.s3.model.LocationType;
import software.amazon.awssdk.services.s3.model.Tag;

public class CreateBucketWithTagsExample {
    public static void createBucketWithTagsExample() {
        S3Client s3 = S3Client.builder().region(Region.US_WEST_2).build();

        CreateBucketConfiguration bucketConfiguration = CreateBucketConfiguration.builder()
                .location(LocationInfo.builder()
                        .type(LocationType.AVAILABILITY_ZONE)
                        .name("usw2-az1").build())
                .bucket(BucketInfo.builder()
                        .type(BucketType.DIRECTORY)
                        .dataRedundancy(DataRedundancy.SINGLE_AVAILABILITY_ZONE)
                        .build())
                .tags(Tag.builder().key("MyTagKey").value("MyTagValue").build())
                .build();

        CreateBucketRequest createBucketRequest = CreateBucketRequest.builder()
                .bucket("amzn-s3-demo-bucket--usw2-az1--x-s3--usw2-az1--x-s3")
                .createBucketConfiguration(bucketConfiguration)
                .build();

        CreateBucketResponse response = s3.createBucket(createBucketRequest);
        System.out.println("Status code (should be 200):");
        System.out.println(response.sdkHttpResponse().statusCode());
    }
}
```

------

## REST API 사용
<a name="directory-bucket-tag-delete-api"></a>

태그가 있는 디렉터리 버킷을 만들기 위한 Amazon S3 REST API 지원에 대한 자세한 내용은 *Amazon Simple Storage Service API 참조*의 다음 섹션을 참조하세요.
+ [:CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)

## AWS CLI 사용
<a name="directory-bucket-create-tag-cli"></a>

AWS CLI를 설치하려면 *AWS Command Line Interface 사용 설명서*에서 [AWS 설치](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)를 참조하세요.

다음 CLI 예시는 AWS CLI를 사용하여 태그가 있는 디렉터리 버킷을 만드는 방법을 보여줍니다. 명령을 사용하려면 *사용자 입력 자리 표시자*를 사용자의 정보로 대체합니다.

디렉터리 버킷을 생성할 때는 구성 세부 정보를 제공하고 다음과 같은 명명 규칙을 사용해야 합니다. `bucket-base-name--zone-id--x-s3` 

**요청:**

```
aws s3api create-bucket \
--bucket bucket-base-name--zone-id--x-s3 \
--create-bucket-configuration "Location={Type=AvailabilityZone,Name=zone-id},Bucket={DataRedundancy=SingleAvailabilityZone,Type=Directory},Tags=[{Key=mykey1,Value=myvalue1}, {Key=mykey2,Value=myvalue2}]"
```

**응답:**

```
{
  "Location": "http://bucket--use1-az4--x-s3.s3express-use1-az4.us-east-1.amazonaws.com/"
}
```