

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

# CodeDeploy 작업을 위한 Amazon EC2 인스턴스 구성
<a name="instances-ec2-configure"></a>

이러한 지침은 CodeDeploy에 사용하기 위해 Amazon Linux, Ubuntu Server, Red Hat Enterprise Linux(RHEL) 또는 Windows Server를 실행하는 Amazon EC2 인스턴스 구성 방법을 안내합니다.

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

## 1단계: IAM 인스턴스 프로파일이 Amazon EC2 인스턴스에 연결되어 있는지 확인
<a name="instances-ec2-configure-1-verify-instance-profile-attached"></a>

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

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

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

1. 세부 정보 창의 **설명(Description)** 탭에서 **IAM 역할(IAM role)** 필드의 값을 기록해 둔 후 다음 섹션으로 넘어갑니다.

   필드가 비어 있는 경우 IAM 인스턴스 프로파일을 인스턴스에 연결할 수 있습니다. 자세한 내용은 [IAM 역할을 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)을 참조하세요.

## 2단계: 연결된 IAM 인스턴스 프로파일에 올바른 액세스 권한이 있는지 확인
<a name="instances-ec2-configure-2-verify-instance-profile-permissions"></a>

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. 탐색 창에서 **역할**을 선택합니다.

1. 이전 섹션의 4단계에서 기록해 둔 IAM 역할 이름을 찾아 선택합니다.
**참고**  
의 지침에 따라 생성한 서비스 역할 대신 CloudFormation 템플릿에서 생성한 서비스 역할을 사용하려면 다음 사항에 [2단계: CodeDeploy에 대한 서비스 역할 생성](getting-started-create-service-role.md)유의하세요.  
 CloudFormation 템플릿의 일부 버전에서는 생성되어 Amazon EC2 인스턴스에 연결된 IAM 인스턴스 프로파일의 표시 이름이 IAM 콘솔의 표시 이름과 동일하지 않습니다. 예를 들어 IAM 인스턴스 프로파일의 표시 이름은 `CodeDeploySampleStack-expnyi6-InstanceRoleInstanceProfile-IK8J8A9123EX`인 반면 IAM 콘솔의 IAM 인스턴스 프로파일의 표시 이름은 `CodeDeploySampleStack-expnyi6-InstanceRole-C5P33V1L64EX`일 수 있습니다.  
IAM 콘솔에서 인스턴스 프로파일을 식별하기 위해서는 두 가지 표시 이름의 `CodeDeploySampleStack-expnyi6-InstanceRole` 접두사가 동일한 것을 확인합니다. 표시 이름이 다를 수 있는 이유에 대해서는 [인스턴스 프로파일](https://docs.aws.amazon.com/IAM/latest/UserGuide/instance-profiles.html)에서 자세한 내용을 확인하세요.

1. **신뢰 관계(Trust Relationships)** 탭을 선택합니다. **신뢰할 수 있는 엔터티(Trusted Entities)**에 **The identity provider(s) ec2.amazonaws.com**이라는 항목이 없으면 이 Amazon EC2 인스턴스를 사용할 수 없습니다. 중지한 후, [CodeDeploy용 인스턴스 작업](instances.md)의 정보를 사용하여 Amazon EC2 인스턴스를 생성합니다

   **The identity provider(s) ec2.amazonaws.com**이라는 항목이 있고 GitHub 리포지토리에만 애플리케이션을 저장하는 경우는 [3단계: Amazon EC2 인스턴스에 태그 지정](#instances-ec2-configure-3-tag-instance)으로 진행합니다.

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

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

1. **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"}]}
   ```

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

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

   `"s3:Get*"` 및 `"s3:List*"`가 지정된 작업 목록에 없으면 **편집(Edit)**을 선택하여 추가한 다음**저장(Save)**을 선택합니다. (`"s3:Get*"` 또는 `"s3:List*"`가 목록의 마지막 작업이 아닌 경우 정책 문서의 유효성을 검사할 수 있도록 작업 뒤에 쉼표를 추가해야 합니다.)
**참고**  
Amazon EC2 인스턴스에서 액세스해야 하는 Amazon S3 버킷으로만 이 정책 적용을 제한하는 것이 좋습니다. 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 인스턴스에 태그 지정
<a name="instances-ec2-configure-3-tag-instance"></a>

배포 중에 CodeDeploy가 Amazon EC2 인스턴스를 찾을 수 있도록 태그를 지정하는 방법은 [콘솔에서 태그 작업하기](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_Console)를 참조한 다음 이 페이지로 돌아오세요.

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

## 4단계: Amazon EC2 인스턴스에 AWS CodeDeploy 에이전트 설치
<a name="instances-ec2-configure-4-install-agent"></a>

Amazon EC2 인스턴스에서 CodeDeploy 에이전트를 설치하고 에이전트가 실행 중인지 확인하는 지침을 [CodeDeploy 에이전트 작업 관리](codedeploy-agent-operations.md) 섹션에서 확인한 다음 [CodeDeploy를 사용하여 애플리케이션 생성](applications-create.md)으로 진행합니다.