AWS EC2导出镜像报错:Unsupported architecture 183 for 6.2.0-1017-aws
解决AWS EC2导出AMI为VMDK时的"Unsupported architecture 183"错误
问题场景
执行以下AWS CLI命令导出AMI为VMDK格式时:
aws ec2 export-image --image-id <ami-id> --disk-image-format VMDK --s3-export-location S3Bucket=<bucket-name>,S3Prefix=exports/
任务立即被取消,返回错误:
ClientError: Unsupported architecture 183 for 6.2.0-1017-aws
涉及的镜像信息:
- 架构:x86_64
- 平台:Linux/UNIX
原因分析
"architecture 183"是AWS内部用于标识特定Nitro架构变体的代码,该错误通常源于以下情况:
- 原AMI基于特殊实例类型(如裸金属实例、部分加速实例)创建,其内核或虚拟化配置与
export-image工具不兼容 - 镜像内核(如6.2.0-1017-aws)包含定制化架构参数,导致导出工具无法识别
解决方案
1. 验证并更新AWS CLI版本
旧版CLI可能无法正确识别新的架构标识,先更新到最新版本:
# 基于pip的更新方式 pip install --upgrade awscli # 验证版本 aws --version
2. 重新构建兼容的AMI
原AMI的配置存在兼容性问题,需通过标准实例重新制作:
- 启动一个标准HVM实例(如t2.micro、t3.micro),使用目标AMI作为镜像
- 登录实例后,检查并调整内核配置:
- 编辑
/etc/default/grub文件,确保GRUB_CMDLINE_LINUX仅包含通用参数(移除任何与架构绑定的特殊选项) - 执行
update-grub更新引导配置,随后重启实例
- 编辑
- 从调整后的实例创建新的AMI,确保新AMI的虚拟化类型为
hvm
3. 使用新AMI执行导出
将命令中的<ami-id>替换为新创建的AMI ID,重新运行导出命令:
aws ec2 export-image --image-id <new-ami-id> --disk-image-format VMDK --s3-export-location S3Bucket=<bucket-name>,S3Prefix=exports/
备选方案:通过实例直接导出
如果上述方法仍无效,可尝试直接导出运行中的实例:
aws ec2 create-instance-export-task --instance-id <instance-id> --target-environment vmware --export-to-s3-task S3Bucket=<bucket-name>,S3Prefix=exports/
导出完成后,S3桶中的OVA文件可直接在VMware环境中使用,或提取其中的VMDK镜像。
内容的提问来源于stack exchange,提问作者Shiv Rajawat
相关产品推荐
相关产品推荐

