区域之间基础上的Amazon Machine ImageAMI的AWS即AMI ID不同的主要原因是什么?

问题描述

Amazon Machine Image(AMI)在AWS中的AMI ID因地区而异的主要原因是什么

 "AWSRegionArch2AMI": {
        "us-east-1": {
            "HVM64": "ami-0080e4c5bc078760e","HVMG2": "ami-0aeb704d503081ea6"
        },"us-west-2": {
            "HVM64": "ami-01e24be29428c15b2","HVMG2": "ami-0fe84a5b4563d8f27"
        },"us-west-1": {
            "HVM64": "ami-0ec6517f6edbf8044","HVMG2": "ami-0a7fc72dc0e51aa77"
        },"eu-west-1": {
            "HVM64": "ami-08935252a36e25f85","HVMG2": "ami-0d5299b1c6112c3c7"
        },"eu-west-2": {
            "HVM64": "ami-01419b804382064e4","HVMG2": "NOT_SUPPORTED"
        },"eu-west-3": {
            "HVM64": "ami-0dd7e7ed60da8fb83",

解决方法

每个AWS区域都是独立的。

将AMI复制到另一个区域时,它就是“不同的AMI”。例如,删除一个区域中的AMI不会影响另一区域中该AMI的副本。这同样适用于AWS提供的AMI。

我看到您需要Amazon Linux 2 AMI。除了使用映射(可能会过时)之外,更好的方法是使用AWS Systems Manager参数存储来自动获取“最新的” AMI 。这将自动适用于所使用的区域。

这是Query for the latest Amazon Linux AMI IDs using AWS Systems Manager Parameter Store | AWS Compute Blog中的一个示例,该示例显示了如何在 AWS CloudFormation模板中进行此操作:

# Use public Systems Manager Parameter
Parameters:
  LatestAmiId:
    Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>'
    Default: '/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2'

Resources:
 Instance:
    Type: 'AWS::EC2::Instance'
    Properties:
      ImageId: !Ref LatestAmiId

另请参阅:Public parameters - AWS Systems Manager