작업할 Amazon EC2 인스턴스 구성 CodeDeploy - AWS CodeDeploy

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

작업할 Amazon EC2 인스턴스 구성 CodeDeploy

이 지침은 CodeDeploy 배포에 사용할 Amazon Linux, Ubuntu Server, Red Hat Enterprise Linux(RHEL) 또는 Windows Server를 실행하는 Amazon EC2 인스턴스를 구성하는 방법을 보여줍니다.

참고

Amazon EC2 인스턴스가 없는 경우 AWS CloudFormation 템플릿을 사용하여 실행 중인 Amazon Linux 또는 Windows Server를 시작할 수 있습니다. Ubuntu Server 또는 에는 템플릿을 제공하지 않습니다RHEL.

1단계: IAM 인스턴스 프로파일이 Amazon EC2 인스턴스에 연결되어 있는지 확인

  1. 에 로그인 AWS Management Console 하고 에서 Amazon EC2 콘솔을 엽니다https://console.aws.amazon.com/ec2/.

  2. 탐색 창의 인스턴스에서 인스턴스를 선택합니다.

  3. 목록에서 Amazon EC2 인스턴스를 찾아 선택합니다.

  4. 세부 정보 창의 설명 탭에서 IAM 역할 필드에 값을 기록한 다음 다음 섹션으로 진행합니다.

    필드가 비어 있는 경우 IAM 인스턴스에 인스턴스 프로파일을 연결할 수 있습니다. 자세한 내용은 인스턴스에 IAM 역할 연결을 참조하세요.

2단계: 연결된 IAM 인스턴스 프로파일에 올바른 액세스 권한이 있는지 확인

  1. 에서 IAM 콘솔을 엽니다https://console.aws.amazon.com/iam/.

  2. 탐색 창에서 Roles를 선택합니다.

  3. 이전 섹션의 4단계에서 기록한 IAM 역할 이름을 찾아 선택합니다.

    참고

    의 지침에 따라 생성한 서비스 역할 대신 AWS CloudFormation 템플릿에서 생성한 서비스 역할을 사용하려면 다음 사항에 2단계: 서비스 역할 만들기 CodeDeploy유의하세요.

    일부 AWS CloudFormation 템플릿 버전에서는 Amazon IAM 인스턴스에 생성되고 연결된 EC2 인스턴스 프로파일의 표시 이름이 IAM 콘솔의 표시 이름과 동일하지 않습니다. 예를 들어 IAM 인스턴스 프로파일의 표시 이름은 CodeDeploySampleStack-expnyi6-InstanceRoleInstanceProfile-IK8J8A9123EX인 반면 IAM 콘솔의 IAM 인스턴스 프로파일의 표시 이름은 입니다CodeDeploySampleStack-expnyi6-InstanceRole-C5P33V1L64EX.

    IAM 콘솔에서 인스턴스 프로파일을 식별하는 데 도움이 되도록 의 접두사가 둘 다 CodeDeploySampleStack-expnyi6-InstanceRole 동일한 것을 볼 수 있습니다. 표시 이름이 다를 수 있는 이유에 대해서는 인스턴스 프로파일에서 자세한 내용을 확인하세요.

  4. 신뢰 관계(Trust Relationships) 탭을 선택합니다. 신뢰할 수 있는 엔터티ID 공급자(들) ec2.amazonaws.com라는 항목이 없는 경우 이 Amazon EC2 인스턴스를 사용할 수 없습니다. 의 정보를 사용하여 Amazon EC2 인스턴스를 중지하고 생성합니다에 대한 인스턴스 작업 CodeDeploy.

    ID 공급자(들) ec2.amazonaws.com라는 항목이 있고 애플리케이션을 GitHub 리포지토리에만 저장하는 경우 로 건너뛰세요3단계: Amazon EC2 인스턴스에 태그 지정.

    The identity provider(s) ec2.amazonaws.com이라는 항목이 있고 애플리케이션을 Amazon S3 버킷에 저장하는 경우 권한(Permissions) 탭을 선택합니다.

  5. 권한 정책(Permissions policies) 영역에 정책이 있는 경우 정책을 확장한 다음 정책 편집(Edit policy)을 선택합니다.

  6. JSON 탭을 선택합니다. Amazon S3 버킷에 애플리케이션을 저장하는 경우 "s3:Get*""s3:List*"가 지정된 작업 목록에 있어야 합니다.

    다음과 같을 것입니다.

    {"Statement":[{"Resource":"*","Action":[ ... Some actions may already be listed here ... "s3:Get*","s3:List*" ... Some more actions may already be listed here ... ],"Effect":"Allow"}]}

    또는 다음과 같을 것입니다.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ ... Some actions may already be listed here ... "s3:Get*", "s3:List*" ... Some more actions may already be listed here ... ], ... } ] }

    "s3:Get*""s3:List*"가 지정된 작업 목록에 없으면 편집(Edit)을 선택하여 추가한 다음저장(Save)을 선택합니다. ("s3:Get*" 또는 "s3:List*"가 목록의 마지막 작업이 아닌 경우 정책 문서의 유효성을 검사할 수 있도록 작업 뒤에 쉼표를 추가해야 합니다.)

    참고

    이 정책은 Amazon 인스턴스가 액세스해야 하는 Amazon S3 버킷으로만 제한하는 것이 좋습니다. EC2 CodeDeploy 에이전트가 포함된 Amazon S3 버킷에 대한 액세스 권한을 부여해야 합니다. 그렇지 않으면 CodeDeploy 에이전트가 인스턴스에 설치되거나 업데이트될 때 오류가 발생할 수 있습니다. Amazon S3의 일부 CodeDeploy 리소스 키트 버킷에만 IAM 인스턴스 프로파일 액세스 권한을 부여하려면 다음 정책을 사용하고 액세스를 차단하려는 버킷의 라인을 제거합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:s3:::aws-codedeploy-us-east-2/*", "arn:aws:s3:::aws-codedeploy-us-east-1/*", "arn:aws:s3:::aws-codedeploy-us-west-1/*", "arn:aws:s3:::aws-codedeploy-us-west-2/*", "arn:aws:s3:::aws-codedeploy-ca-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-2/*", "arn:aws:s3:::aws-codedeploy-eu-west-3/*", "arn:aws:s3:::aws-codedeploy-eu-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-central-2/*", "arn:aws:s3:::aws-codedeploy-eu-north-1/*", "arn:aws:s3:::aws-codedeploy-eu-south-1/*", "arn:aws:s3:::aws-codedeploy-eu-south-2/*", "arn:aws:s3:::aws-codedeploy-il-central-1/*", "arn:aws:s3:::aws-codedeploy-ap-east-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-3/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-3/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*", "arn:aws:s3:::aws-codedeploy-ap-south-1/*", "arn:aws:s3:::aws-codedeploy-ap-south-2/*", "arn:aws:s3:::aws-codedeploy-me-central-1/*", "arn:aws:s3:::aws-codedeploy-me-south-1/*", "arn:aws:s3:::aws-codedeploy-sa-east-1/*" ] } ] }

3단계: Amazon EC2 인스턴스에 태그 지정

배포 중에 찾을 CodeDeploy 수 있도록 Amazon EC2 인스턴스에 태그를 지정하는 방법에 대한 지침은 콘솔에서 태그 작업을 참조한 다음 이 페이지로 돌아갑니다.

참고

원하는 키와 값으로 Amazon EC2 인스턴스에 태그를 지정할 수 있습니다. 배포할 때 해당 키와 값을 지정했는지 확인합니다.

4단계: Amazon EC2 인스턴스에 AWS CodeDeploy 에이전트 설치

Amazon EC2 인스턴스에 CodeDeploy 에이전트를 설치하고 에이전트가 실행 중인지 확인하는 방법에 대한 지침은 섹션을 참조 CodeDeploy 에이전트 작업 관리한 다음 로 진행하세요를 사용하여 애플리케이션 만들기 CodeDeploy.