[英]ecs-cli compose service up with a load balancer
我正在嘗試使用ecs-cli撰寫來管理我在Amazon ECS上的服務和任務。
我無法找到使用service up
命令創建帶有應用程序負載均衡器的新服務的方法(即使該負載均衡器已經存在)。
這似乎可以通過service create
,但API與service up
API不同,我不知道如何使用create
以相同的方式指定params。 通常最好只使用up
命令來保持一致性。 文檔非常分散,有很多不同的方法可以做同樣的事情,只是想知道這里有什么最佳實踐。 任何建議都非常感謝。
值得注意的是,只要我有一個現有的任務定義,並且在指定負載均衡器的同時通過Amazon AWS GUI創建我的服務,一切都對我有用。 所以我正在考慮將所有的compose配置移動到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}
我運行以啟動服務的命令是:
ecs-cli compose service up \
--file docker-compose.yaml \
--ecs-params ecs-params.yaml \
--project-name service-name
通過該命令指定負載均衡器配置的任何方法?
看起來最新的ecs-cli
版本確實支持負載平衡器配置和服務。
你試過提供--target-group-arn
選項嗎? 假設您已創建ALB和目標組以關聯ECS服務。 這是我剛剛測試過的示例命令。
ecs-cli compose --file docker-compose.yaml --project-name nginx \
--ecs-params ecs-params.yaml service up \
--target-group-arn "arn:aws:elasticloadbalancing:us-east-1:xxxxxxxx:targetgroup/awsvpc-nginx/2bf8921935c827bd" \
--container-name nginx --container-port 80
注意 -
target-group-arn
, container-name
和container-port
選項對於負載均衡器關聯是必需的,它們必須在service up
后在命令中service up
。 awsvpc
模式完成任務。 我不確定你是否想要調出EC2或Fargate型發射容器。 awsvpc
模式,那么請確保您的負載均衡器目標組具有使用type ip
而不是instance
創建的目標。 awsvpc
模式,那么請確保EC2 AMI是Amazon-ECS優化的AMI。 如果您使用Fargate類型,那么您的assign_public_ip
應該DISABLED
。 請告訴我您的反饋意見。
參考 - https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cmd-ecs-cli-compose-service.html
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.