给 ECS 实例添加 post 配置的最佳方式

The best way to add post configuration to an ECS Instance

我想知道当 ECS 集群自动创建实例时,在创建实例后添加 post 配置步骤的最佳方法是什么。

似乎无法将用户数据添加到 ECS 实例?

注意:实例由 ECS 集群本身自动创建。

编辑:

使用 ECS 时,您配置一个集群。在配置集群时,您 select 实例类型和其他东西(ssh 密钥,...)但是没有地方可以将一些用户数据提供给将由 ECS 创建的实例。所以问题是如何对使用 ECS 自动创建的实例进行一些 post-配置。

使用管理控制台时,它更像是一个向导,可以为您创建所需的一切,包括使用 Amazon Linux ECS 优化的 AMI 的实例,并且不会给您太多的控制权那。

要获得更多 fine-grained 控制权,您将不得不使用另一种创建集群的方法,例如 AWS CLI or CloudFormation。这些方法允许您(或实际上要求您)一次创建每个作品。

示例:

$ aws ecs create-cluster --cluster-name MyEcsCluster

上面的命令创建了一个集群,而且只是集群。您仍然需要创建一个 ECS task definition, ECS service—although you could still use the management console for those—and (here's the real answer to your question) the EC2 instances which you want to attach to the cluster (either individually or through an Auto Scaling group). You could create instances from the Amazon Linux ECS optimized AMI,但同时还要添加 user-data 以进一步配置它们(在这种情况下您也可能会使用 user-data 来创建 /etc/ecs/ecs.config 文件以确保它附加到您创建的 ECS 集群,例如 echo "ECS_CLUSTER=MyEcsCluster" > /etc/ecs/ecs.config).

简短的回答是,获得这种灵活性需要更多的工作,但它是可行的。

编辑:进一步考虑,您可能会使用管理控制台向导一次创建所有内容,然后手动终止它为集群创建的实例(或者更确切地说,删除创建它们的 Auto Scaling 组)和添加你自己的。这将为您节省一些工作。