はい、ルートボリュームにある EBS ボリュームのデータは AMI に送信されます。
AWS ドキュメントから : 「デフォルトでは、AMI バンドル プロセスは、ルート ボリュームを表す /tmp ディレクトリに圧縮され、暗号化されたファイルのコレクションを作成します。」http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-instance-store.html
もちろん、秘密鍵と bash 履歴は除外されます... --no-filter オプションを使用しない限り: http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/CLTRG-ami-bundle-vol .html
変換手順:
これは基本的に、従う必要があるインスタンス ストアに基づく AMI を作成する手順です。ただし、AMI を登録するときに、互換性のあるカーネルを指定する必要があります。
変換するインスタンスに EC2 CLI ツールをセットアップします (まだインストールされていない場合)。
X.509 証明書と秘密鍵を取得します (自己署名することができます: openssl req -x509 -newkey rsa:2048 -keyout private-key.pem -out cert.pem -days 385 -nodes
)
変換するインスタンスに接続します
X.509 証明書と秘密鍵を /tmp/ に移動しますmv private-key.pem cert.pem /tmp/
フォルダー /tmp/out/ を作成しますmkdir /tmp/out
バンドルを作成します。ec2-bundle-vol -k /tmp/private-key.pem -c /tmp/cert.pem -u <account_id> -r x86_64 -d /mnt/out
詳細については、ドキュメントを参照してくださいhttp://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/CLTRG-ami-upload-bundle.htmlブロック デバイス マッピングを変更する必要がある場合があります (例: -B)。 root=/dev/sda1)
バンドルを S3 バケットにアップロードします。ec2-upload-bundle -b <bucket_name>/<bundle_folder>/<bundle_name> -a <access_key> -s <secret_key> -m /tmp/out/image.manifest.xml --region <aws_region>
AMI を登録します。ec2-register --kernel <kernel_id> --region <aws_region> --name “<ami_name>" --description “<ami_description>" <bucket_name>/<bundle_folder>/<bundle_name>/image.manifest.xml -O <access_key> -W <secret_key>
詳細については、ドキュメントを参照してください: http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ApiReference-cmd-RegisterImage.html (--root-device-name および -b オプションを参照)
デバイスのマッピングとボリュームの編成は、ebs-backed インスタンスと instance store-backed インスタンスで異なるため、システムが期待する場所にすべてがあることを確認する必要があります。