오늘은 자체 계정의 리전 네임스페이스에서 범용 버킷을 만들어 데이터 스토리지 크기와 범위 요구 사항이 늘어남에 따라 버킷 생성과 관리를 간소화해 주는 Amazon Simple Storage Service(Amazon S3) 새 기능을 발표합니다. 여러 AWS 리전에서 범용 버킷 이름을 생성하면서도 원하는 버킷 이름을 항상 사용할 수 있도록 보장할 수 있습니다. 이 기능을 사용하면 요청한 버킷 이름에 계정의 고유한 접미사를 […] ||
오늘은 자체 계정의 리전 네임스페이스에서 범용 버킷을 만들어 데이터 스토리지 크기와 범위 요구 사항이 늘어남에 따라 버킷 생성과 관리를 간소화해 주는 Amazon Simple Storage Service(Amazon S3) 새 기능을 발표합니다. 여러 AWS 리전에서 범용 버킷 이름을 생성하면서도 원하는 버킷 이름을 항상 사용할 수 있도록 보장할 수 있습니다.
이 기능을 사용하면 요청한 버킷 이름에 계정의 고유한 접미사를 첨부해 본인 계정의 리전 네임스페이스에 예측 가능한 형태로 이름을 지정하고 범용 버킷을 생성할 수 있습니다. 예를 들어 제 계정의 리전 네임스페이스에 버킷 mybucket-123456789012-us-east-1-an을 생성할 수 있습니다. 여기서 mybucket이 제가 지정한 버킷 이름 접두사이고, 그 뒤에 요청한 버킷 이름에 계정 리전 접미사 -123456789012-us-east-1-an을 추가합니다. 다른 계정이 제 계정의 접미사를 사용해 버킷을 생성하려 하면 해당 요청은 자동으로 거부됩니다.
보안 팀에서 AWS Identity and Access Management(AWS IAM) 정책과 AWS Organizations 서비스 제어 정책을 사용해 직원들이 새로운 s3:x-amz-bucket-namespace 조건 키를 사용해 본인 계정의 리전 네임스페이스에서만 버킷을 생성하도록 할 수 있습니다. 이렇게 하면 조직 전체에서 계정 리전 네임스페이스를 채택하는 데 도움이 됩니다.
계정 리전 네임스페이스로 S3 버킷 생성 실제 사례
시작하려면, Amazon S3 콘솔에서 버킷 생성을 선택합니다. 계정 리전 네임스페이스에서 버킷을 생성하려면 계정 리전 네임스페이스를 선택합니다. 이 옵션을 선택하면 해당 계정과 리전에만 고유한 아무 이름으로나 버킷을 생성할 수 있습니다.
이 구성은 글로벌 네임스페이스의 범용 버킷으로도 같은 기능을 모두 지원합니다. 유일한 차이점은 계정의 접미사를 포함한 버킷 이름은 해당 계정만 사용할 수 있다는 점입니다. 버킷 이름 접두사와 계정 리전 접미사를 합한 길이는 3~63자여야 합니다.
AWS Command Line Interface(AWS CLI)를 사용하여 x-amz-bucket-namespace:account-regional 요청 헤더를 지정하고 호환되는 버킷 이름을 입력해 계정 리전 네임스페이스를 사용한 버킷을 생성할 수 있습니다.
$ aws s3api create-bucket --bucket mybucket-123456789012-us-east-1-an \
--bucket-namespace account-regional \
--region us-east-1
AWS SDK for Python(Boto3)을 사용해 CreateBucket API 요청으로 계정 리전 네임스페이스를 사용한 버킷을 생성할 수 있습니다.
import boto3
class AccountRegionalBucketCreator:
"""Creates S3 buckets using account-regional namespace feature."""
ACCOUNT_REGIONAL_SUFFIX = "-an"
def __init__(self, s3_client, sts_client):
self.s3_client = s3_client
self.sts_client = sts_client
def create_account_regional_bucket(self, prefix):