AWS Cloudformation 模板 - 在 S3 存储桶中设置区域

Posted

技术标签:

【中文标题】AWS Cloudformation 模板 - 在 S3 存储桶中设置区域【英文标题】:AWS Cloudformation Template - Set Region in S3 Bucket 【发布时间】:2017-01-28 00:00:37 【问题描述】:

我正在尝试在特定区域 (us-west-2) 创建一个 s3 存储桶。 使用 Cloudformation 模板似乎无法做到这一点。 有任何想法吗?我没有使用我读到的 service-region-hash 约定明确命名它。

 Template:
 
     "AWSTemplateFormatVersion": "2010-09-09",
     "Resources": 
       "S3Bucket": 
         "Type": "AWS::S3::Bucket",
         "Properties": 
           "AccessControl": "PublicReadWrite",
         
       
     ,
     "Outputs": 
       "BucketName": 
         "Value": 
           "Ref": "S3Bucket"
         ,
         "Description": "Name of the sample Amazon S3 bucket with a lifecycle configuration."
       
     
   

【问题讨论】:

【参考方案1】:

如果您想在特定区域创建 s3 存储桶,您需要从该区域运行 Cloudformation JSON 模板。

cloudFormation 的端点 URL 基于区域(https://aws.amazon.com/cloudformation/faqs/?nc1=h_ls#regions 和 http://docs.aws.amazon.com/general/latest/gr/rande.html#cfn_region),您不能像今天那样交叉检查区域。

我看到它已经在 aws 支持线程上讨论过几次,所以将来可能会做一些事情

存储桶是在 1 个区域内创建的,当您需要访问它时,您需要将该区域传递给 s3 端点。

如果您想启用跨区域复制,您可以使用 ReplicationConfiguration 属性从云形成模板中执行此操作

【讨论】:

谢谢@frédéric-henri。因此,为了进行跨区域复制,操作是将其放入脚本运行器并将其分解为两个模板。 好吧,没有跨区域复制是另一回事 - 它是 Json 的可用属性 - 请参阅编辑 据我所知,json 的可用属性实际上并没有设置角色和存储桶。我试图加载 json 并得到 bucket must already exist 错误。似乎这只是 api 管理的指导。

以上是关于AWS Cloudformation 模板 - 在 S3 存储桶中设置区域的主要内容,如果未能解决你的问题,请参考以下文章

AWS Inspector 的 AWS CloudFormation 模板能否添加 SNS 主题

如何使用 aws cloudformation 模板在 aws cognito 用户池中设置所需属性?

如何在 AWS CloudFormation YAML 模板中转义策略变量

aws cloudformation 模板 sns sqs

AWS::ElasticBeanstalk::ConfigurationTemplate 的 AWS CloudFormation 模板失败

迭代模板中的 AWS cloudformation 资源数组