You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取适配区域的Amazon Linux 2正确AMI ID(CloudFormation场景)

在CloudFormation中按区域获取正确的Amazon Linux 2 AMI ID

方法一:使用AWS Systems Manager参数存储(推荐)

AWS官方维护了一组公共SSM参数,会自动按区域更新最新的Amazon Linux 2 AMI ID,无需手动维护。在CloudFormation中可直接引用这些参数:

Parameters:
  AmazonLinux2AMI:
    Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
    # x86_64架构的默认参数路径
    Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2
    # ARM64架构请替换为:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2

Resources:
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref AmazonLinux2AMI
      InstanceType: t2.micro

该方法的核心优势是参数随AWS官方更新自动同步,彻底避免手动维护AMI ID的繁琐。

方法二:使用区域映射表

若需指定特定版本的AMI或自定义筛选规则,可手动创建区域映射表,通过Fn::FindInMap按当前区域匹配:

Mappings:
  AmazonLinux2AMIMapping:
    us-east-1:
      AMIID: ami-0cff7528ff583bf9a
    us-west-2:
      AMIID: ami-0194c3e07668a7e36
    eu-west-1:
      AMIID: ami-0d527b8c289b4af7f
    # 按需添加其他区域的有效AMI ID

Resources:
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !FindInMap [AmazonLinux2AMIMapping, !Ref 'AWS::Region', AMIID]
      InstanceType: t2.micro

注意:此方法需定期手动更新映射表中的AMI ID,确保镜像处于可用状态。

补充:修复aws ec2 describe-images命令的问题

你之前使用官方命令未找到正确AMI,大概率是缺少精确过滤条件。正确的命令应为:

aws ec2 describe-images --owners amazon \
  --filters "Name=name,Values=amzn2-ami-hvm-*-x86_64-gp2" "Name=state,Values=available" \
  --query "Images[0].ImageId" --output text

通过指定镜像名称前缀和可用状态,即可筛选出当前区域最新的Amazon Linux 2 HVM镜像。

内容的提问来源于stack exchange,提问作者David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 01:47:11