无法在 EC2 上启动定制的 HVM AMI

无法在 EC2 上启动定制的 HVM AMI

我正在尝试自定义现有的 Debian Jessie HVM AMI(ami-116d857a)并将其存储为我的私有 AMI。虽然 AMI 创建过程成功,但我无法从中启动。实例显示已启动,但我无法通过 ssh 连接,监控也显示 ssh 连接不可用。我发现其他任何 HVM AMI 都存在同样的问题。如果是 PVM AMI,同样的过程可以完美运行。

以下是我遵循的程序

  • 从可用的 AMI 启动。
  • 从包管理器安装附加包。
  • 安装npm模块。(上一步已经安装nodejs和npm)
  • 安装所有可用的系统升级。
  • 下载并解压 /opt 中的 ec2-ami-tools。
  • SCP 私钥和证书到实例。
  • 使用以下命令创建实例的映像

    /opt/ec2-ami-tools-1.5.7/bin/ec2-bundle-vol -c /home/admin/cert.pem -k /home/admin/pk.pem -u $aws_account_id -p $image_prefix -B ami=sda,root=/dev/sda1 --batch --debug

  • 然后将其上传到现有的 S3 存储桶

    /opt/ec2-ami-tools-1.5.7/bin/ec2-upload-bundle -b my-ami-images -m /mnt/$image_prefix.manifest.xml -a $access_key -s $access_secret --retry --de bug

  • 最后注册 AMI

    aws ec2 注册映像 --name $image_prefix --image-location my-ami-images/$image_prefix.manifest.xml --region us-east-1 --virtualization-type hvm --root-device-name /dev/xvda1

所有这些步骤都顺利进行,没有任何错误,我可以在我的帐户中看到列出的 AMI,其中根设备作为实例存储,虚拟化类型为 HVM。

答案1

您当前的 AMI 创建过程是创建 S3 支持的(实例存储)AMI 映像。但您的源 AMI 是 EBS 支持的 AMI。您需要使用其他方法来创建 AMI,这将创建 EBS 支持的 AMI。

不要捆绑实例并注册 AMI,请执行以下操作:

  1. 停止您的 EC2 实例。
  2. 使用 AWS 管理控制台,选择您的 EC2 实例,然后从操作菜单中选择“创建映像”。这将创建一个 EBS 支持的 AMI 映像。

有关创建 EBS 支持的 AMI 映像的更多信息,请参见此处:

创建由 Amazon EBS 支持的 Linux AMI | Amazon Elastic Compute Cloud

相关内容