Как подключить мою группу автомасштабирования к моему кластеру ecs?

Во всех учебных пособиях для ECS вам необходимо создать кластер, а после этого - группу автомасштабирования, в которой будут появляться экземпляры. Каким-то образом во всех этих учебниках экземпляры волшебным образом отображаются в кластере, но никто не дает подсказки, что связано с группой автомасштабирования и кластером.

моя группа автомасштабирования порождает экземпляры, как ожидалось, но они просто не отображаются в моем кластере ecs, который держит мои определения докеров.

Где соединение отсутствует?

Ответы

Ответ 1

Ну, я узнал. Его все о ecs-agent и его файле конфигурации /etc/ecs/ecs.config(Этот файл будет создан через поле Userdata при создании экземпляров EC2 даже из конфигурации автомасштабирования.) Ознакомьтесь с параметрами конфигурации здесь: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html

Но вы даже можете скопировать ecsconfig, хранящийся на Amazon S3, сделать это так (следующие строки идут в поле 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

note: Signature_version v4 специфична для некоторых областей, таких как eu-central-1. Этот параметр работает только в том случае, если ваша роль IAM для экземпляра (в моем случае его ecsInstanceRole) имеет право AmazonS3ReadOnlyAccess


Консоль консоли AWS GUI для этого будет: Используйте мастер кластера в https://console.aws.amazon.com/ecs/home#/firstRun. Он создаст автомасштабирование grou для вашего кластера, loadbalancer перед ним и соедините все это красиво.

Ответ 2

Я боролся с этим некоторое время. Ключ к получению экземпляров в группе автомасштабирования, связанной с вашим кластером ECS, находится в пользовательских данных. Когда вы создаете конфигурацию запуска, когда вы переходите к шагу 3, "Настроить детали", нажмите вкладку "Дополнительно" и введите простой bash script, как показано ниже, для ваших пользовательских данных.

#!/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

Ответ 3

Группа автомасштабирования не связана строго с кластером. Однако группу автомасштабирования можно настроить таким образом, чтобы каждый запущенный экземпляр регистрировался в конкретном кластере.

Регистрация экземпляра в кластере лежит на агенте ECS, запущенном на экземпляре. Если вы используете AMIS оптимизированный AMA, агент ECS запустится, когда экземпляр загрузится и зарегистрируется в настроенный кластер. Тем не менее, вы также можете использовать агент ECS для других AMI Linux, следуя инструкциям по установке.