У меня есть AutoScaling группу со следующими параметрами:Заблокированные порты и автомасштабирование группа AWS
- name: configure auto-scaling group
ec2_asg:
name: "{{ application_name }}-{{ application_environment }}-auto-scaling-group"
availability_zones:
- "{{ region }}a"
- "{{ region }}b"
- "{{ region }}c"
state: present
launch_config_name: "{{ application_name }}-{{ application_environment }}-launch-configuration"
min_size: 1
max_size: 2
region: "{{ region }}"
desired_capacity: 2
tags:
- environment: "{{application_environment}}"
vpc_zone_identifier:
- "{{ vpc.subnets[0].id }}"
- "{{ vpc.subnets[1].id }}"
- "{{ vpc.subnets[2].id }}"
Это спиннинг два экземпляра EC2.
В обоих случаях есть служба, работающая с nginx, слушая порт 80. Я понимаю, что я не могу использовать порт 80 дважды. Услуга имеет желаемую емкость 2, но я готов запустить ее во время обновлений.
Однако, если я обновить определение сервиса и задачи, я получаю следующее сообщение об ошибке:
ERROR: (service myapp-testing-service) was unable to place a task because no container instance met all of its requirements. The closest matching (container-instance 24d9d97e-c979-41a3-a438-212390612ae3) is already using a port required by your task. For more information, see the Troubleshooting section of the Amazon ECS Developer Guide.
Это правда, порт блокирован. В этом случае я хочу, чтобы один nginx-сервис был снят, новый взят, другой был снят после этого и заменен новым.
Я думал, что это поведение по умолчанию, но похоже, что это не так - или я что-то не так понял?
Это Amazon Ecs справа? – Shibashis
Да, это Amazon ECS – shredding
Хорошо. Попробуйте изменить конфигурацию. он должен работать. – Shibashis