기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Elastic Container Service 및 블루 CodeDeploy 그린 배포 작업 참조
블루/그린 배포를 사용하여 컨테이너 애플리케이션을 배포 AWS CodePipeline 하는 에서 파이프라인을 구성할 수 있습니다. 블루/그린 배포에서는 트래픽을 다시 라우팅하기 전에 이전 버전과 함께 새 버전의 애플리케이션을 시작하고 새 버전을 테스트할 수 있습니다. 또한 배포 프로세스를 모니터링하고 문제가 발생할 경우 신속하게 롤백할 수 있습니다.
완료된 파이프라인은 이미지 또는 작업 정의 파일의 변경 사항을 감지하고 CodeDeploy 를 사용하여 트래픽을 Amazon ECS 클러스터 및 로드 밸런서로 라우팅하고 배포합니다. 는 특수 포트를 통해 새 작업을 대상으로 지정할 수 있는 새 리스너를 로드 밸런서에 CodeDeploy 생성합니다. Amazon ECS 작업 정의가 저장되는 CodeCommit 리포지토리와 같은 소스 위치를 사용하도록 파이프라인을 구성할 수도 있습니다.
파이프라인을 생성하기 전에 Amazon ECS 리소스, CodeDeploy 리소스, 로드 밸런서 및 대상 그룹을 이미 생성했어야 합니다. 이미지 리포지토리에 이미지에 태그를 지정하고 저장한 다음 작업 정의와 AppSpec 파일을 파일 리포지토리에 업로드했어야 합니다.
참고
이 주제에서는 에 대한 Amazon에서 CodeDeploy 블루/그린ECS으로의 배포 작업을 설명합니다 CodePipeline. 의 Amazon ECS 표준 배포 작업에 대한 참조 정보는 섹션을 CodePipeline참조하세요Amazon Elastic Container Service 배포 작업 참조.
작업 유형
-
범주:
Deploy
-
소유자:
AWS
-
공급자:
CodeDeployToECS
-
버전:
1
구성 파라미터
- ApplicationName
-
필수 여부: 예
의 애플리케이션 이름입니다 CodeDeploy. 파이프라인을 생성하기 전에 에서 애플리케이션을 이미 생성했어야 합니다 CodeDeploy.
- DeploymentGroupName
-
필수 여부: 예
CodeDeploy 애플리케이션에 대해 생성한 Amazon ECS 태스크 세트에 지정된 배포 그룹입니다. 파이프라인을 생성하기 전에 에서 배포 그룹을 이미 생성했어야 합니다 CodeDeploy.
- TaskDefinitionTemplateArtifact
-
필수 여부: 예
배포 작업에 작업 정의 파일을 제공하는 입력 아티팩트의 이름입니다. 일반적으로 소스 작업의 출력 아티팩트 이름입니다. 콘솔을 사용하는 경우 소스 작업 출력 아티팩트의 기본 이름은
SourceArtifact
입니다. - AppSpecTemplateArtifact
-
필수 여부: 예
배포 작업에 AppSpec 파일을 제공하는 입력 아티팩트의 이름입니다. 파이프라인이 실행되면 이 값이 업데이트됩니다. 일반적으로 소스 작업의 출력 아티팩트 이름입니다. 콘솔을 사용하는 경우 소스 작업 출력 아티팩트의 기본 이름은
SourceArtifact
입니다. AppSpec 파일에TaskDefinition
의 경우 와 같이<TASK_DEFINITION>
자리 표시자 텍스트를 유지할 수 있습니다. - AppSpecTemplatePath
-
필수 여부: 아니요
파이프라인의 CodeCommit 리포지토리와 같이 파이프라인 소스 파일 위치에 저장된 AppSpec 파일의 파일 이름입니다. 기본적인 파일 이름은
appspec.yaml
입니다. AppSpec 파일의 이름이 같고 파일 리포지토리의 루트 수준에 저장된 경우 파일 이름을 제공할 필요가 없습니다. 경로가 기본 경로가 아닌 경우 경로와 파일 이름을 입력합니다. - TaskDefinitionTemplatePath
-
필수 여부: 아니요
파이프라인의 CodeCommit 리포지토리와 같은 파이프라인 파일 소스 위치에 저장된 태스크 정의의 파일 이름입니다. 기본적인 파일 이름은
taskdef.json
입니다. 작업 정의 파일의 이름이 같고 파일 리포지토리의 루트 수준에 저장되어 있는 경우 파일 이름을 제공할 필요가 없습니다. 경로가 기본 경로가 아닌 경우 경로와 파일 이름을 입력합니다. - 이미지<Number>ArtifactName
-
필수 여부: 아니요
배포 작업에 이미지를 제공하는 입력 아티팩트의 이름입니다. 이는 일반적으로 Amazon ECR 소스 작업의 출력과 같은 이미지 리포지토리의 출력 아티팩트입니다.
<Number>
의 사용 가능한 값은 1~4입니다. - 이미지<Number>ContainerName
-
필수 여부: 아니요
Amazon ECR 소스 리포지토리와 같은 이미지 리포지토리에서 사용할 수 있는 이미지의 이름입니다.
<Number>
의 사용 가능한 값은 1~4입니다.
입력 아티팩트
-
아티팩트 수:
1 to 5
-
설명: 이
CodeDeployToECS
작업은 먼저 작업 정의 파일과 소스 파일 리포지토리의 AppSpec 파일을 검색한 다음 이미지 리포지토리의 이미지를 검색한 다음, 작업 정의의 새 개정을 동적으로 생성한 다음, 마지막으로 AppSpec 명령을 실행하여 작업 세트와 컨테이너를 클러스터에 배포합니다.이
CodeDeployToECS
작업은 이미지를 이미지에 매핑하는imageDetail.json
파일을 찾습니다URI. Amazon ECR 이미지 리포지토리를 변경하면 파이프라인 ECR 소스 작업이 해당 커밋에 대한imageDetail.json
파일을 생성합니다. 작업이 자동화되지 않은 파이프라인용imageDetail.json
파일을 수동으로 추가할 수도 있습니다.imageDetail.json
파일에 대한 자세한 내용은 imageDetailAmazon ECS 블루/그린 배포 작업을 위한 .json 파일 단원을 참조하십시오.CodeDeployToECS
작업을 수행하면 작업 정의의 새 개정이 동적으로 생성됩니다. 이 단계에서 이 작업은 작업 정의 파일의 자리 표시자를 imageDetail.json 파일에서 URI 검색된 이미지로 바꿉니다. 예를 들어 IMAGE1_NAME를 Image1ContainerName 파라미터로 설정한 경우 작업 정의 파일에서 자리 표시자 <IMAGE1_NAME>를 이미지 필드 값으로 지정해야 합니다. 이 경우 CodeDeployToECS 작업은 자리 표시자 <IMAGE1_NAME>를 Image1ArtifactName로 지정한 아티팩트의 imageDetail.json에서 URI 검색된 실제 이미지로 대체합니다.태스크 정의 업데이트의 CodeDeploy
AppSpec.yaml
경우 파일에TaskDefinition
속성이 포함됩니다.TaskDefinition: <TASK_DEFINITION>
이 속성은 새 작업 정의가 생성된 후
CodeDeployToECS
작업에 의해 업데이트됩니다.TaskDefinition
필드 값의 경우 자리 표시자 텍스트는 <TASK_DEFINITION>여야 합니다. 이CodeDeployToECS
작업은 이 자리 표시자를 동적으로 생성된 작업 정의ARN의 실제 로 바꿉니다.
출력 아티팩트
-
아티팩트 수:
0
-
설명: 이 작업 유형에는 출력 아티팩트가 적용되지 않습니다.
작업 선언
다음 사항도 참조하세요.
이 작업을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.
-
자습서: Amazon ECR 소스 및 CodeDeploy 배포ECS로 파이프라인 생성 - 이 자습서에서는 블루/그린 배포에 필요한 CodeDeploy 및 Amazon ECS 리소스 생성을 안내합니다. 자습서에서는 Docker 이미지를 Amazon에 푸시ECR하고 Docker 이미지 이름, 컨테이너 이름, Amazon ECS 서비스 이름 및 로드 밸런서 구성을 나열하는 Amazon ECS 작업 정의를 생성하는 방법을 보여줍니다. 그러면 자습서에서 배포를 위한 AppSpec 파일 및 파이프라인을 생성하는 방법을 안내합니다.
참고
이 주제 및 자습서에서는 에 대한 CodeDeploy/ECS 블루/그린 작업을 설명합니다 CodePipeline. 의 ECS 표준 작업에 대한 자세한 내용은 자습서: 를 사용한 연속 배포 CodePipeline를 CodePipeline참조하세요.
-
AWS CodeDeploy 사용 설명서 - 블루/그린 배포에서 로드 밸런서, 프로덕션 리스너, 대상 그룹 및 Amazon ECS 애플리케이션을 사용하는 방법에 대한 자세한 내용은 자습서: Amazon ECS Service 배포를 참조하세요. AWS CodeDeploy 사용 설명서의 이 참조 정보는 Amazon ECS 및 를 사용한 블루/그린 배포에 대한 개요를 제공합니다 AWS CodeDeploy.
-
Amazon Elastic Container Service 개발자 안내서 - Docker 이미지 및 컨테이너, ECS 서비스 및 클러스터, ECS 태스크 세트 작업에 대한 자세한 내용은 Amazon이란 무엇입니까ECS?를 참조하세요.