我正在为 Auto Scaling 组创建启动配置。
WebAppLaunchConfig:
Type: AWS::AutoScaling::LaunchConfiguration
Properties:
UserData: !Base64 |
#!/bin/bash
exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
sudo su
apt-get update -y
apt-get install unzip awscli -y
apt-get install apache2 -y
systemctl start apache2.service
cd /var/www/html
aws s3 cp s3://udacity-demo-1/udacity.zip .
unzip -o udacity.zip
/bin/echo "Hello World" >> /tmp/testfile.txt
IamInstanceProfile:
Ref: "ProfileWithRolesForOurApp"
KeyName: UdacityCFNEC2Key
ImageId: ami-005bdb005fb00e791
SecurityGroups:
- Ref: WebServerSecGroup
InstanceType: t3.medium
BlockDeviceMappings:
- DeviceName: "/dev/sdk"
Ebs:
VolumeSize: '10'
我将服务器放在公共子网中以简单地通过 ssh 进入并确认 Apache 是否启动,我可以看到它没有启动。当我尝试运行启动命令时,我收到一个错误,即 httpd.conf 文件不存在。
我在这里做错了什么?
我发现的最接近的问题是:在 Cloudformation中使用用户数据,他们正在讨论 ami 的类型,我已经能够成功地将用户数据日志导出到控制台,并且我正在使用和 ubuntu ami,所以我认为这不是一个类似的问题。