Amazon web services 捕获AMI后/usr/local/bin中的零字节文件

Amazon web services 捕获AMI后/usr/local/bin中的零字节文件,amazon-web-services,amazon-ec2,amazon-ami,ansible,Amazon Web Services,Amazon Ec2,Amazon Ami,Ansible,我正在使用并捕获一个AMI映像启动一个EC2实例。我已验证这些依赖项是否正确安装在实例上。例如,这是我在AMI成像之前在EC2实例上得到的结果: ubuntu@ip-1-2-3-4:/usr/local/bin$ ansible --version ansible 1.4.4 -rwxr-xr-x 1 root root 5907 Jan 31 22:20 ansible -rwxr-xr-x 1 root root 9269 Jan 31 22:20 ansible-doc -rwxr-

我正在使用并捕获一个AMI映像启动一个EC2实例。我已验证这些依赖项是否正确安装在实例上。例如,这是我在AMI成像之前在EC2实例上得到的结果:

ubuntu@ip-1-2-3-4:/usr/local/bin$ ansible --version
ansible 1.4.4

-rwxr-xr-x 1 root root  5907 Jan 31 22:20 ansible
-rwxr-xr-x 1 root root  9269 Jan 31 22:20 ansible-doc
-rwxr-xr-x 1 root root 29163 Jan 31 22:20 ansible-galaxy
-rwxr-xr-x 1 root root 10419 Jan 31 22:20 ansible-playbook
-rwxr-xr-x 1 root root  6916 Jan 31 22:20 ansible-pull
-rwxr-xr-x 1 root root   714 Jan 31 22:19 aws
-rwxr-xr-x 1 root root  1408 Jan 31 22:19 aws.cmd
-rwxr-xr-x 1 root root   897 Jan 31 22:19 aws_completer
-rwxr-xr-x 1 root root  1860 Jan 31 22:19 aws_zsh_completer.sh
问题是,一旦我捕获了一个AMI并启动了一个新实例,我发现
/usr/local/bin
中的所有文件都是零字节文件

-rwxr-xr-x 1 root root 0 Jan 31 22:20 ansible
-rwxr-xr-x 1 root root 0 Jan 31 22:20 ansible-doc
-rwxr-xr-x 1 root root 0 Jan 31 22:20 ansible-galaxy
-rwxr-xr-x 1 root root 0 Jan 31 22:20 ansible-playbook
-rwxr-xr-x 1 root root 0 Jan 31 22:20 ansible-pull
-rwxr-xr-x 1 root root 0 Jan 31 22:19 aws
-rwxr-xr-x 1 root root 0 Jan 31 22:19 aws.cmd
-rwxr-xr-x 1 root root 0 Jan 31 22:19 aws_completer
-rwxr-xr-x 1 root root 0 Jan 31 22:19 aws_zsh_completer.sh

当我从AMI创建新实例时,为什么这些文件被归零?

这是Ansible的问题,而不是AWS的问题。事实证明,Ansible 1.4.4中有一个默认情况下,
ec2\u ami
模块不会关闭并重新启动实例(文档声称是这样的!)。这会导致各种各样的文件系统完整性问题


修复方法是在Ansible任务中包含
no\u reboot:no

如何创建AMI映像?实例根设备EBS是备份的还是EC2实例存储区是备份的?您可能想通读以下内容:您是否尝试过使用AmazonLinuxAMI?只需在/usr/local/bin下创建一个非空文件,创建AMI并使用新的AMI重新启动