Можем ли мы использовать собственный AMI для создания кластера ECS?

Я создал пользовательский AMI, в котором предварительно загружены определенные программы и скрипты.

  • Могу ли я использовать этот AMI для кластера ECS?
  • Я не вижу никакой возможности добавить AMI при создании кластера

4 ответа

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

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

Агент ecs ожидает имя кластера в файле ecs.config, доступном по адресу /etc/ecs/ecs.config.

Вы можете настроить его при загрузке экземпляра, используя скрипт userdata

#!/bin/bash
echo ECS_CLUSTER={cluster_name} >> /etc/ecs/ecs.config

Этот экземпляр должен иметь роль IAM

Да, ты можешь. Что вам нужно сделать, это:

  1. Создать пустой кластер (для вас будет установлен флажок)

  2. Создайте Ec2 с выбранным вами AMI, но вам необходимо убедиться, что: a. у вас есть ecs-агент, доступный на Ec2 b. Добавьте в файл ecs.config пару ключ-значение, т.е. ECS_CLUSTER=

После этого экземпляр контейнера (ec2) будет виден в кластере ECS как "экземпляры контейнера".

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

Чтобы присоединить экземпляры EC2 (используя любой AMI) к кластеру ECS, нам просто нужно передать соответствующее имя кластера в ECS_CLUSTER переменная.

Ссылка: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-install.html

Всем, у кого есть эти трудности, создайте роль и профиль и прикрепите их к экземпляру в шаблоне запуска вашей автогруппы, как комментарий к предыдущим ответам.

Однако для части ECS_CLUSTERЯ использовал AMI, не подготовленный для ECS, AMI Deep Learning. У этого AMI не было ни YUM, поэтому я устанавливал вещи с помощью 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

Измените YOURCLUSTER на имя вашего кластера, а для curl выберите тот, который находится в вашей зоне (см. раздел «Установка агента контейнера Amazon ECS на экземпляре EC2, отличном от Amazon Linux» ) .

Другие вопросы по тегам