기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CodeDeploy 기본 구성 요소
서비스 작업을 시작하기 전에 CodeDeploy 배포 프로세스의 주요 구성 요소를 숙지해야 합니다.
애플리케이션
애플리케이션은 배포하려는 애플리케이션을 고유하게 식별하는 이름입니다. 는 컨테이너 역할을 하는 이 이름을 CodeDeploy 사용하여 배포 중에 개정, 배포 구성 및 배포 그룹의 올바른 조합을 참조합니다.
컴퓨팅 플랫폼
컴퓨팅 플랫폼은 가 애플리케이션을 CodeDeploy 배포하는 플랫폼입니다. 다음과 같은 세 가지 컴퓨팅 플랫폼이 있습니다.
EC2/온프레미스 : Amazon EC2 클라우드 인스턴스, 온프레미스 서버 또는 둘 다일 수 있는 물리적 서버의 인스턴스를 설명합니다. EC2/온프레미스 컴퓨팅 플랫폼을 사용하여 생성된 애플리케이션은 실행 파일, 구성 파일, 이미지 등으로 구성될 수 있습니다.
EC2/온프레미스 컴퓨팅 플랫폼을 사용하는 배포는 현재 위치 또는 블루/그린 배포 유형을 사용하여 트래픽이 인스턴스로 전달되는 방식을 관리합니다. 자세한 내용은 배포 유형 개요 CodeDeploy 단원을 참조하십시오.
AWS Lambda : Lambda 함수의 업데이트된 버전으로 구성된 애플리케이션을 배포하는 데 사용됩니다. 는 고가용성 컴퓨팅 구조로 구성된 서버리스 컴퓨팅 환경에서 Lambda 함수를 AWS Lambda 관리합니다. 컴퓨팅 리소스의 모든 관리는 에서 수행합니다 AWS Lambda. 자세한 정보는 서버리스 컴퓨팅 및 애플리케이션
을 참조하세요. AWS Lambda 및 Lambda 함수에 대한 자세한 내용은 섹션을 참조하세요AWS Lambda . canary, 선형 또는 all-at-once 구성을 선택하여 배포 중에 트래픽이 업데이트된 Lambda 함수 버전으로 전환되는 방식을 관리할 수 있습니다.
Amazon ECS: Amazon ECS 컨테이너화된 애플리케이션을 작업 세트로 배포하는 데 사용됩니다. CodeDeploy 는 업데이트된 버전의 애플리케이션을 새 대체 작업 세트로 설치하여 블루/그린 배포를 수행합니다. 는 원래 애플리케이션 작업 세트에서 대체 작업 세트로 프로덕션 트래픽을 CodeDeploy 다시 라우팅합니다. 배포가 성공하면 기존 작업 세트는 종료됩니다. Amazon 에 대한 자세한 내용은 Amazon Elastic Container Service 를
ECS참조하세요. canary, 선형 또는 all-at-once 구성을 선택하여 배포 중에 트래픽이 업데이트된 작업 세트로 이동하는 방식을 관리할 수 있습니다.
참고
Amazon ECS 블루/그린 배포는 CodeDeploy 및 를 통해 지원됩니다 AWS CloudFormation. 이러한 배포에 대한 세부 정보는 다음 단원에서 설명합니다.
배포 구성
배포 구성은 배포 CodeDeploy 중에 에서 사용하는 배포 규칙 및 배포 성공 및 실패 조건 세트입니다. 배포에서 EC2/온프레미스 컴퓨팅 플랫폼을 사용하는 경우 배포에 사용할 정상 인스턴스의 최소 수를 지정할 수 있습니다. 배포에서 AWS Lambda 또는 Amazon ECS 컴퓨팅 플랫폼을 사용하는 경우 업데이트된 Lambda 함수 또는 ECS 태스크 세트로 트래픽이 라우팅되는 방법을 지정할 수 있습니다.
EC2/온프레미스 컴퓨팅 플랫폼을 사용하는 배포에 대한 정상 호스트의 최소 수를 지정하는 방법에 대한 자세한 내용은 섹션을 참조하세요최소 정상 인스턴스 수 정보.
다음 배포 구성은 Lambda 또는 ECS 컴퓨팅 플랫폼을 사용하는 배포 중에 트래픽이 라우팅되는 방법을 지정합니다.
카나리(Canary): 트래픽이 두 증분으로 나뉘어 이동합니다. 업데이트된 Lambda 함수 또는 ECS 작업 세트로 전환된 트래픽의 비율을 첫 번째 증분으로 지정하고 나머지 트래픽이 두 번째 증분으로 전환되기 전에 간격을 분 단위로 지정하는 사전 정의된 canary 옵션 중에서 선택할 수 있습니다.
리니어(Linear): 트래픽이 동일한 증분 이동하며 각 증분 간에 시간 간격(분)이 동일합니다. 각 증분에서 이동할 트래픽 비율(%)과 각 증분 간의 시간 간격(분)을 지정하는 사전 정의된 선형 옵션에서 선택할 수 있습니다.
ll-at-once: 모든 트래픽이 원래 Lambda 함수 또는 ECS 작업 세트에서 업데이트된 함수 또는 작업 세트로 한 번에 전환됩니다.
배포 그룹
배포 그룹이란 개별 인스턴스 집합입니다. 배포 그룹에는 개별적으로 태그가 지정된 인스턴스, Amazon EC2 Auto Scaling 그룹의 Amazon EC2 인스턴스 또는 둘 다 포함됩니다. Amazon EC2 인스턴스 태그에 대한 자세한 내용은 콘솔을 사용하여 태그 작업을 참조하세요. 온프레미스 인스턴스에 대한 자세한 정보는 Working with On-Premises Instances 단원을 참조하세요. Amazon EC2 Auto Scaling 대한 자세한 내용은 섹션을 참조하세요Amazon EC2 Auto CodeDeploy Scaling과의 통합.
배포 유형
배포 유형이란 배포 그룹의 인스턴스에서 최신 애플리케이션 수정 버전을 사용 가능하게 만드는 방법입니다. 배포 유형에는 두 가지가 있습니다.
현재 위치 배포: 배포 그룹의 각 인스턴스에 있는 애플리케이션이 중지되고 최신 애플리케이션 개정 버전이 설치되며 애플리케이션의 새 버전이 시작되고 유효성이 검사됩니다. 로드 밸런서를 사용하면 배포가 진행될 때 각 인스턴스를 등록 취소한 후 배포가 완료된 후 서비스로 복원할 수 있습니다. EC2/온프레미스 컴퓨팅 플랫폼을 사용하는 배포만 현재 위치에서 배포를 사용할 수 있습니다. 현재 위치 배포에 대한 자세한 내용은 인 플레이스 배포 개요 단원을 참조하세요.
Blue/Green 배포: 배포 동작은 사용하는 컴퓨팅 플랫폼에 따라 다릅니다.
-
EC2/온프레미스 컴퓨팅 플랫폼의 블루/그린: 배포 그룹(원래 환경)의 인스턴스는 다음 단계를 사용하여 다른 인스턴스 세트(대체 환경)로 대체됩니다.
-
인스턴스는 대체 환경을 위해 프로비저닝됩니다.
-
최신 애플리케이션 수정은 대체 인스턴스에 설치됩니다.
-
애플리케이션 테스트 및 시스템 검증과 같은 활동에 선택적 대기 시간이 발생합니다.
-
대체 환경의 인스턴스가 하나 이상의 Elastic Load Balancing 로드 밸런서에 등록되고 트래픽이 이러한 인스턴스로 라우팅됩니다. 원래 환경의 인스턴스는 등록이 취소되고 종료되거나 다른 용도로 계속 실행될 수 있습니다.
참고
EC2/온프레미스 컴퓨팅 플랫폼을 사용하는 경우 블루/그린 배포는 Amazon EC2 인스턴스에서만 작동한다는 점에 유의하세요.
-
-
AWS Lambda 또는 Amazon ECS 컴퓨팅 플랫폼의 블루/그린 : 트래픽은 canary , 선형 또는 all-at-once 배포 구성에 따라 증분 단위로 이동합니다.
-
를 통한 블루/그린 배포 AWS CloudFormation: 트래픽은 AWS CloudFormation 스택 업데이트의 일부로 현재 리소스에서 업데이트된 리소스로 전환됩니다. 현재는 ECS 블루/그린 배포만 지원됩니다.
블루/그린 배포에 대한 자세한 내용은 블루/그린 배포 개요 섹션을 참조하세요.
-
참고
Amazon ECS 블루/그린 배포는 CodeDeploy 및 를 모두 사용하여 지원됩니다 AWS CloudFormation. 이러한 배포에 대한 세부 정보는 다음 단원에서 설명합니다.
IAM 인스턴스 프로파일
IAM 인스턴스 프로필은 Amazon EC2 인스턴스에 연결하는 IAM 역할입니다. 이 프로파일에는 애플리케이션이 저장된 Amazon S3 버킷 또는 GitHub 리포지토리에 액세스하는 데 필요한 권한이 포함됩니다. 자세한 내용은 4단계: Amazon IAM 인스턴스의 EC2 인스턴스 프로파일 생성 단원을 참조하십시오.
개정
수정 버전이란 애플리케이션의 버전입니다. AWS Lambda 배포 개정은 배포할 Lambda 함수에 대한 정보를 지정하는 형식 YAML또는 JSON형식의 파일입니다. EC2/온프레미스 배포 개정은 소스 콘텐츠(소스 코드, 웹 페이지, 실행 파일 및 배포 스크립트)와 애플리케이션 사양 파일(AppSpec 파일)이 포함된 아카이브 파일입니다. AWS Lambda 개정은 Amazon S3 버킷에 저장할 수 있습니다. EC2/온프레미스 개정은 Amazon S3 버킷 또는 GitHub 리포지토리에 저장됩니다. Amazon S3의 경우 개정은 Amazon S3 객체 키와 ETag, 버전 또는 둘 다로 고유하게 식별됩니다. GitHub의 경우 개정은 커밋 ID로 고유하게 식별됩니다.
서비스 역할
서비스 역할은 AWS 리소스에 액세스할 수 있도록 AWS 서비스에 권한을 부여하는 IAM 역할입니다. 서비스 역할에 연결하는 정책은 서비스가 액세스할 수 있는 AWS 리소스와 해당 리소스로 수행할 수 있는 작업을 결정합니다. CodeDeploy의 경우 서비스 역할은 다음에 사용됩니다.
-
인스턴스에 적용된 태그 또는 인스턴스와 연결된 Amazon EC2 Auto Scaling 그룹 이름을 읽습니다. 이렇게 하면 CodeDeploy 가 애플리케이션을 배포할 수 있는 인스턴스를 식별할 수 있습니다.
-
인스턴스, Amazon EC2 Auto Scaling 그룹 및 Elastic Load Balancing 로드 밸런서에 대한 작업을 수행하려면
-
지정된 배포 또는 인스턴스 이벤트가 발생할 때 알림을 보낼 수 있도록 Amazon SNS 주제에 정보를 게시합니다.
-
CloudWatch 경보에 대한 정보를 검색하여 배포에 대한 경보 모니터링을 설정합니다.
자세한 내용은 2단계: 서비스 역할 만들기 CodeDeploy 단원을 참조하십시오.
대상 수정 버전
대상 수정 버전이란 리포지토리에 업로드했고 배포 그룹의 인스턴스에 배포하려는 가장 최신 버전의 애플리케이션 수정 버전입니다. 다시 말해서, 애플리케이션 수정은 현재 배포를 위해 대상 지정됩니다. 또한 이 수정은 자동 배포를 위해 풀링되는 수정입니다.
기타 구성 요소
CodeDeploy 워크플로의 다른 구성 요소에 대한 자세한 내용은 다음 주제를 참조하세요.