我已经在EC2上启动了2个ECS优化实例,但是如何将它们注册为ECS容器实例?
无法想出办法。
答案 0 :(得分:35)
启动ECS优化映像时,默认情况下会启动实例上的ECS代理。 ecs代理使用默认的ecs集群注册实例。
要使您的实例在群集上可用,您必须创建默认群集。
如果您有自定义ecs群集,则可以使用userdata部分设置群集名称。
ecs代理需要在/etc/ecs/ecs.config中提供ecs.config文件中的群集名称。
您可以使用userdata脚本
在实例启动时进行设置#!/bin/bash
echo ECS_CLUSTER={cluster_name} >> /etc/ecs/ecs.config
有关详细信息,请参阅以下ecs文档 http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html
答案 1 :(得分:18)
创建EC2实例时,必须指定链接到ECS容器的IAM角色(如果使用SDK / ...,则必须在参数中指定此角色的"实例配置文件ARN" ),如果您在aws网站上第一次使用ECS时使用交互式ECS群集,则应该已经有一个指向默认群集的ecsInstanceRole链接。
然后,在启动后,您的EC2实例将自动在此群集中注册为ECS容器。
答案 2 :(得分:0)
请记住,除了用户数据脚本回显非默认集群的名称之外,容器实例还需要外部网络访问权限才能与Amazon ECS服务进行通信。因此,如果您的容器实例没有公共IP地址,则它们必须使用网络地址转换(NAT)网关来提供此访问权限。
来源:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html
答案 3 :(得分:0)
您可以在集群中注册实例的另一件事是