【AWS】 【CircleCI】 【Terraform】 【Rails】 CircleCI에서 ECS에 자동 배포 할 때 빠졌습니다.

상황



config.yml
version: 2.1 
orbs:
  aws-ecr: circleci/[email protected]
  aws-ecs: circleci/[email protected]

Orbs를 사용하여 배포를 실행하려고 하면 다음 오류가 발생합니다.
An error occurred (ClientException) when calling the DescribeTaskDefinition operation: Unable to describe task definition.

오류 내용 및 해결



조사하면 aws ecs describe-task-definition 명령을 두드려서 잘못되었을 때의 오류임을 알 수 있습니다

circleci의 log에서 aws 명령을 두드리는 부분을 찾으면 다음 설명을 만난다.

circleci
PREVIOUS_TASK_DEFINITION=$(aws ecs describe-task-definition --task-definition ${MY_APP_PREFIX}-service --include TAGS)

주의하는 것은, 당기고 싶은 태스크 정의의 familyの末尾は-service 일 필요가 있다고 하는 것

그래서 Terraform에서는

task_definition.tf
resource "aws_ecs_task_definition" "manabi-app" {
  family = "app名" #これをapp名-serviceに変更
  container_definitions = file("./container_definitions/service.json")
  task_role_arn = data.terraform_remote_state.iam.outputs.ecs_task_role_arn
  execution_role_arn = data.terraform_remote_state.iam.outputs.ecs_task_role_arn
  network_mode = "bridge"
}

잘 배포할 수 있었다!

좋은 웹페이지 즐겨찾기