我已经通过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用作参数?
谢谢
答案 0 :(得分:1)
问题1:这是正确的方法吗? (由于我们有差异环境,因此可以处理动态AWS资源,我正在这样做)
这是执行此操作的一种方法。如果您希望能够在创建模板时选择其他子网或vpc,则可以。但是,如果VPC和子网是固定的,并且没有变化,则可能最好从它们自己的堆栈中export,将它们import结束在其他堆栈中。这样,其他堆栈可以轻松地引用它们,并且由于不需要为每个新堆栈提供所有这些参数,因此简化了堆栈的部署。
问题2:我可以通过VPC,子网设置参数,但不能通过Internet网关设置参数。如何将internetgateway用作参数?
不幸的是,有no such parameter像AWS::EC2::InternetGateway::Id
。在这种情况下,您将必须使用String
:
InternetGateway:
Type: String