Terraform部署AWS EC2实例时架构不匹配错误求助
问题分析与解决:EC2实例架构不匹配错误
错误原因
你遇到的错误核心是架构不兼容:
- 指定的实例类型
t2.micro属于x86_64(i386,x86_64)架构 - 使用的AMI
ami-007855ac798b5175e是arm64架构
EC2要求实例类型和AMI的架构必须一致才能启动,你误以为复制的是x86架构AMI,但实际该AMI为arm64架构。
解决方案
方案1:更换为x86_64架构的AMI
在us-east-1区域,替换成对应x86架构的常用镜像即可,比如:
- Amazon Linux 2 x86 AMI:
ami-0c55b159cbfafe1f0 - Ubuntu 22.04 LTS x86 AMI:
ami-08c40ec9ead489470
修改后的Terraform代码示例:
provider "aws" { region = "us-east-1" access_key = "...//key" secret_key = "...//key" } resource "aws_instance" "my-first-server" { ami = "ami-0c55b159cbfafe1f0" instance_type = "t2.micro" }
方案2:更换为arm64架构的实例类型
如果想保留当前的arm64 AMI,需要换成支持arm架构的实例类型,比如免费套餐支持的t4g.micro:
修改后的Terraform代码示例:
provider "aws" { region = "us-east-1" access_key = "...//key" secret_key = "...//key" } resource "aws_instance" "my-first-server" { ami = "ami-007855ac798b5175e" instance_type = "t4g.micro" }
验证方法(可选)
你可以通过AWS CLI确认架构信息:
- 查看指定AMI的架构:
aws ec2 describe-images --image-ids ami-007855ac798b5175e --query 'Images[0].Architecture' - 查看指定实例类型支持的架构:
aws ec2 describe-instance-types --instance-types t2.micro --query 'InstanceTypes[0].ProcessorInfo.SupportedArchitectures'
内容的提问来源于stack exchange,提问作者anyway07
相关产品推荐
相关产品推荐

