Можем ли мы использовать собственный 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
Да, ты можешь. Что вам нужно сделать, это:
Создать пустой кластер (для вас будет установлен флажок)
Создайте 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» ) .