Amazon Elastic Container Service - AWS CodePipeline

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Elastic Container Service

Amazon ECS 작업을 사용하여 Amazon ECS 서비스 및 작업 세트를 배포할 수 있습니다. Amazon ECS 서비스는 Amazon ECS 클러스터에 배포되는 컨테이너 애플리케이션입니다. Amazon ECS 클러스터는 클라우드에서 컨테이너 애플리케이션을 호스팅하는 인스턴스 모음입니다. 배포에는 Amazon ECS에서 생성한 작업 정의와 CodePipeline이 이미지를 배포하는 데 사용하는 이미지 정의 파일이 필요합니다.

중요

CodePipeline의 Amazon ECS 표준 배포 작업은 Amazon ECS 서비스에서 사용하는 수정 버전을 기반으로 작업 정의의 자체 수정 버전을 생성합니다. Amazon ECS 서비스를 업데이트하지 않고 작업 정의에 대한 새 수정 사항을 생성하면 배포 작업에서 해당 수정 사항을 무시합니다.

파이프라인을 생성하기 전에 이미 Amazon ECS 리소스를 생성하고 이미지에 태그를 지정하여 이미지 리포지토리에 저장한 다음 BuildSpec 파일을 파일 리포지토리에 업로드해야 합니다.

참고

이 참조 항목에서는 CodePipeline의 Amazon ECS 표준 배포 작업에 대해 설명합니다. CodePipeline에서의 CodeDeploy 블루/그린 배포 작업에 대한 Amazon ECS에 대한 참조 정보는 Amazon Elastic Container Service 및 CodeDeploy 블루-그린을 참조하세요.

작업 유형

  • 범주: Deploy

  • 소유자: AWS

  • 공급자: ECS

  • 버전: 1

구성 파라미터

ClusterName

필수 항목 여부: 예

Amazon ECS의 Amazon ECS 클러스터.

ServiceName

필수 항목 여부: 예

Amazon ECS에서 생성한 Amazon ECS 서비스.

FileName

필수 항목 여부: 아니요

서비스의 컨테이너 이름과 이미지 및 태그를 설명하는 JSON 파일, 이미지 정의 파일의 이름입니다. 이 파일은 ECS 표준 배포에 사용합니다. 자세한 정보는 입력 아티팩트Amazon ECS 표준 배포 작업을 위한 imagedefinitions.json 파일 섹션을 참조하세요.

DeploymentTimeout

필수 항목 여부: 아니요

Amazon ECS 배포 작업 제한 시간(분). 제한 시간은 이 작업에 대한 최대 기본 제한 시간까지 구성할 수 있습니다. 예:

"DeploymentTimeout": "15"

입력 아티팩트

  • 아티팩트 수: 1

  • 설명: 작업은 파이프라인의 소스 파일 리포지토리에서 imagedefinitions.json 파일을 찾습니다. 이미지 정의 문서는 Amazon ECS 컨테이너 이름과 이미지 및 태그를 설명하는 JSON 파일입니다. CodePipeline은 Amazon ECR과 같은 이미지 리포지토리에서 파일을 사용하여 이미지를 검색합니다. 작업이 자동화되지 않은 파이프라인용 imagedefinitions.json 파일을 수동으로 추가할 수 있습니다. imagedefinitions.json 파일에 대한 자세한 내용은 Amazon ECS 표준 배포 작업을 위한 imagedefinitions.json 파일 단원을 참조하십시오.

    작업을 수행하려면 이미지 리포지토리에 이미 푸시된 기존 이미지가 필요합니다. 이미지 매핑은 imagedefinitions.json 파일에서 제공되므로 Amazon ECR 소스를 파이프라인의 소스 작업으로 포함할 필요는 없습니다.

출력 아티팩트

  • 아티팩트 수: 0

  • 설명: 이 작업 유형에는 출력 아티팩트가 적용되지 않습니다.

작업 선언

YAML
Name: DeployECS ActionTypeId: Category: Deploy Owner: AWS Provider: ECS Version: '1' RunOrder: 2 Configuration: ClusterName: my-ecs-cluster ServiceName: sample-app-service FileName: imagedefinitions.json DeploymentTimeout: '15' OutputArtifacts: [] InputArtifacts: - Name: my-image
JSON
{ "Name": "DeployECS", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "ECS", "Version": "1" }, "RunOrder": 2, "Configuration": { "ClusterName": "my-ecs-cluster", "ServiceName": "sample-app-service", "FileName": "imagedefinitions.json", "DeploymentTimeout": "15" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "my-image" } ] },

이 작업을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.

  • 자습서: CodePipeline을 사용한 지속적 배포 - 이 자습서에서는 CodeCommit과 같은 소스 파일 리포지토리에 저장하는 Dockerfile을 만드는 방법을 보여줍니다. 다음으로 자습서에서는 도커 이미지를 빌드하여 Amazon ECR로 푸시하고 imagedefinitions.json 파일을 생성하는 CodeBuild BuildSpec 파일을 통합하는 방법을 보여줍니다. 마지막으로 Amazon ECS 서비스와 작업 정의를 생성한 다음 Amazon ECS 배포 작업을 사용하여 파이프라인을 생성합니다.

    참고

    이 주제 및 자습서에서는 CodePipeline의 Amazon ECS 표준 배포 작업에 대해 설명합니다. CodePipeline에서의 CodeDeploy 블루/그린 배포 작업에 대한 Amazon ECS에 대한 정보는 자습서: Amazon ECR 소스 및 ECS-to-CodeDeploy 배포를 사용하여 파이프라인 생성을 참조하세요.

  • Amazon Elastic Container Service 개발자 안내서 - 도커 이미지 및 컨테이너, Amazon ECS 서비스 및 클러스터, Amazon ECS 작업 세트 사용에 대한 자세한 내용은 Amazon ECS란 무엇입니까?를 참조하세요.