Amazon S3 に account regional namespaces が追加されて、
S3 バケットの命名まわりがかなり分かりやすくなりそうだったのでメモです。
何が変わったのか
これまでの S3 の汎用バケットは、グローバル名前空間で一意である必要がありました。
例えばこんな名前は早い者勝ちです。
logsdatabackup
当然ながら、実際にはこんなの取れないので、
AWS 公式で推奨されていたわけではなく、衝突回避のために各自で工夫していたケースが多かった
と思います。
新しい命名規則
今回追加された Account Regional Namespace では、
この Namespace を選んでBucket を作る場合、
Bucket 名は次の形式になります。
{bucket-name-prefix}-{AWSアカウントID}-{リージョン}-an
例:
my-bucket-123456789012-ap-northeast-1-an
ポイントは末尾の -an です。
AWSアカウント上で確認してみます。
{AWSアカウントID}-{リージョン}-anが必ず末尾につくようになっています。
これによりアカウントIDとリージョンが強制され、他と競合しないようになります。
何がうれしいのか
従来の S3 バケット命名では、次のような点を意識する必要がありました。
- 既に使われていないか気にする
- 他アカウントや他チームとの衝突を避ける
- 仕方なく乱数を盛る
- 結果として長くて覚えにくい名前になる
新方式だと、少なくとも 命名の型がかなり明確 になります。
これまでは「この名前まだ空いてる?」を意識しがちでしたが、
今後はかなり整理しやすくなるはずです。
利用方法
現時点(2026/03/13 時点)では、少なくとも AWS の公式アナウンス上は
この機能の利用手段として Console / REST API / AWS CLI / AWS SDK / CloudFormation
が案内されています。
一方で、Terraform(hashicorp/aws provider)については公式案内に含まれておらず、
専用に Account Regional namespace を選択する設定も見当たらませんでした。
そのため、Terraform でのサポート状況は今後の provider 更新を確認したほうがよさそうです。
さいごに
S3 の命名って地味だけど、IaC や運用の現場ではずっと効いてくる部分なので、
こういう改善はかなり嬉しいです。
個人的には神アプデ。
参考
-
AWS What's New
Amazon S3 introduces account regional namespaces for buckets
https://aws.amazon.com/jp/about-aws/whats-new/2026/03/amazon-s3-account-regional-namespaces/ -
Classmethod
Amazon S3 に追加された account regional namespace を試してみた
https://dev.classmethod.jp/articles/update-amazon-s3-account-regional-namespaces/ -
Amazon S3 bucket naming rules
https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html
