gpt4 book ai didi

amazon-web-services - 克服 S3 全局存储桶名称的唯一性要求

转载 作者:行者123 更新时间:2023-12-04 08:09:41 25 4
gpt4 key购买 nike

我们已将开发/测试/生产等工作负载分离到 AWS Orgnaizations 的不同账户中。 https://aws.amazon.com/organizations/

S3 要求存储桶名称在全局范围内是唯一的。因此,我们不能在每个帐户中都有一个 S3 存储桶,例如“OurS3Data”。我们可以在账户之间共享一个桶,但我们不想在账户之间混合数据。

有什么策略可以克服这个问题?

我考虑过使用 Route53/DNS 指向不同的存储桶,因此“OurS3Data.CompanyInternal.Com”始终指向帐户内特定于帐户的存储桶 - 但我们使用多个版本的 AWS SDK 从代码中引用此存储桶,并且我很确定这不受支持。

我们还考虑过在 AWS Systems Manager Parameter Store 中存储一个参数,但这似乎是一个杂凑 https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html

最佳答案

通常,您应该从配置中读取所有 外部标识符(存储桶名称、数据库名称等)。如果您对标识符进行硬编码,则意味着您必须重建软件才能更改任何内容。

有许多不同的方式来存储这个配置。 Parameter store 是个好东西,因为它和账户绑定(bind),还支持secret的加密存储。

其他一些方法包括部署机器上已知位置的外部配置文件、环境变量(这是 12 factor app 的首选方法)或不同的配置服务,例如 Consul .

更新

就我个人而言,我认为这是 hack,但如果您真的没有任何其他方法来管理配置...

以您的账户 ID 命名您的存储桶,并使用 AWSSecurityTokenService.getCallerIdentity() 检索该 ID。如果您不想使用实际 ID 作为存储桶名称,您可以应用哈希函数(但请注意存储桶名称限制为 63 个字符)。

关于amazon-web-services - 克服 S3 全局存储桶名称的唯一性要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53544337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com