在cloudformation json模板中添加PublicSubnet/PrivateSubnet的正确方法?
我试图在海量Cloudformation json模板中添加VPC。 这是我在“参数”下添加的内容: 这是我在“资源”下添加的内容: 我得到一个错误: 模板验证错误:模板错误:映射名为 模板的“映射”部分中不存在“SubnetConfig” 我在AWS文档中找到了所有这些东西,并与github中的共享示例进行了比较。 我应该放置什么映射名称和位置? 或者我应该从错误输出中理解什么? 也许我错过了一些额外的资源在cloudformation json模板中添加PublicSubnet/PrivateSubnet的正确方法?,json,amazon-web-services,amazon-cloudformation,Json,Amazon Web Services,Amazon Cloudformation,我试图在海量Cloudformation json模板中添加VPC。 这是我在“参数”下添加的内容: 这是我在“资源”下添加的内容: 我得到一个错误: 模板验证错误:模板错误:映射名为 模板的“映射”部分中不存在“SubnetConfig” 我在AWS文档中找到了所有这些东西,并与github中的共享示例进行了比较。 我应该放置什么映射名称和位置? 或者我应该从错误输出中理解什么? 也许我错过了一些额外的资源 谢谢 您正在调用函数“Fn::FindInMap”:[“SubnetConfig”、“
谢谢 您正在调用函数
“Fn::FindInMap”:[“SubnetConfig”、“Private”、“CIDR”]
,但在模板的“Mappings”部分中,没有“SubnetConfig”
看一看报纸。有一个示例显示了模板的“资源”部分旁边的“映射”部分。在“映射”中,您应该声明如下内容:
"Mappings" : {
...,
"SubnetConfig" : {
"Public" : { "CIDR" : "123.456.789.0/24" },
"Private" : { "CIDR" : "123.456.789.0/24" },
}
},
"VPC": {
"Type": "AWS::EC2::VPC",
"Properties": {
"CidrBlock": "172.0.0.0/16",
"EnableDnsSupport": true,
"EnableDnsHostnames": true
}
},
"PublicSubnet" : {
"Type" : "AWS::EC2::Subnet",
"Properties" : {
"VpcId" : { "Ref" : "VpcId" },
"CidrBlock": { "Fn::FindInMap" : [ "SubnetConfig", "Public", "CIDR" ]},
"Tags": [
{ "Key": "Application", "Value": { "Ref" : "AWS::StackName" } },
{ "Key": "Network", "Value": "Public" }
]
}
},
"PrivateSubnet" : {
"Type" : "AWS::EC2::Subnet",
"Properties" : {
"VpcId" : { "Ref" : "VpcId" },
"CidrBlock" : { "Fn::FindInMap" : [ "SubnetConfig", "Private", "CIDR" ]},
"Tags" : [
{ "Key" : "Application", "Value" : { "Ref" : "AWS::StackName" } },
{ "Key" : "Network", "Value" : "Private" }
]
}
}
}
"Mappings" : {
...,
"SubnetConfig" : {
"Public" : { "CIDR" : "123.456.789.0/24" },
"Private" : { "CIDR" : "123.456.789.0/24" },
}
},