Я пытаюсь использовать ecs-cli compose для управления своими услугами и задачами в Amazon ECS.
Я не могу найти способ с помощью команды service up
создать новую службу с балансировщиком нагрузки приложения (даже если этот балансировщик нагрузки уже существует).
Это кажется возможным с service create
, но API отличается от service up
API, и я не уверен, как задать параметры таким же образом с create
.И, как правило, для согласованности предпочтительнее использовать только команду up
.Документация довольно разбросана, есть много разных способов сделать одни и те же вещи, просто интересно, какие здесь лучшие практики.Любые предложения с благодарностью.
Стоит отметить, что у меня все работает, пока у меня есть существующее определение задачи, и я создаю свой сервис через графический интерфейс Amazon AWS, задавая балансировщик нагрузки.Поэтому я подумываю о том, чтобы переместить все мои compose config в файл task-definition.json и использовать их напрямую с aws ecs
cli.
У меня есть рабочий docker-compose.yml
файл:
# docker-compose.yml
version: "3"
services:
application:
image: ${IMAGE_ARN}
command: npm start
ports:
- "8000:8000"
nginx:
image: ${IMAGE_ARN}
ports:
- "80:80"
И сопровождающий ecs-params.yml
файл:
# ecs-params.yml
version: 1
task_definition:
task_role_arn: ${ROLE_ARN}
task_execution_role: ${ROLE_ARN}
ecs_network_mode: awsvpc
task_size:
mem_limit: 0.5GB
cpu_limit: 256
container_definitions:
- name: application
- name: nginx
run_params:
network_configuration:
awsvpc_configuration:
assign_public_ip: ENABLED
subnets:
- ${SUBNET_1_ID}
- ${SUBNET_2_ID}
security_groups:
- ${SECURITY_GROUP_ID}
Команда, которую я запускаю, чтобы вызвать службуup is:
ecs-cli compose service up \
--file docker-compose.yaml \
--ecs-params ecs-params.yaml \
--project-name service-name
Любой способ указать конфигурацию балансировщика нагрузки с помощью этой команды?