我已经通过AWS控制台创建了AWS网络资源(VPC,子网,IGW等).现在,我正试图创建一个由这些现有资源组成的cloudformation栈。
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:这是正确的方法吗?(因为我们有不同的环境,所以要处理动态的AWS资源,我这样做)
这是一种方法。如果你想在创建模板时能够选择不同的子网或vpc,那么它就可以。然而,如果VPC和子网是固定的,不改变,可能更好的是 出口 他们从自己的堆栈,结束他们 输入 他们在其他堆栈中。这样其他堆栈可以很容易地引用它们,而且你已经简化了你的堆栈的部署,因为你不需要为每个新的堆栈提供所有这些参数。
问题2:我可以设置VPC和子网的参数,但不能设置Internet网关的参数。如何将Internetgateway作为参数?
不幸的是,有 无此参数 喜欢 AWS::EC2::InternetGateway::Id
. 在这种情况下,你将不得不使用 String
:
InternetGateway:
Type: String