【问题标题】:CloudFormation Inside VPC?VPC 内部的 CloudFormation?
【发布时间】:2014-08-03 18:31:21
【问题描述】:

我知道我可以使用 CloudFormation 创建资源,还可以使用 CloudFormation 创建一个 VPC 以及其中的资源。

我可以使用 CloudFormation 模板在预先存在的 VPC 中创建堆栈吗?例如,假设我的公司有一个 VPC,有一个服务段、一些生产段(私有和公共),也许还有一些开发段。

我想在 VPC 中使用自己的 CloudFormation 模板定义每组服务 - 服务、生产环境、开发环境。

我可以这样做吗?

【问题讨论】:

  • 在每个资源定义中使用subnet-id还不够?
  • 我不知道你可以!

标签: amazon-web-services amazon-cloudformation amazon-vpc


【解决方案1】:

是的,你可以。另一个文件中定义的堆栈对于主 JSON 是堆栈类型的资源。 当然,您必须告诉在哪里检索其他 JSON/YML 文件。

Cloudformation 并不容易,所以我建议尝试使用现有架构并逐步修改。

This example 应该可以帮到你。

【讨论】:

    【解决方案2】:

    有趣的是,我正要指出它应该是 List,但我对两者都进行了测试,并且您的方法也很有效。

    "VpcId" : {
      "Type" : "List<AWS::EC2::VPC::Id>",
      "Description" : "VpcId Ids"
    }
    

    【讨论】:

    • 啊。我看到列表意味着您可以在使用类型时输入值列表,而不是您有可用类型的列表。因此,对于从 drop 中获取的单个值,您的答案就是解决方案。
    【解决方案3】:

    由于这没有很好地记录,而且我看到的所有示例(包括 Julio 的)都只是使用提示手动输入 VPC ID 的字符串字段,这是最好的方法。

    您可以让您的模板通过显示所有现有 VPC 的下拉菜单提示您,让您选择一个。

    在您的模板中使用 AWS::EC2::VPC::Id 属性:

    {
      "Parameters" : {
        "VpcId" : {
          "Type" : "AWS::EC2::VPC::Id",
          "Description" : "VpcId of your existing Virtual Private Cloud (VPC)"
        }
      }
    }
    

    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html

    【讨论】:

    【解决方案4】:

    是的,你可以。您可以将子网 id 作为参数传递并在这些子网中创建资源,也可以将 vpc id 作为参数传递并在其中创建子网和资源。

    例如,此模板将在现有 VPC 内创建 RDS 数据库: https://s3.amazonaws.com/cloudformation-templates-us-east-1/RDS_VPC.template

    【讨论】:

    • 太好了,谢谢。我喜欢 cloudformation 的想法——过去的 AWS 部署是通过外部文档手动完成的——它是通过代码进行的基础设施管理,非常优雅。只是仍然对一些细节有所了解。
    • 我也可以吗?引用 VPC ID 并以这种方式创建新子网?
    • 好的,只需创建引用 vpc id 参数的子网资源!
    • 太棒了。我一直喜欢围绕 AWS 的广泛思考和大量文档,但通向您想要的东西的路径通常是模糊的。
    • @Julio_AWS_DevRel 通过使用 List<:ec2::securitygroup::id> 我们可以在参数部分获取安全组列表。但是我们如何对附加到特定 VPC 的安全组进行排序呢? stackoverflow.com/questions/46021670/…
    猜你喜欢
    • 1970-01-01
    • 2014-08-08
    • 2020-02-17
    • 2019-07-16
    • 2016-10-30
    • 2016-05-12
    • 2018-02-07
    • 2015-08-01
    • 1970-01-01
    相关资源
    最近更新 更多