是的,驻留在根卷上的 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根=/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 选项)
The devices mapping and volumes organisation are different between ebs-backed and instance store-backed instances so you need to make sure everything is where the system expects it to be