如何将EC2实例注册到ECS集群?

Hel*_*lad 29 amazon-web-services docker

我已经在EC2上启动了2个ECS优化实例,但是如何将它们注册为ECS容器实例?

无法弄清楚这样做的方法.

Shi*_*his 45

启动ECS优化映像时,默认情况下会在实例上启动ECS代理.ecs代理使用默认的ecs集群注册实例.

要使您的实例在群集上可用,您必须创建默认群集.

如果您有自定义ecs群集,则可以使用userdata部分设置群集名称.

ecs代理期望ecs.config文件中的群集名称可在/etc/ecs/ecs.config中找到.

您可以使用userdata脚本在实例启动时进行设置

#!/bin/bash
echo ECS_CLUSTER={cluster_name} >> /etc/ecs/ecs.config
Run Code Online (Sandbox Code Playgroud)

请参考以下ECS文档的详细信息 http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html


Dar*_*yte 19

创建EC2实例时,必须指定链接到ECS容器的IAM角色(如果使用SDK/...,则必须在参数中指定此角色的"实例配置文件ARN"),如果使用交互式ECS在aws网站上第一次使用ECS时创建集群,您应该已经有一个指向默认集群的ecsInstanceRole链接.

然后,在启动后,您的EC2实例将自动在此群集中注册为ECS容器.

  • 创建实例后可以附加/更改必要的角色。https://aws.amazon.com/premiumsupport/knowledge-center/assign-iam-role-ec2-instance/ (3认同)
  • 如果创建后添加角色,是否可以“重试”ECS注册? (2认同)

Sla*_*mir 8

除了回显非默认集群名称的用户数据脚本之外,请记住,容器实例需要外部网络访问权限才能与 Amazon ECS 服务进行通信。因此,如果您的容器实例没有公共 IP 地址,则它们必须使用网络地址转换 (NAT) 网关来提供此访问。

来源:https ://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html