使用CloudFormation配置ECS实例并安装自定义程序包

时间:2017-09-22 15:12:01

标签: amazon-cloudformation

我正在尝试使用CloudFormation配置ECS群集。基本情况是:

  • 我正在使用Amazon ECS优化的AMI(例如ami-8fcc32f6)。
  • 我正在使用自动缩放组和启动配置
  • 我正在为启动配置设置UserData,以便使用yum安装一些软件包。

这有效,但出于某种原因它很慢。似乎Amazon ECS优化的AMI带有自己的脚本,用yum安装软件,并且我的UserData脚本中的yum被阻止,需要等到它可以安装其他软件包。

在使用ECS-Enhanced AMI时,是否有推荐的方法来安装其他软件包?

我目前使用的是一个简单的脚本:

#!/bin/bash
yum update -y
yum install -y nfs-utils

1 个答案:

答案 0 :(得分:1)

我有几乎相同的设置,但我使用CloudInit而不是简单的脚本作为UserData。考虑到在启动实例时我没有遇到任何特别缓慢的情况,我建议你这样做。

#cloud-config

repo_upgrade: all


write_files:
 - path: /root/init.sh
   owner: root:root
   permissions: '0755'
   content: |
     #!/bin/bash

     set -e

     # ECS optimized instances are bare bones and we need to install a few packages
     yum install -y aws-cli wget gettext python-pip

     ...


cloud_final_modules:
 - runcmd
 - scripts-user


runcmd:
 - /root/init.sh