cloudformation模板中的现有动态AWS资源

时间:2020-06-05 07:38:47

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

我已经通过AWS控制台创建了AWS网络资源(VPC,子网,IGW等)。 现在,我正在尝试创建一个由这些现有和新资源组成的cloudformation堆栈。 为了实现堆栈中的现有资源,我正在使用Parameters

Parameters:
  VpcId:
    Description: VPC Id
    Type: AWS::EC2::VPC::Id

  PublicSubnetId1:
    Description: Public Subnet 1
    Type: AWS::EC2::Subnet::Id

  PublicSubnetId2:
    Description: Public Subnet 2
    Type: AWS::EC2::Subnet::Id

  InternetGateway:
    Type: AWS::EC2::InternetGateway::Id

问题1:这是正确的方法吗? (由于我们有差异环境,因此可以处理动态AWS资源,我正在这样做)

问题2:我可以通过VPC,子网设置参数,但不能通过Internet网关设置参数。如何将internetgateway用作参数?

谢谢

1 个答案:

答案 0 :(得分:1)

问题1:这是正确的方法吗? (由于我们有差异环境,因此可以处理动态AWS资源,我正在这样做)

这是执行此操作的一种方法。如果您希望能够在创建模板时选择其他子网或vpc,则可以。但是,如果VPC和子网是固定的,并且没有变化,则可能最好从它们自己的堆栈中export,将它们import结束在其他堆栈中。这样,其他堆栈可以轻松地引用它们,并且由于不需要为每个新堆栈提供所有这些参数,因此简化了堆栈的部署。

问题2:我可以通过VPC,子网设置参数,但不能通过Internet网关设置参数。如何将internetgateway用作参数?

不幸的是,有no such parameterAWS::EC2::InternetGateway::Id。在这种情况下,您将必须使用String

  InternetGateway:
    Type: String