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. 의 AmazonECS에서 CodeDeploy 블루/그린 배포 작업에 대한 참조 정보는 섹션을 CodePipeline참조하세요Amazon Elastic Container Service 및 블루 CodeDeploy 그린 배포 작업 참조.

작업 유형

  • 범주: Deploy

  • 소유자: AWS

  • 공급자: ECS

  • 버전: 1

구성 파라미터

ClusterName

필수 여부: 예

Amazon 의 Amazon ECS 클러스터입니다ECS.

ServiceName

필수 여부: 예

Amazon 에서 생성한 Amazon ECS 서비스입니다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하고 imagedefinitions.json 파일을 생성하는 CodeBuild BuildSpec 파일을 통합하는 방법을 보여줍니다. 마지막으로 Amazon ECS 서비스 및 작업 정의를 생성한 다음 Amazon ECS 배포 작업을 사용하여 파이프라인을 생성합니다.

    참고

    이 주제 및 자습서에서는 에 대한 Amazon ECS 표준 배포 작업을 설명합니다 CodePipeline. 의 Amazon에서 CodeDeploy 블루/그린ECS으로의 배포 작업에 대한 자세한 내용은 섹션을 CodePipeline참조하세요자습서: Amazon ECR 소스 및 CodeDeploy 배포ECS로 파이프라인 생성.

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