기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
인프라를AWS Proton 프로비저닝하는 방법
AWS Proton다음과 같은 여러 방법 중 하나로 인프라를 프로비저닝할 수 있습니다.
-
AWS-관리형 프로비저닝 — 사용자를 대신하여 프로비저닝 엔진을AWS Proton 호출합니다. 이 메서드는AWS CloudFormation 템플릿 번들만 지원합니다. 자세한 내용은 AWS CloudFormationIAC 파일을 참조하세요.
-
CodeBuild 프로비저닝 —AWS Proton 사용자가 제공하는 셸 명령을 실행하는AWS CodeBuild 데 사용합니다. 명령은AWS Proton 제공하는 입력을 읽을 수 있으며 인프라 프로비저닝 또는 프로비저닝 해제 및 출력 값 생성을 담당합니다. 이 메서드의 템플릿 번들에는 매니페스트 파일의 명령과 이러한 명령에 필요할 수 있는 프로그램, 스크립트 또는 기타 파일이 포함됩니다.
CodeBuild 프로비저닝 사용의 예로, 를 사용하여AWS 리소스를AWS Cloud Development Kit (AWS CDK) 프로비저닝하는 코드와 CDK를 설치하고 CDK 코드를 실행하는 매니페스트를 포함할 수 있습니다.
자세한 내용은 CodeBuild 프로비저닝 템플릿 번들을 참조하세요.
참고
환경 및 서비스와 함께 CodeBuild 프로비저닝을 사용할 수 있습니다. 현재로서는 이러한 방식으로 구성 요소를 프로비저닝할 수 없습니다.
-
자체 관리형 프로비저닝 — 사용자가 제공한 리포지토리에 풀 리퀘스트 (PR) 를AWS Proton 발행합니다. 리포지토리는 자체 인프라 배포 시스템에서 프로비전 프로세스를 실행합니다. 이 메서드는 Terraform 템플릿 번들만 지원합니다. 자세한 내용은 테라폼 IaC 파일을 참조하세요.
AWS Proton각 환경 및 서비스에 대한 프로비저닝 방법을 개별적으로 결정하고 설정합니다. 환경이나 서비스를 생성하거나 업데이트할 때 는 사용자가 제공하는 템플릿 번들을AWS Proton 검사하고 템플릿 번들이 나타내는 프로비저닝 방법을 결정합니다. 환경 수준에서는 환경 및 해당 잠재적 서비스가 프로비저닝 방법AWS Identity and Access Management (IAM) 역할, 환경 계정 연결 또는 인프라 리포지토리와 같은 프로비저닝 방법에 필요할 수 있는 매개 변수를 제공합니다.
AWS Proton를 사용하여 서비스를 프로비전하는 개발자는 프로비저닝 방법에 관계없이 동일한 경험을 하게 됩니다. 개발자는 프로비저닝 방법을 알 필요가 없으며 서비스 프로비저닝 프로세스에서 어떤 것도 변경할 필요가 없습니다. 서비스 템플릿은 프로비저닝 방법을 설정하며, 개발자가 서비스를 배포하는 각 환경은 서비스 인스턴스 프로비저닝에 필요한 파라미터를 제공합니다.
다음 다이어그램에는 다양한 프로비저닝 방법의 몇 가지 주요 특성이 요약되어 있습니다. 표 다음 섹션에서는 각 방법에 대한 세부 정보를 제공합니다.
프로비저닝 | 템플릿 | 에 의해 프로비저닝 | Status Tradle |
---|---|---|---|
AWS-관리형 |
매니페스트, 스키마, IaC 파일 (CloudFormation) |
AWS Proton(를 통해 CloudFormation) |
AWS Proton(를 통해 CloudFormation) |
CodeBuild |
매니페스트 (명령 포함), 스키마, 명령 종속성 (예:AWS CDK 코드) |
AWS Proton(를 통해 CodeBuild) |
AWS Proton(명령은 다음을 통해 상태를 반환합니다. CodeBuild) |
자체 관리형 |
매니페스트, 스키마, IaC 파일 (테라폼) |
내 코드 (Git 액션을 통해) |
사용자 코드 (API 호출을AWS 통해 전달됨) |
AWS관리형 프로비저닝의 작동 방식
환경 또는 서비스가AWS 관리형 프로비저닝을 사용하는 경우 인프라는 다음과 같이 프로비저닝됩니다.
-
AWS Proton고객 (관리자 또는 개발자) 이AWS Proton 리소스 (환경 또는 서비스) 를 만듭니다. 고객은 리소스에 대한 템플릿을 선택하고 필요한 매개 변수를 제공합니다. 자세한 내용은 다음 단원을 참조하십시오AWS관리형 프로비저닝에 대한 고려 사항.
-
AWS Proton리소스 프로비저닝을 위한 전체AWS CloudFormation 템플릿을 렌더링합니다.
-
AWS Proton렌더링된 템플릿을 사용하여 프로비저닝을 시작하기 위한 호출AWS CloudFormation
-
AWS ProtonAWS CloudFormation배포를 지속적으로 모니터링합니다.
-
프로비저닝이 완료되면 장애 발생 시 오류를AWS Proton 보고하고, 성공적인 경우 Amazon VPC ID와 같은 프로비저닝 출력을 캡처합니다.
다음 다이어그램은 이러한 단계 대부분을 직접AWS Proton 처리하는 과정을 보여줍니다.

AWS관리형 프로비저닝에 대한 고려 사항
-
인프라 프로비저닝 역할 - 환경 또는 해당 환경에서 실행 중인 서비스 인스턴스가AWS 관리형 프로비저닝을 사용할 수 있는 경우 관리자는 IAM 역할 (직접 또는AWS Proton 환경 계정 연결의 일부로) 을 구성해야 합니다. AWS Proton는 이 역할을 사용하여 이러한AWS 관리형 프로비저닝 리소스의 인프라를 프로비저닝합니다. 역할에는 이러한 리소스의 템플릿에 포함된 모든 리소스를 만드는AWS CloudFormation 데 사용할 수 있는 권한이 있어야 합니다.
자세한 내용은 IAM 역할 및 AWS ProtonIAM 서비스 역할 정책 예제 단원을 참조하세요.
-
서비스 프로비저닝 — 개발자가AWS 관리형 프로비저닝을 사용하는 서비스 인스턴스를 환경에 배포하면 해당 환경에 제공된 역할을AWS Proton 사용하여 서비스 인스턴스의 인프라를 프로비저닝합니다. 개발자는 이 역할을 볼 수 없으며 변경할 수도 없습니다.
-
파이프라인이 있는 서비스 -AWS 관리형 프로비저닝을 사용하는 서비스 템플릿에는AWS CloudFormation YAML 스키마로 작성된 파이프라인 정의가 포함될 수 있습니다. AWS Proton또한 를 호출하여 파이프라인을 생성합니다AWS CloudFormation. 파이프라인을 생성하는 데AWS Proton 사용하는 역할은 각 개별 환경의 역할과 별개입니다. 이 역할은AWS 계정 수준에서 한 번만AWS Proton 개별적으로 제공되며 모든AWS 관리형 파이프라인을 프로비저닝하고 관리하는 데 사용됩니다. 이 역할에는 파이프라인에 필요한 파이프라인 및 기타 리소스를 만들 수 있는 권한이 있어야 합니다.
다음 절차에서는 에 파이프라인 역할을 제공하는 방법을 보여줍니다AWS Proton.
CodeBuild 프로비저닝 작동 방식
환경이나 서비스가 CodeBuild 프로비저닝을 사용하는 경우 인프라는 다음과 같이 프로비저닝됩니다.
-
AWS Proton고객 (관리자 또는 개발자) 이AWS Proton 리소스 (환경 또는 서비스) 를 만듭니다. 고객은 리소스에 대한 템플릿을 선택하고 필요한 매개 변수를 제공합니다. 자세한 내용은 다음 단원을 참조하십시오 CodeBuild 프로비저닝 고려 사항.
-
AWS Proton리소스 프로비저닝을 위한 입력 파라미터 값이 포함된 입력 파일을 렌더링합니다.
-
AWS Proton일을 시작하기 CodeBuild 위해 전화하십시오. 이 CodeBuild 작업은 템플릿에 지정된 고객 셸 명령을 실행합니다. 이러한 명령은 입력 값을 선택적으로 읽으면서 원하는 인프라를 제공합니다.
-
프로비저닝이 완료되면 최종 고객 명령이 프로비저닝 상태를 CodeBuild 반환하고 NotifyResourceDeploymentStatusChangeAWS ProtonAPI 작업을 호출하여 Amazon VPC ID와 같은 출력을 제공합니다 (있는 경우).
중요
명령이 프로비저닝 상태를 에 올바르게 CodeBuild 반환하고 출력을 제공하는지 확인하십시오. 그렇지 않으면 프로비저닝 상태를 제대로 추적할AWS Proton 수 없으며 서비스 인스턴스에 올바른 출력을 제공할 수 없습니다.
다음 다이어그램은 CodeBuild 작업 내에서AWS Proton 수행하는 단계와 명령이 수행하는 단계를 보여줍니다.

CodeBuild 프로비저닝 고려 사항
-
인프라 프로비저닝 역할 - 환경 또는 해당 환경에서 실행 중인 서비스 인스턴스가 CodeBuild 기반 프로비저닝을 사용할 수 있는 경우 관리자는 IAM 역할 (직접 또는AWS Proton 환경 계정 연결의 일부로) 을 구성해야 합니다. AWS Proton는 이 역할을 사용하여 이러한 CodeBuild 프로비저닝 리소스의 인프라를 프로비저닝합니다. 역할에는 이러한 리소스 템플릿의 명령에서 제공하는 모든 리소스를 만드는 CodeBuild 데 사용할 수 있는 권한이 있어야 합니다.
자세한 내용은 IAM 역할 및 AWS ProtonIAM 서비스 역할 정책 예제 단원을 참조하세요.
-
서비스 프로비저닝 — 개발자가 환경에 CodeBuild 프로비저닝을 사용하는 서비스 인스턴스를 배포하면 해당 환경에 제공된 역할을AWS Proton 사용하여 서비스 인스턴스의 인프라를 프로비저닝합니다. 개발자는 이 역할을 볼 수 없으며 변경할 수도 없습니다.
-
파이프라인이 있는 서비스 - CodeBuild 프로비저닝을 사용하는 서비스 템플릿에는 파이프라인을 프로비전하는 명령이 포함될 수 있습니다. AWS Proton또한 를 호출하여 파이프라인을 생성합니다 CodeBuild. 파이프라인을 생성하는 데AWS Proton 사용하는 역할은 각 개별 환경의 역할과 별개입니다. 이 역할은AWS 계정 수준에서 한 번만AWS Proton 개별적으로 제공되며 모든 CodeBuild 기반 파이프라인을 프로비저닝하고 관리하는 데 사용됩니다. 이 역할에는 파이프라인에 필요한 파이프라인 및 기타 리소스를 만들 수 있는 권한이 있어야 합니다.
다음 절차에서는 에 파이프라인 역할을 제공하는 방법을 보여줍니다AWS Proton.
자체 관리형 프로비저닝 작동 방식
자체 관리형 프로비저닝을 사용하도록 환경을 구성하면 인프라가 다음과 같이 프로비저닝됩니다.
-
AWS Proton고객 (관리자 또는 개발자) 이AWS Proton 리소스 (환경 또는 서비스) 를 만듭니다. 고객은 리소스에 대한 템플릿을 선택하고 필요한 매개 변수를 제공합니다. 환경의 경우 고객은 연결된 인프라 저장소도 제공합니다. 자세한 내용은 다음 단원을 참조하십시오자체 관리형 프로비저닝 고려 사항.
-
AWS Proton완전한 테라폼 템플릿을 렌더링합니다. 잠재적으로 여러 폴더에 있는 하나 이상의 Terraform 파일과
.tfvars
변수 파일로 구성됩니다. AWS Proton리소스 생성 호출 시 제공된 파라미터 값을 이 변수 파일에 기록합니다. -
AWS Proton렌더링된 Terraform 템플릿을 사용하여 인프라 리포지토리에 PR을 제출합니다.
-
고객 (관리자 또는 개발자) 이 PR을 병합하면 고객의 자동화가 프로비저닝 엔진을 트리거하여 병합된 템플릿을 사용하여 인프라 프로비저닝을 시작합니다.
참고
고객 (관리자 또는 개발자) 이 PR을 종료하면 PR을 종료된 것으로AWS Proton 인식하고 배포를 취소된 것으로 표시합니다.
-
프로비저닝이 완료되면 고객의 자동화 기능이 NotifyResourceDeploymentStatusChangeAWS ProtonAPI 작업을 호출하여 완료를 표시하고, 상태 (성공 또는 실패) 를 제공하고, 있는 경우 Amazon VPC ID와 같은 출력을 제공합니다.
중요
자동화 코드가 프로비저닝 상태 및AWS Proton 출력과 함께 를 다시 호출하는지 확인하십시오. 그렇지 않은 경우 프로비저닝이 예상보다 오래 보류 중인 것으로 간주하고 진행 중 상태로 계속AWS Proton 표시될 수 있습니다.
다음 다이어그램은 자체 프로비전 시스템에서AWS Proton 수행하는 단계와 수행하는 단계를 보여줍니다.

자체 관리형 프로비저닝 고려 사항
-
인프라 리포지토리 — 관리자가 자체 관리형 프로비저닝을 위한 환경을 구성할 때는 연결된 인프라 리포지토리를 제공해야 합니다. AWS ProtonPR을 이 리포지토리에 제출하여 환경의 인프라와 환경에 배포된 모든 서비스 인스턴스를 프로비저닝합니다. 리포지토리의 고객 소유 자동화 작업은 환경 및 서비스 템플릿에 포함된 모든 리소스를 생성할 수 있는 권한과 대상AWS 계정을 반영하는 ID를 가진 IAM 역할을 맡아야 합니다. 역할을 위임하는 GitHub 작업의 예는 작업에 대한 “AWS자격 증명 구성” GitHub 작업 설명서의 역할
수행을 참조하십시오. -
권한 — 프로비저닝 코드는 필요에 따라 계정을 통해 인증 (예: 계정 인증) 하고 리소스 프로비저닝 권한 부여 (예: 역할 제공) 를 제공해야 합니다.AWS
-
서비스 프로비저닝 — 개발자가 자체 관리형 프로비저닝을 사용하는 서비스 인스턴스를 환경에 배포하면 환경과 연결된 리포지토리에 PR을AWS Proton 제출하여 서비스 인스턴스의 인프라를 프로비저닝합니다. 개발자는 리포지토리를 볼 수 없으며 변경할 수도 없습니다.
참고
서비스를 만드는 개발자는 프로비저닝 방법에 관계없이 동일한 프로세스를 사용하며, 그 차이는 추상화됩니다. 그러나 자체 관리형 프로비저닝을 사용하는 개발자는 프로비저닝을 시작하기 전에 누군가 (자신이 아닐 수도 있음) 가 인프라 리포지토리의 PR을 병합할 때까지 기다려야 하기 때문에 응답 속도가 느려질 수 있습니다.
-
파이프라인을 사용한 서비스 - 자체 관리형 프로비저닝이 있는 환경을 위한 서비스 템플릿에는 Terraform HCL로 작성된AWS CodePipeline 파이프라인 정의 (예: 파이프라인) 가 포함될 수 있습니다. 이러한 파이프라인을AWS Proton 프로비전할 수 있도록 관리자는 연결된 파이프라인 리포지토리를 제공합니다AWS Proton. 파이프라인을 프로비저닝할 때 리포지토리의 고객 소유 자동화 작업은 파이프라인을 프로비저닝할 권한이 있는 IAM 역할과 대상AWS 계정을 반영하는 ID를 맡아야 합니다. 파이프라인 리포지토리와 역할은 각 개별 환경에 사용되는 것과는 별개입니다. 연결된 리포지토리는AWS 계정 수준에서 한 번만AWS Proton 별도로 제공되며 모든 파이프라인을 프로비저닝하고 관리하는 데 사용됩니다. 역할에는 파이프라인에 필요한 파이프라인 및 기타 리소스를 만들 수 있는 권한이 있어야 합니다.
다음 절차에서는 에 파이프라인 리포지토리와 역할을 제공하는 방법을 보여줍니다AWS Proton.
-
자체 관리되는 프로비저닝 리소스 삭제 — Terraform 모듈에는 리소스 정의 외에도 Terraform 운영에 필요한 구성 요소가 포함될 수 있습니다. 따라서 환경 또는 서비스 인스턴스의 모든 Terraform 파일을 삭제할AWS Proton 수 없습니다. 대신 파일을 삭제할 것으로AWS Proton 표시하고 PR 메타데이터에서 플래그를 업데이트했습니다. 자동화는 해당 플래그를 읽고 이를 사용하여 terraform destroy 명령을 트리거할 수 있습니다.