글로벌 네임스페이스와 싸우지 마세요: 새로운 S3 버킷 네이밍 스코프 설명
Source: Dev.to
Background: why S3 bucket naming has been difficult
역사적으로 S3 버킷 이름은 단일 전역 네임스페이스에 존재했습니다. 어떤 AWS 고객이 company-logs 라는 버킷을 만들면, 그 이름은 지역이나 계정에 관계없이 모든 사람에게 사용할 수 없게 됩니다.
실제로 이는 여러 일반적인 문제를 야기했습니다:
- 무작위 접미사(예:
company-logs-8f3c2a)가 필요해지면서 일관성 없는 네이밍 표준 - 고유한 이름을 생성하고 전파하기 위한 인프라‑as‑code(IaC) 모듈의 복잡성 증가
- 일시적인 환경에서 예측 가능한 이름을 만들려 할 때 자동화가 깨지는 경우
- 일관된 버킷 네이밍 패턴을 원했던 다중 계정 조직에서의 운영 부담
Account and regional namespaces for Amazon S3 general purpose buckets
계정 및 지역 네임스페이스를 도입함으로써 S3는 버킷 이름에 대해 보다 실용적인 스코핑 모델을 제공합니다. 고유성은 이제 더 좁은 범위 내에서 강제됩니다:
AWS account + AWS region + bucket name이를 통해 조직은 전역 고유성 전략에 의존하지 않고도 계정 및 지역별로 명확하고 표준화된 버킷 이름을 사용할 수 있습니다.
Benefits
- 팀이
logs,assets,backups와 같이 계정 및 환경별로 일관된 이름을 무작위성을 추가하지 않고 채택 가능 - 버킷 생성이 다른 AWS 고객이 이미 사용 중인 이름에 의해 차단되지 않으므로 자동화 배포가 더 예측 가능해짐
- 이름 생성, 충돌 방지, 종속 서비스 간 이름 배포를 위한 로직을 줄여 IaC 템플릿을 단순화할 수 있음
Considerations
- 새로운 버킷에 대해서는 계정/지역 네임스페이스 채택을 우선 고려
- 기존 프로덕션 버킷을 명확한 마이그레이션 계획 없이 이름을 변경하지 말 것. 버킷 이름이 다음에 포함될 수 있음:
- 애플리케이션 구성 및 엔드포인트
- IAM 정책 및 서드파티 통합
- 복제 및 데이터 파이프라인 의존성
Amazon S3 일반 목적 버킷에 대한 계정 및 지역 네임스페이스는 오랫동안 지속돼 온 사용성 문제를 해결하는 실용적인 개선입니다. 버킷 이름 고유성을 계정과 지역으로 제한함으로써 AWS는 더 일관된 네이밍 표준을 가능하게 하고, 자동화 실패를 줄이며, 특히 다중 계정 AWS 환경을 운영하는 조직의 운영 복잡성을 낮춥니다.
AWS News Blog — Introducing account regional namespaces for Amazon S3 general purpose buckets