我创建了一个自定义AMI,其中包含某些软件和脚本预加载。
我可以将此AMI用于ECS群集吗?
我在创建群集时看不到添加AMI的任何选项
让您的实例在群集上可用,您将必须创建默认群集。
如果您有自定义ECS群集,则可以使用USERDATA部分设置群集名称。
ECS代理商期望在ECS.Config文件中提供群集名称
您可以使用UserData脚本
在实例上进行设置#!/bin/bash
echo ECS_CLUSTER={cluster_name} >> /etc/ecs/ecs.config
那个实例shuld iam角色ecsinstance
是的,您可以。您需要确保EC2实例正在运行ECS代理。
要将EC2实例(使用任何AMI(连接到ECS群集,我们只需要将相应的群集名称传递给ECS_CLUSTER
变量。
参考:https://docs.aws.amazon.com/amazonecs/latest/developerguide/ecs-agent-install.html
是的,您可以。您需要做的是:
-
创建一个空集群(将有一个复选框供您选择(
-
使用您选择的AMI创建EC2,但您需要确保: A。您在EC2上有ECS代理 b。添加到ecs.config文件键值对即ecs_cluster =
完成一旦完成容器实例(EC2(将在ECS群集上可见为"容器实例"
给遇到这些困难的任何人,创建角色和配置文件,并将其连接到自动集团的启动模板中的实例,作为先前的答案评论。
但是,在ECS_CLUSTER
的部分中,我使用的是AMI并非为ECS准备的AMI,是一个深度学习的AMI。这个ami都没有百胜,所以我用get-apt安装了东西。在启动模板中,将这些行添加到用户数据框中:
#!/bin/bash
cd ~
curl -O https://s3.eu-west-1.amazonaws.com/amazon-ecs-agent-eu-west-1/amazon-ecs-init-latest.amd64.deb
sudo dpkg -i amazon-ecs-init-latest.amd64.deb
sudo mkdir /etc/ecs/
sudo echo ECS_CLUSTER=YOURCLUSTER >> /etc/ecs/ecs.config
sudo systemctl start ecs
将您的cluster更改为群集名称,对于卷曲,请选择区域中的一个(检查在非Amazon Linux EC2实例上安装Amazon ECS容器代理(