S3 桶名不用再抢了:Account Regional Namespaces 来了

S3 桶名不用再抢了:Account Regional Namespaces 来了

用 Amazon S3 最烦的事之一:想好的桶名永远被占。因为桶名全球唯一,热门名字早就没了。

上周亚马逊云科技发了 S3 Account Regional Namespaces。简单说:你的账号有了专属命名空间,桶名只要在你的账号+区域内不重复就行。

桶名格式

复制代码
{名字}-{账号ID}-{区域}-an

比如 my-data-123456789012-us-east-1-an。别的账号用不了你的后缀。

CLI 创建

bash 复制代码
aws s3api create-bucket \
  --bucket my-data-123456789012-us-east-1-an \
  --bucket-namespace account-regional \
  --region us-east-1

Python SDK

python 复制代码
import boto3

s3 = boto3.client('s3')
sts = boto3.client('sts')

account_id = sts.get_caller_identity()['Account']
region = s3.meta.region_name
bucket_name = f"my-data-{account_id}-{region}-an"

params = {"Bucket": bucket_name, "BucketNamespace": "account-regional"}
if region != "us-east-1":
    params["CreateBucketConfiguration"] = {"LocationConstraint": region}

s3.create_bucket(**params)

CloudFormation

yaml 复制代码
Resources:
  MyBucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketNamePrefix: 'my-data'
      BucketNamespace: 'account-regional'

BucketNamePrefix 自动拼接后缀,连账号 ID 都不用写。

安全:强制用新命名空间

新的 condition key s3:x-amz-bucket-namespace,在 IAM 或 SCP 里可以要求所有新桶必须走 account-regional namespace。从组织层面统一管理。

注意事项

  • 现有桶不能改名迁移
  • 只支持通用桶(Table/Vector/Directory Buckets 已有账号级命名空间)
  • 前缀+后缀总共 3-63 字符
  • 免费,37 个区域可用

桶名冲突这个老问题终于有了官方解法。新建桶建议直接用。

相关推荐
zhojiew12 小时前
[INFRA] EMR集群LogPusher组件功能和运行原理分析
aws·emr·bigdata
zhojiew13 小时前
[INFRA] EMR集群CWagent组件功能和运行原理分析
aws·emr·bigdata
亚马逊云开发者19 小时前
MCP Server 终于能"记住"用户了:AgentCore 有状态会话实战
aws
zhojiew1 天前
[INFRA] EMR集群MetricsCollector组件功能和运行原理分析
aws·emr·bigdata
zhojiew1 天前
[INFRA] EMR集群Instance Controller组件功能和运行原理分析
aws·emr·bigdata
亚马逊云开发者2 天前
🔥 20 行代码搞定 AI Agent!查天气、算数学、读文档全包了
aws
亚马逊云开发者2 天前
被线上故障电话叫醒后,我花一下午搭了套零人工告警系统
aws
李白你好2 天前
云安全渗透测试框架 - 支持 AWS、Azure、GCP、阿里云、腾讯云、华为云的综合渗透测试工具和指南
阿里云·azure·aws
亚林瓜子3 天前
linux账号强制密码过期导致私钥文件登录异常问题——(current) UNIX password:
linux·运维·服务器·ssh·aws·ec2·chage