该ec2-run-instances
命令需要一个 AMI ID,并且该 ID 在所有区域中都不同。有什么方法可以指定我需要一个适用于区域 x / 区域 y 和 instance_type z 的 AMI?
换句话说,我需要一种方法来使用一些“默认”AMI,以便我可以编写一个适用于所有 EC2 区域的脚本。
该ec2-run-instances
命令需要一个 AMI ID,并且该 ID 在所有区域中都不同。有什么方法可以指定我需要一个适用于区域 x / 区域 y 和 instance_type z 的 AMI?
换句话说,我需要一种方法来使用一些“默认”AMI,以便我可以编写一个适用于所有 EC2 区域的脚本。
没有什么类似于Amazon EC2的默认 AMI ,也没有在每个区域具有不同 ID 的其他相同 AMI 中选择默认(或者更确切地说是特定于区域)AMI 的概念(尽管区域独立的 AMI ID 将是一个很好的改进) .
这通常通过向您的脚本添加相应的映射来解决,因此取决于使用的脚本环境(一个简单的映射应该始终以某种方式可用) - 例如AWS CloudFormation本身使用完全相同的方法,请参阅示例EC2ChooseAMI.template,其中是使用映射根据区域和实例类型选择 AMI 的示例。
AWSRegionArch2AMI地图可以满足您的需求,并且还提供了架构选择(这暗示了为什么默认 AMI ID 不能像一见钟情那样容易实施)。