gpt4 book ai didi

amazon-web-services - CloudFormer 生成的模板在其他区域运行时失败

转载 作者:行者123 更新时间:2023-12-04 08:04:20 25 4
gpt4 key购买 nike

我在我的一个区域设置了一个 CloudFormer 实例。我为我的一个实例(包括 VPC、安全组等)生成一个模板,然后尝试通过确保将可用区域切换到新区域 (us-east-1a) 在另一个区域中创建堆栈-> us-west-1a 等),但在尝试创建 EC2 实例时遇到以下错误:图像 ID“[ami-xxxxxxxx]”不存在。

是否需要先手动将镜像复制到其他区域?有没有办法使用 cloudformer 生成的模板来做到这一点?模板如何确定此 AMI 来自何处?

谢谢,

最佳答案

您必须将 AMI 复制到您想要使用它的每个区域。此功能可在 AWS 控制台中使用。选择 AMI,然后将显示将其复制到另一个区域的选项。请参阅AWS provided instructions .

无法让模板发现某个区域中没有 AMI,然后将 AMI 复制到所需的区域。

要指定哪些 AMI 与哪些区域匹配,您应该指定一个映射(来自 AWS Cloudformation 示例模板):

"Mappings" : {
"AWSInstanceType2Arch" : {
"m1.small" : { "Arch" : "64" },
"m1.medium" : { "Arch" : "64" },
"m1.large" : { "Arch" : "64" },
"m1.xlarge" : { "Arch" : "64" },
"m2.xlarge" : { "Arch" : "64" },
"m2.2xlarge" : { "Arch" : "64" },
"m2.4xlarge" : { "Arch" : "64" },
"c1.medium" : { "Arch" : "64" },
"c1.xlarge" : { "Arch" : "64" }
},
"AWSRegionArch2AMI" : {
"us-east-1" : {"64" : "ami-7614ac1e"},
"us-west-1" : {"64" : "ami-2f43566a"},
"us-west-2" : {"64" : "ami-e5f7bbd5"},
"eu-west-1" : {"64" : "ami-32228e45"},
"ap-southeast-1" : {"64" : "ami-c6634294"},
"ap-southeast-2" : {"64" : "ami-995c31a3"},
"ap-northeast-1" : {"64" : "ami-73d0e672"},
"sa-east-1" : {"64" : "ami-77a1156a"}
}

},

映射部分通常位于参数部分之后。

然后您按如下方式引用您的 ami:

"ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" },
{ "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ] } ] },

关于amazon-web-services - CloudFormer 生成的模板在其他区域运行时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26508877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com