如何将自动缩放组连接到ecs群集?

问题描述 投票:28回答:3

在ECS的所有教程中,您需要创建一个群集,然后创建一个自动缩放组,它将生成实例。不知何故,在所有这些教程中,实例神奇地出现在集群中,但没有人提示如何连接自动缩放组和集群。

我的自动缩放组按预期生成实例,但它们只是不显示在我的ecs集群上,谁拥有我的docker定义。

我错过的连接在哪里?

amazon-ec2 docker amazon-ecs
3个回答
23
投票

我有一段时间在努力奋斗。获取与ECS群集关联的自动缩放组中的实例的关键在于用户数据。当您进入步骤3“配置详细信息”时创建启动配置时,请点击高级选项卡,然后为您的用户数据输入如下的简单bash脚本。

#!/usr/bin/env bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config

可以在此处找到代理配置的所有可用参数http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html


11
投票

自动缩放组与群集没有严格关联。但是,可以配置自动调节组,以便每个启动的实例将自身注册到特定的集群中。

将实例注册到集群是在实例上运行的ECS Agent的责任。如果您正在使用Amazon ECS-optimized AMI,ECS代理将在实例启动时启动并将自身注册到configured cluster。但是,您也可以通过以下the installation instructions在其他Linux AMI上使用ECS代理。


6
投票

好吧,我发现了。它全部关于ecs-agent及其配置文件/etc/ecs/ecs.config(此文件将在创建EC2实例时通过Userdata字段创建,甚至可以从自动扩展配置创建。)在此处阅读其配置选项:http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html

但你甚至可以复制存储在Amazon S3上的ecs.config,就这样做(以下几行进入Userdata字段):

#!/bin/bash
yum install -y aws-cli
aws configure set default.s3.signature_version s3v4
aws configure set default.s3.addressing_style path
aws configure set default.region eu-central-1
aws s3 cp s3://<bucketname>/ecs.config /etc/ecs/ecs.config

注意:Signature_version v4特定于某些区域,如eu-central-1。如果您的实例的IAM角色(在我的情况下是其ecsInstanceRole)具有正确的AmazonS3ReadOnlyAccess,则此ofc仅起作用


AWS GUI控制台的方式是:使用https://console.aws.amazon.com/ecs/home#/firstRun上的群集向导。它将为您的集群创建一个自动缩放集群,它前面有一个负载均衡器,并且可以很好地连接它。

© www.soinside.com 2019 - 2024. All rights reserved.