Amazon ECS 작업 정의 수정 - Amazon CodeCatalyst

Amazon ECS 작업 정의 수정

이 섹션에서는 CodeCatalyst 워크플로를 사용하여 Amazon Elastic Container Service(Amazon ECS) 작업 정의 파일image 필드를 업데이트하는 방법을 설명합니다. 이렇게 하려면, 워크플로에 Amazon ECS 작업 정의 렌더링 작업을 추가해야 합니다. 이 작업은 런타임 시 워크플로에서 제공하는 Docker 이미지 이름으로 작업 정의 파일의 이미지 필드를 업데이트합니다.

참고

이 작업을 사용하여 작업 정의의 environment 필드를 환경 변수로 업데이트할 수도 있습니다.

이 작업을 사용해야 하는 경우

커밋 ID 또는 타임스탬프와 같은 동적 콘텐츠가 포함된 Docker 이미지를 빌드하고 태그를 지정하는 워크플로가 있는 경우 이 옵션을 사용합니다.

작업 정의 파일에 항상 동일하게 유지되는 이미지 값이 포함된 경우 이 작업을 사용하지 마세요. 이 경우 작업 정의 파일에 이미지 이름을 수동으로 입력할 수 있습니다.

'Amazon ECS 작업 정의 렌더링' 작업 작동 방식

워크플로의 빌드Amazon ECS에 배포 작업과 함께 Amazon ECS 작업 정의 렌더링 작업을 사용해야 합니다. 이 작업들을 함께 사용하면 다음과 같이 작동합니다.

  1. 빌드 작업은 Docker 이미지를 빌드하고 이름, 커밋 ID, 타임스탬프 또는 기타 동적 콘텐츠로 태그를 지정합니다. 예를 들어 빌드 작업은 다음과 같습니다.

    MyECSWorkflow Actions: BuildAction: Identifier: aws/build@v1 ... Configuration: Steps: # Build, tag, and push the Docker image... - Run: docker build -t MyDockerImage:${WorkflowSource.CommitId} . ...

    앞의 코드에서 docker build -t 지시문은 Docker 이미지를 빌드하고 작업 런타임 시 커밋 ID로 태그를 지정하도록 나타냅니다. 생성된 이미지 이름은 다음과 같을 수 있습니다.

    MyDockerImage:a37bd7e

  2. 렌더링 Amazon ECS 작업 정의 작업은 다음과 같이 동적으로 생성된 이미지 이름 MyDockerImage:a37bd7e를 작업 정의 파일에 추가합니다.

    { "executionRoleArn": "arn:aws:iam::account_ID:role/codecatalyst-ecs-task-execution-role", "containerDefinitions": [ { "name": "codecatalyst-ecs-container", "image": MyDockerImage:a37bd7e, "essential": true, ... "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ] } ], ... }

    필요에 따라 렌더링 Amazon ECS 작업 정의 작업에서 다음과 같은 환경 변수를 작업 정의에 추가하도록 할 수도 있습니다.

    { "executionRoleArn": "arn:aws:iam::account_ID:role/codecatalyst-ecs-task-execution-role", "containerDefinitions": [ { "name": "codecatalyst-ecs-container", "image": MyDockerImage:a37bd7e, ... "environment": [ { name": "ECS_LOGLEVEL", value": "info" } ] } ], ... }

    자세한 내용을 알아보려면 Amazon Elastic Container Service 개발자 안내서환경 변수 지정을 참조하세요.

  3. Amazon ECS에 배포 작업은 업데이트된 작업 정의 파일을 Amazon ECS에 등록합니다. 업데이트된 작업 정의 파일을 등록하면 새 이미지 MyDockerImage:a37bd7e가 Amazon ECS에 배포됩니다.

'Amazon ECS 작업 정의 렌더링' 작업에 사용되는 런타임 이미지

Amazon ECS 작업 정의 렌더링 작업은 2022년 11월 이미지에서 실행됩니다. 자세한 내용은 활성 이미지 섹션을 참조하세요.