기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Elastic Service 및 CodeDeploy 블루-그린
에서 파이프라인을 구성할 수 있습니다.AWS CodePipeline블루/그린 배포를 사용하여 컨테이너 애플리케이션을 배포합니다. 블루/그린 배포에서는 이전 버전과 함께 새 버전의 애플리케이션을 시작하고 트래픽을 다시 라우팅하기 전에 새 버전을 테스트할 수 있습니다. 또한 배포 프로세스를 모니터링하고 문제가 발생할 경우 신속하게 롤백할 수 있습니다.
완성된 파이프라인은 이미지 또는 작업 정의 파일의 변경 사항을 감지하여 사용합니다. CodeDeploy 트래픽을 Amazon ECS 클러스터 및 로드 밸런서로 라우팅하고 배포합니다. CodeDeploy 로드 밸런서에 새 리스너를 생성합니다. 이 리스너는 특수 포트를 통해 새 작업을 대상으로 지정할 수 있습니다. 또한 소스 위치를 사용하도록 파이프라인을 구성할 수 있습니다. CodeCommit 리포지토리에는 Amazon ECS 작업 정의가 저장됩니다.
파이프라인을 생성하기 전에 Amazon ECS 리소스를 이미 생성했어야 합니다. CodeDeploy 리소스, 로드 밸런서 및 대상 그룹. 이미 이미지 저장소에 이미지에 태그를 지정하고 저장한 다음 작업 정의를 업로드해야 합니다. AppSpec 파일을 파일 리포지토리에 저장합니다.
이 주제에서는 Amazon ECS에 대해 설명합니다. CodeDeploy 에 대한 블루/그린 배포 작업 CodePipeline. Amazon ECS 표준 배포 작업에 대한 참조 정보는 에서 확인할 수 있습니다. CodePipeline, 참조 사항Amazon Elastic Container Service.
작업 유형
-
범주:
Deploy
-
소유자:
AWS
-
공급자:
CodeDeployToECS
-
버전:
1
구성 파라미터
- ApplicationName
-
필수 사항: 예
에 있는 애플리케이션의 이름: CodeDeploy. 파이프라인을 생성하려면 에서 애플리케이션을 이미 생성해야 합니다. CodeDeploy.
- DeploymentGroupName
-
필수 사항: 예
에 대해 생성한 Amazon ECS 작업 세트에 지정된 배포 그룹 CodeDeploy 애플리케이션을 배포합니다. 파이프라인을 생성하기 전에 배포 그룹이 이미 에 생성되어 있어야 합니다. CodeDeploy.
- TaskDefinitionTemplateArtifact
-
필수 사항: 예
배포 작업에 작업 정의 파일을 제공하는 입력 아티팩트의 이름입니다. 일반적으로 소스 작업에서 출력 아티팩트의 이름입니다. 콘솔을 사용하는 경우 소스 작업 출력 아티팩트의 기본 이름은 다음과 같습니다.
SourceArtifact
. - AppSpecTemplateArtifact
-
필수 사항: 예
을 제공하는 입력 아티팩트의 이름입니다. AppSpec 파일을 배포 작업에 저장합니다. 일반적으로 소스 작업에서 출력 아티팩트의 이름입니다. 콘솔을 사용하는 경우 소스 작업 출력 아티팩트의 기본 이름은 다음과 같습니다.
SourceArtifact
. - AppSpecTemplatePath
-
필수 사항: 아니요
의 파일 이름: AppSpec 파이프라인 소스 파일 위치 (예: 파이프라인) 에 저장된 파일 CodeCommit 리포지토 기본적인 파일 이름은
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
파일에 대한 자세한 내용은 아마존 ECS 블루/그린 배포 작업을 위한 imageDetail.json 파일 단원을 참조하십시오.이
CodeDeployToECS
작업은 작업 정의의 새 개정을 동적으로 생성합니다. 이 단계에서 이 작업은 작업 정의 파일의 자리 표시자를 ImageDetail.json 파일에서 검색된 이미지 URI로 바꿉니다. 예를 들면, 을 (를) 설정하는 경우이미지1_이름이미지 1으로ContainerName 매개 변수, 자리 표시자를 지정해야 합니다.<IMAGE1_NAME>작업 정의 파일의 이미지 필드 값으로 사용합니다. 이 경우, CodeDeployToECS 액션이 플레이스홀더를 대체합니다<IMAGE1_NAME>Image1로 지정한 아티팩트의 ImageDetail.json에서 검색된 실제 이미지 URI로ArtifactName.작업 정의 업데이트의 경우 CodeDeploy
AppSpec.yaml
파일에는 들어 있습니다.TaskDefinition
재산.TaskDefinition: <TASK_DEFINITION>
이 속성은 에 의해 업데이트됩니다.
CodeDeployToECS
새 작업 정의를 만든 후의 동작의 가치를 위해
TaskDefinition
필드, 자리 표시자 텍스트는 여야 합니다<TASK_DEFINITION>. 이CodeDeployToECS
action은 이 자리 표시자를 동적으로 생성된 작업 정의의 실제 ARN으로 바꿉니다.
출력 아티팩트
-
아티팩트 수:
0
-
설명: 출력 아티팩트는 이 작업 유형에는 적용되지 않습니다.
작업 선언
다음 사항도 참조하세요.
이 작업을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.
-
자습서: Amazon ECR 소스 및 ECS에서CodeDeploy 배포로 파이프라인 생성— 이 자습서는 을 (를) 생성하는 절차를 살펴봅니다. CodeDeploy 및 블루/그린 배포에 필요한 Amazon ECS 리소스. 자습서에서는 Docker 이미지를 Amazon ECR에 푸시하고 Docker 이미지 이름, 컨테이너 이름, Amazon ECS 서비스 이름 및 로드 밸런서 구성의 목록을 표시하는 Amazon ECS 작업 정의를 생성하는 방법을 보여 줍니다. 그런 다음 자습서에서는 생성 절차를 살펴봅니다. AppSpec 배포를 위한 파일 및 파이프라인.
참고 이 항목 및 자습서에서는 CodeDeploy/ECS 블루/그린 액션 대상 CodePipeline. ECS 표준 조치에 대한 자세한 내용은 CodePipeline, 참조 사항자습서: 를 사용한 지속적 배포 CodePipeline.
-
AWS CodeDeploy사용 설명서— 블루/그린 배포에서 로드 밸런서, 프로덕션 리스너, 대상 그룹 및 Amazon ECS 애플리케이션을 사용하는 방법에 대한 자세한 내용은 을 참조하십시오.자습서: Amazon ECS 서비스 배포. 이 참조 정보는AWS CodeDeploy사용 설명서Amazon ECS를 통한 블루/그린 배포에 대한 개요를 제공합니다.AWS CodeDeploy.
-
Amazon Elastic Container Service— Docker 이미지 및 컨테이너, ECS 서비스 및 클러스터, ECS 작업 세트를 사용한 작업에 대한 자세한 내용은 을 참조하십시오.Amazon EC2란 무엇입니까?