다른 AWS 계정에 애플리케이션 배포 - AWS CodeDeploy

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

다른 AWS 계정에 애플리케이션 배포

조직은 일반적으로 다양한 용도로 사용하는 여러 AWS 계정(예:시스템 관리 작업을 위한 계정과 개발, 테스트 및 프로덕션 작업에 대한 또 다른 계정 또는 개발 및 테스트 환경과 관련된 계정과 프로덕션 환경과 관련된 또 다른 계정)을 가지고 있습니다.

서로 다른 계정에서 관련 작업을 수행할 수도 있지만, CodeDeploy 배포 그룹과 배포하는 것에 대한 Amazon EC2 인스턴스는 해당 인스턴스가 생성된 계정과 엄밀하게 연결됩니다. 예를 들어 한 계정에서 시작한 인스턴스를 다른 계정의 배포 그룹에 추가할 수 없습니다.

두 개의 AWS 계정(개발 계정과 프로덕션 계정)이 있다고 가정해 봅시다. 주로 개발 계정에서 작업하지만, 전체 자격 증명 세트 없이 또는 개발 계정에서 로그아웃하여 프로덕션 계정에 로그인하지 않고도 프로덕션 계정에서 배포를 시작할 수 있기를 원합니다.

교차 계정 구성 단계를 수행한 후에는 조직의 다른 계정에 대한 전체 자격 증명 세트 없이 해당 계정에 속한 배포를 시작할 수 있습니다. 부분적으로 해당 계정에 대한 임시 액세스 권한을 부여하는 AWS Security Token Service(AWS STS)에서 제공하는 기능을 사용하여 이 작업을 수행합니다.

1단계: 두 계정 중 하나에 S3 버킷 생성

개발 계정 또는 프로덕션 계정에서 다음을 수행합니다.

  • 아직 생성하지 않은 경우 프로덕션 계정에 대한 애플리케이션 개정 버전이 저장될 Amazon S3 버킷을 생성합니다. 자세한 정보는 Amazon S3에서 버킷 생성을 참조하세요. 두 계정 모두에 동일한 버킷 및 애플리케이션 개정 버전을 사용하여 개발 계정에서 테스트하고 확인한 동일한 파일을 프로덕션 환경에 배포할 수도 있습니다.

2단계: Amazon S3 버킷에 프로덕션 계정의 IAM 인스턴스 프로필에 대한 권한 부여

1단계에서 생성한 Amazon S3 버킷이 프로덕션 계정에 있는 경우 이 단계가 필요하지 않습니다. 나중에 수임하는 역할은 프로덕션 계정에도 있기 때문에 이미 이 버킷에 액세스할 수 있습니다.

개발 계정에서 Amazon S3 버킷을 생성한 경우 다음을 수행합니다.

  • 프로덕션 계정에서 IAM 인스턴스 프로파일을 생성합니다. 자세한 내용은 4단계: Amazon EC2 인스턴스에 대한 IAM 인스턴스 프로파일 만들기을 참조하세요.

    참고

    이 IAM 인스턴스 프로파일의 ARN을 기록해 둡니다. 다음에 생성하는 교차 버킷 정책에 추가해야 합니다.

  • 개발 계정에서 개발 계정으로 생성한 Amazon S3 버킷에 대한 액세스 권한을 프로덕션 계정에서 방금 생성한 IAM 인스턴스 프로파일에 부여합니다. 자세한 내용은 예제 2: 버킷 소유자가 교차 계정 버킷 권한 부여를 참조하세요.

    교차 계정 버킷 권한 부여 프로세스를 완료할 때 다음 사항에 유의하세요.

    • 예제 연습에서 계정 A는 개발 계정을 나타내고 계정 B는 프로덕션 계정을 나타냅니다.

    • 계정 A(개발 계정) 작업에서 다음 버킷 정책을 수정하여 연습에 제공된 정책 예제를 사용하는 대신 교차 계정 권한을 부여하도록 합니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "Cross-account permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/role-name" }, "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::bucket-name/*" ] } ] }

      account-id는 방금 IAM 인스턴스 프로파일을 생성한 프로덕션 계정의 계정 번호를 나타냅니다.

      role-name은 방금 생성한 IAM 인스턴스 프로파일의 이름을 나타냅니다.

      bucket-name은 1단계에서 생성한 버킷의 이름을 나타냅니다. 버킷 내의 각 파일에 대한 액세스를 제공할 수 있도록 버킷 이름 뒤에 /*을(를) 포함해야 합니다.

3단계: 프로덕션 계정에서 리소스 및 교차 계정 역할 생성

프로덕션 계정에서 다음을 수행합니다.

  • 이 가이드의 지침에 따라 CodeDeploy 리소스(애플리케이션, 배포 그룹, 배포 구성, Amazon EC2 인스턴스, Amazon EC2 인스턴스 프로파일, 서비스 역할 등)를 생성합니다.

  • 개발 계정의 사용자가 이 프로덕션 계정에서 CodeDeploy 작업을 수행하도록 수임할 수 있는 추가 역할인 교차 계정 IAM 역할을 생성합니다.

    연습: IAM 역할을 사용하여 AWS 계정에 액세스 권한 위임을 교차 계정 역할을 만드는 데 도움이 되는 가이드로 사용합니다. 연습의 권한 예제를 정책 문서에 추가하는 대신 최소한 다음 두 개의 AWS 제공 정책을 역할에 연결해야 합니다.

    • AmazonS3FullAccess: S3 버킷이 개발 계정에 있는 경우에만 필요합니다. 위임된 프로덕션 계정 역할에 개정 버전이 저장된 개발 계정의 Amazon S3 서비스 및 리소스에 대한 전체 액세스 권한을 제공합니다.

    • AWSCodeDeployDeployerAccess: 사용자가 개정 버전을 등록 및 배포할 수 있도록 합니다.

    배포를 시작하는 것만이 아니라 배포 그룹을 만들고 관리하려는 경우 AWSCodeDeployDeployerAccess 정책 대신 AWSCodeDeployFullAccess 정책을 추가하세요. IAM 관리형 정책을 사용하여 CodeDeploy 작업에 대한 권한을 부여하는 방법에 대한 자세한 내용은 AWS 에 대한 관리형 (사전 정의된) 정책 CodeDeploy 단원을 참조하세요.

    이 교차 계정 역할을 사용하는 동안 다른 AWS 서비스에서 작업을 수행하려는 경우 추가 정책을 연결할 수 있습니다.

중요

교차 계정 IAM 역할을 생성할 때 프로덕션 계정에 액세스하는 데 필요한 세부 정보를 기록해 둡니다.

AWS Management Console을(를) 사용하여 역할을 전환하려면 다음 중 하나를 제공해야 합니다.

  • 위임된 역할의 자격 증명을 사용하여 프로덕션 계정에 액세스하기 위한 URL. 검토 페이지에서 이 URL을 찾을 수 있습니다. 이는 교차 계정 역할 생성 프로세스가 끝날 때 표시됩니다.

  • 교차 계정 역할의 이름과 계정 ID 번호 또는 별칭.

AWS CLI을(를) 사용하여 역할을 전환하려면 다음을 제공해야 합니다.

  • 위임할 교차 계정 역할의 ARN.

4단계: Amazon S3 버킷에 애플리케이션 개정 버전 업로드.

Amazon S3 버킷을 생성한 계정에서 다음을 수행합니다.

5단계: 교차 계정 역할을 위임하고 애플리케이션 배포

개발 계정에서 AWS CLI 또는 AWS Management Console을(를) 사용하여 교차 계정 역할을 위임하고 프로덕션 계정에서 배포를 시작합니다.

AWS Management Console을(를) 사용하여 역할을 전환하고 배포를 시작하는 방법에 대한 자세한 내용은 역할(AWS Management Console)로 전환EC2/온프레미스 컴퓨팅 플랫폼의 배포 생성(콘솔)을(를) 참조하세요.

AWS CLI을(를) 사용하여 교차 계정 역할을 위임하고 배포를 시작하는 방법에 대한 자세한 내용은 IAM 역할(AWS Command Line Interface)로 전환EC2/온프레미스 컴퓨팅 플랫폼의 배포 생성(CLI)을(를) 참조하세요.

AWS STS을(를) 통해 역할을 위임하는 방법에 대한 자세한 내용은 AWS Security Token Service사용 설명서AssumeRoleAWS CLI명령 참조assume-role을 참조하세요.

관련 주제: