自动缩放组中的 EC2 自定义 AMI 未运行用户数据脚本

自动缩放组中的 EC2 自定义 AMI 未运行用户数据脚本

如同这个问题

我的用户数据是:

#!/bin/bash
echo 'test' > /home/ubuntu/user-script.txt
Using a standard Ubuntu AMI, this works fine.

我有一个自定义 AMI,它是通过建立标准 Ubuntu AMI、运行 Ansible playbook 并从中创建 AMI 创建的。当我将启动配置配置为使用自定义 AMI 时,不会运行用户数据。没有其他区别。

我理解这可能是由于信号量文件造成的,因此我启动了我的 AMI 实例,删除了 /var/lib/cloud/sem/* 并创建了一个新的 AMI。我使用此 AMI 创建了一个新的启动配置并得到了相同的结果。

我重复了这个过程,这次删除了 /var/lib/cloud/*。结果相同。

有什么想法吗?这一定可行,对吧?

答案1

我已找到造成此现象的原因。

我的 Ansible 剧本正在从 Ubuntu 中删除一个名为“unattended-upgrades”的软件包,大概是亚马逊实用程序使用的。

同样,我的第二个剧本是删除 ubuntu 用户。Amazon 实用程序也可能使用它。

当我禁用这些角色时,AMI 可以按预期处理用户数据。

相关内容