Amazon Elastic Container Service - AWS CodePipeline

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

Amazon Elastic Container Service

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

중요

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

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

참고

이 참조 항목에서는 Amazon ECS 표준 배포 작업에 대해 CodePipeline 설명합니다. Amazon ECS의 CodeDeploy 블루/그린 배포 작업에 대한 참조 정보는 을 참조하십시오. CodePipeline Amazon 엘라스틱 컨테이너 서비스 및 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 — 이 자습서에서는 다음과 같은 소스 파일 리포지토리에 저장하는 Dockerfile을 생성하는 방법을 보여줍니다. CodeCommit 다음으로 자습서에서는 Docker 이미지를 빌드하여 Amazon ECR에 푸시하는 CodeBuild BuildSpec 파일을 통합하고 imagefinitions.json 파일을 생성하는 방법을 보여줍니다. 마지막으로 Amazon ECS 서비스와 작업 정의를 생성한 다음 Amazon ECS 배포 작업을 사용하여 파이프라인을 생성합니다.

    참고

    이 주제 및 자습서에서는 Amazon ECS 표준 배포 작업에 대해 CodePipeline 설명합니다. Amazon ECS에서 CodeDeploy 블루/그린 배포 작업을 수행하는 방법에 대한 자세한 내용은 을 참조하십시오. CodePipeline 자습서: Amazon ECR 소스 및 ECS에서 배포할 때 사용하는 파이프라인 생성 CodeDeploy

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