Невозможно включить EnableExecuteCommand в службе ECS синий/зеленый

У меня есть служба ECS (синий/зеленый), и я хотел бы запустить контейнеры, затем я попытался включить EnableExecuteCommand в этой службе с помощью aws cli:

aws ecs update-service --cluster **** --task-definition **** --service **** --enable-execute-command

но я получаю:

An error occurred (InvalidParameterException) when calling the UpdateService operation: Unable to update task definition on services with a CODE_DEPLOY deployment controller. Use AWS CodeDeploy to trigger a new deployment.

предлагается создать новое развертывание, но это не имеет смысла, я много искал в Google, но не нашел решения, может быть, это невозможно? потому что синий/зеленый управляется aws codedeploy?

Я нашел в документации aws это:

For services using the blue/green (CODE_DEPLOY) deployment controller, only the desired count, deployment configuration, health check grace period, task placement constraints and strategies, enable ECS managed tags option, and propagate tags can be updated using this API. If the network configuration, platform version, task definition, or load balancer need to be updated, create a new AWS CodeDeploy deployment. For more information, see CreateDeployment in the AWS CodeDeploy API Reference.https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html

Я подумал, может быть, я мог бы установить его в Taskdef.json, но свойства EnableExecuteCommand нет.

Может ли кто-нибудь дать мне подсказку?

Заранее спасибо.


1
285
1

Ответ:

Решено

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

В этом руководстве для ECS и CodeDeploy сначала показано создание службы, а затем использование CodeDeploy со службой. На этапе создания службы вы можете включить настройку ECS Exec.