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 バグ

  • そして最後に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

これらの手順はすべてエラーなく正常に実行され、ルートデバイスがインスタンスストア、仮想化タイプが HVM である AMI がアカウントにリストされていることを確認できます。

答え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

関連情報