我想在 Ubuntu 16.04 LTS、Ubuntu 18.04 LTS、Ubuntu 20.04 LTS、RHEL 7 或 RHEL 8 Amazon Machine Image (AMI) 上安装 AWS CloudFormation 帮助程序脚本。
简短描述
您必须在引导过程中安装用于 Ubuntu 16.04 LTS、Ubuntu 18.04 LTS、Ubuntu 20.04 LTS、RHEL 7 或 RHEL 8 AMI 的帮助程序脚本。使用 UserData 属性自动下载和安装 AMI。然后,在启动时自动开启 cfn-hup 服务。
解决方案
1. 将 Ubuntu 16.04 LTS 脚本、Ubuntu 18.04 LTS 脚本、Ubuntu 20.04 LTS 脚本、RHEL 7 脚本 或 RHEL 8 脚本添加到实例的 UserData 属性。
2. 以 systemd 创建服务以允许 cfn-hup 帮助程序守护程序在引导时自动启动。
**重要提示:**您必须让 systemd 与现有引导目标具有依赖关系。使用 multi-user.target 创建依赖关系。
3. 设置文件密钥中的指令,为 cfn-hup /lib/systemd/systemcfn-hup.service 创建 cfn-hup 配置文件、cfn-hup 挂钩和 systemd 文件。
4. 使用命令密钥以 systemd 启用此服务,然后启动此服务。
5. 确认 cfn-hup 服务在启动堆栈后启动:
systemctl status cfn-hup
如果 cfn-hup 正在运行,输出将如下所示:
cfn-hup.service - cfn-hup daemon
Loaded: loaded (/usr/lib/systemd/system/cfn-hup.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2016-10-12 08:10:26 EDT; 1min 11s ago
Main
PID: 4852 (cfn-hup)
CGroup: /system.slice/cfn-hup.service
└─4852 /usr/bin/python /opt/aws/bin/cfn-hup
Oct 12 08:10:26 ip-172-31-44-180.ec2.internal systemd[1]: Started cfn-hup daemon.
Oct 12 08:10:26 ip-172-31-44-180.ec2.internal systemd[1]: Starting cfn-hup daemon...
**注意:**如果您使用的是 systemd,则 cfn-init 帮助程序脚本不支持服务密钥。请改用命令密钥,如前面的示例所示。
相关信息
CFNhelpernonAMZNAMIs