

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

# CodeDeploy 시작하기
<a name="getting-started-codedeploy"></a>

**Topics**
+ [1단계: 설정](getting-started-setting-up.md)
+ [2단계: CodeDeploy에 대한 서비스 역할 생성](getting-started-create-service-role.md)
+ [3단계: CodeDeploy 사용자 권한 제한](getting-started-policy.md)
+ [4단계: Amazon EC2 인스턴스에 대한 IAM 인스턴스 프로파일 만들기](getting-started-create-iam-instance-profile.md)

# 1단계: 설정
<a name="getting-started-setting-up"></a>

 AWS CodeDeploy 를 처음 사용하기 전에 설정 단계를 완료해야 합니다. 이 단계에는 AWS 계정 생성(아직 계정이 없는 경우)과 프로그래밍 방식으로 액세스할 수 있는 관리 사용자가 포함됩니다.

이 안내서에서는 관리 사용자를 **CodeDeploy 관리 사용자**라고 합니다.

## 에 가입 AWS 계정
<a name="sign-up-for-aws"></a>

이 없는 경우 다음 단계를 AWS 계정완료하여 생성합니다.

**에 가입하려면 AWS 계정**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)을 엽니다.

1. 온라인 지시 사항을 따르세요.

   등록 절차 중 전화 또는 텍스트 메시지를 받고 전화 키패드로 확인 코드를 입력하는 과정이 있습니다.

   에 가입하면 AWS 계정*AWS 계정 루트 사용자*이 생성됩니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스에 액세스할 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 [루트 사용자 액세스 권한이 필요한 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)을 수행하는 것입니다.

AWS 는 가입 프로세스가 완료된 후 확인 이메일을 보냅니다. 언제든지 [https://aws.amazon.com/](https://aws.amazon.com/)으로 이동하고 **내 계정**을 선택하여 현재 계정 활동을 확인하고 계정을 관리할 수 있습니다.

## 관리자 액세스 권한이 있는 사용자 생성
<a name="create-an-admin"></a>

에 가입한 후 일상적인 작업에 루트 사용자를 사용하지 않도록 관리 사용자를 AWS 계정보호 AWS IAM Identity Center, AWS 계정 루트 사용자활성화 및 생성합니다.

**보안 AWS 계정 루트 사용자**

1.  **루트 사용자를** 선택하고 AWS 계정 이메일 주소를 입력하여 계정 소유자[AWS Management Console](https://console.aws.amazon.com/)로에 로그인합니다. 다음 페이지에서 비밀번호를 입력합니다.

   루트 사용자를 사용하여 로그인하는 데 도움이 필요하면 *AWS Sign-In 사용 설명서*의 [루트 사용자로 로그인](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)을 참조하세요.

1. 루트 사용자의 다중 인증(MFA)을 활성화합니다.

   지침은 *IAM 사용 설명서*의 [AWS 계정 루트 사용자(콘솔)에 대한 가상 MFA 디바이스 활성화를 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html).

**관리자 액세스 권한이 있는 사용자 생성**

1. IAM Identity Center를 활성화합니다.

   지침은 *AWS IAM Identity Center 사용 설명서*의 [AWS IAM Identity Center설정](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)을 참조하세요.

1. IAM Identity Center에서 사용자에게 관리 액세스 권한을 부여합니다.

   를 자격 증명 소스 IAM Identity Center 디렉터리 로 사용하는 방법에 대한 자습서는 사용 *AWS IAM Identity Center 설명서*[의 기본값으로 사용자 액세스 구성을 IAM Identity Center 디렉터리](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) 참조하세요.

**관리 액세스 권한이 있는 사용자로 로그인**
+ IAM IDentity Center 사용자로 로그인하려면 IAM Identity Center 사용자를 생성할 때 이메일 주소로 전송된 로그인 URL을 사용합니다.

  IAM Identity Center 사용자를 사용하여 로그인하는 데 도움이 필요하면 *AWS Sign-In 사용 설명서*[의 AWS 액세스 포털에 로그인](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)을 참조하세요.

**추가 사용자에게 액세스 권한 할당**

1. IAM Identity Center에서 최소 권한 적용 모범 사례를 따르는 권한 세트를 생성합니다.

   지침은 *AWS IAM Identity Center 사용 설명서*의 [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)를 참조하세요.

1. 사용자를 그룹에 할당하고, 그룹에 Single Sign-On 액세스 권한을 할당합니다.

   지침은 *AWS IAM Identity Center 사용 설명서*의 [그룹 추가](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)를 참조하세요.

이제 **CodeDeploy 관리 사용자**를 생성하고 로그인했습니다.

## 프로그래밍 방식 액세스 권한 부여
<a name="getting-started-setting-up-programmatic"></a>

사용자는 AWS 외부에서와 상호 작용하려는 경우 프로그래밍 방식으로 액세스해야 합니다 AWS Management Console. 프로그래밍 방식 액세스를 부여하는 방법은에 액세스하는 사용자 유형에 따라 다릅니다 AWS.

사용자에게 프로그래밍 방식 액세스 권한을 부여하려면 다음 옵션 중 하나를 선택합니다.


****  

| 프로그래밍 방식 액세스가 필요한 사용자 | 목적 | 방법 | 
| --- | --- | --- | 
| IAM | (권장) 콘솔 자격 증명을 임시 자격 증명으로 사용하여 AWS CLI, AWS SDKs 또는 AWS APIs. |  사용하고자 하는 인터페이스에 대한 지침을 따릅니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/getting-started-setting-up.html)  | 
|  작업 인력 ID (IAM Identity Center에서 관리되는 사용자)  | 임시 자격 증명을 사용하여 AWS CLI, AWS SDKs 또는 AWS APIs. |  사용하고자 하는 인터페이스에 대한 지침을 따릅니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/getting-started-setting-up.html)  | 
| IAM | 임시 자격 증명을 사용하여 AWS CLI, AWS SDKs 또는 AWS APIs. | IAM 사용 설명서의 [AWS 리소스에서 임시 자격 증명 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)의 지침을 따릅니다. | 
| IAM | (권장되지 않음)장기 자격 증명을 사용하여 AWS CLI, AWS SDKs 또는 AWS APIs. |  사용하고자 하는 인터페이스에 대한 지침을 따릅니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/getting-started-setting-up.html)  | 

**중요**  
 AWS CLI를 사용하여 CodeDeploy 관리 사용자를 작업 인력 ID(IAM Identity Center에서 관리되는 사용자)로 구성하는 것이 좋습니다. 이 안내서의 많은 절차에서는를 사용하여 구성을 수행하고 있다고 가정 AWS CLI 합니다.

**중요**  
를 구성하는 경우 AWS 리전을 지정하라는 메시지가 AWS CLI표시될 수 있습니다. *AWS 일반 참조*의 [리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)에 나열된 지원되는 리전 중 하나를 선택합니다.

# 2단계: CodeDeploy에 대한 서비스 역할 생성
<a name="getting-started-create-service-role"></a>

에서 AWS서비스 역할은 AWS 리소스에 액세스할 수 있도록 AWS 서비스에 권한을 부여하는 데 사용됩니다. 서비스 역할에 연결하는 정책에 따라 서비스에 액세스할 수 있는 리소스와 서비스가 해당 리소스로 수행할 수 있는 작업이 결정됩니다.

CodeDeploy에 대해 생성하는 서비스 역할에는 컴퓨팅 플랫폼에 필요한 권한을 부여해야 합니다. 둘 이상의 컴퓨팅 플랫폼에 배포하는 경우 플랫폼별로 서비스 역할을 하나씩 생성합니다. 권한을 추가하려면 다음 AWS 제공 정책 중 하나 이상을 연결합니다.

EC2/온프레미스 배포의 경우 **AWSCodeDeployRole** 정책을 연결합니다. 이 정책은 서비스 역할에서 다음을 수행하는 데 필요한 권한을 제공합니다.
+ Amazon EC2 Auto Scaling 그룹 이름으로 인스턴스의 태그를 읽거나 Amazon EC2 인스턴스를 식별합니다.
+ Amazon EC2 Auto Scaling 그룹, 수명 주기 후크 및 크기 조정 정책을 읽고, 생성하고, 업데이트하고, 삭제합니다.
+ Amazon SNS 주제로 정보를 게시합니다.
+ CloudWatch 경보에 관한 정보를 검색합니다.
+ Elastic Load Balancing을 읽고 업데이트합니다.
**참고**  
 시작 템플릿으로 Auto Scaling 그룹을 생성한 경우 다음 권한을 추가해야 합니다.  
 `ec2:RunInstances` 
 `ec2:CreateTags` 
 `iam:PassRole` 
자세한 내용은 [2단계: 서비스 역할 생성](#getting-started-create-service-role), [Auto Scaling 그룹을 위한 시작 템플릿 만들기](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html) 및 *Amazon EC2 Auto Scaling 사용 설명서*의 [시작 템플릿 지원](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-launch-template-permissions.html)을 참조하세요.

Amazon ECS 배포에 대해 지원 서비스에 대한 전체 액세스 권한을 부여하려는 경우 **AWSCodeDeployRoleForECS** 정책을 연결합니다. 이 정책은 서비스 역할에서 다음을 수행하는 데 필요한 권한을 제공합니다.
+  Amazon ECS 작업 세트를 읽고, 업데이트하고, 삭제합니다.
+  Elastic Load Balancing 대상그룹, 리스너 및 규칙을 업데이트합니다.
+  AWS Lambda 함수를 호출합니다.
+  Amazon S3 버킷에 있는 개정 파일에 액세스합니다.
+  CloudWatch 경보에 관한 정보를 검색합니다.
+ Amazon SNS 주제로 정보를 게시합니다.

Amazon ECS 배포의 경우 서비스 지원을 위한 액세스를 제한하려면 **AWSCodeDeployRoleForECSLimited** 정책을 사용합니다. 이 정책은 서비스 역할에서 다음을 수행하는 데 필요한 권한을 제공합니다.
+  Amazon ECS 작업 세트를 읽고, 업데이트하고, 삭제합니다.
+  CloudWatch 경보에 관한 정보를 검색합니다.
+ Amazon SNS 주제로 정보를 게시합니다.

 AWS Lambda 배포의 경우 Amazon SNS에 게시를 허용하려면 **AWSCodeDeployRoleForLambda** 정책을 연결합니다. 이 정책은 서비스 역할에서 다음을 수행하는 데 필요한 권한을 제공합니다.
+  AWS Lambda 함수 및 별칭을 읽고 업데이트하고 호출합니다.
+  Amazon S3 버킷에 있는 개정 파일에 액세스합니다.
+  CloudWatch 경보에 관한 정보를 검색합니다.
+  Amazon SNS 주제로 정보를 게시합니다.

 AWS Lambda 배포의 경우 Amazon SNS에 대한 액세스를 제한하려면 **AWSCodeDeployRoleForLambdaLimited** 정책을 연결합니다. 이 정책은 서비스 역할에서 다음을 수행하는 데 필요한 권한을 제공합니다.
+  AWS Lambda 함수 및 별칭을 읽고 업데이트하고 호출합니다.
+  Amazon S3 버킷에 있는 개정 파일에 액세스합니다.
+  CloudWatch 경보에 관한 정보를 검색합니다.

서비스 역할을 설정하는 과정에서 액세스 권한을 부여하려는 엔드포인트를 지정하도록 신뢰 관계를 업데이트합니다.

IAM 콘솔 AWS CLI, 또는 IAM APIs.

**Topics**
+ [서비스 역할 생성(콘솔)](#getting-started-create-service-role-console)
+ [서비스 역할 생성(CLI)](#getting-started-create-service-role-cli)
+ [서비스 역할 ARN 확인(콘솔)](#getting-started-get-service-role-console)
+ [서비스 역할 ARN 확인(CLI)](#getting-started-get-service-role-cli)

## 서비스 역할 생성(콘솔)
<a name="getting-started-create-service-role-console"></a>

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

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

1. **AWS  서비스**를 선택하고 **사용 사례**의 드롭다운 목록에서 **CodeDeploy**를 선택합니다.

1. 사용 사례를 선택합니다.
   +  EC2/온프레미스 배포의 경우 **CodeDeploy**를 선택합니다.
   +  AWS Lambda 배포의 경우 **Lambda용 CodeDeploy**를 선택합니다.
   +  Amazon ECS 배포의 경우 **CodeDeploy - ECS**를 선택합니다.

1. **다음**을 선택합니다.

1. **권한 추가** 페이지에는 사용 사례에 대한 올바른 권한 정책이 표시됩니다. **다음**을 선택합니다.

1. **이름 지정, 검토 및 생성** 페이지의 **역할 이름**에 서비스 역할의 이름(예: **CodeDeployServiceRole**)을 입력한 후 **역할 생성**을 선택합니다.

   이 서비스 역할에 대한 설명을 **역할 설명(Role description)**에 입력할 수도 있습니다.

1. 이 서비스 역할이 현재 지원되는 모든 엔드포인트에 대한 액세스 권한을 갖도록 하려면 여기서 이 절차를 마칩니다.

   이 서비스 역할이 일부 엔드포인트에 액세스하지 못하도록 제한하려면 이 절차의 나머지 단계를 계속 진행합니다.

1. 역할 목록에서 방금 생성한 역할(`CodeDeployServiceRole`)을 검색하고 선택합니다.

1. **신뢰 관계** 탭을 선택합니다.

1. **신뢰 정책 편집**을 선택합니다.

   다음 정책은 지원되는 모든 엔드포인트에 액세스할 수 있는 권한을 서비스 역할에 부여합니다.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "codedeploy.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

   서비스 역할에 지원되는 일부 엔드포인트에 대한 액세스 권한만 부여하려면 신뢰 정책 텍스트 상자의 콘텐츠를 다음 정책으로 바꿉니다. 액세스를 방지하려는 엔드포인트 행을 제거한 후, **정책 업데이트**를 선택합니다.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       
                       "codedeploy.us-east-1.amazonaws.com",
                       "codedeploy.us-east-2.amazonaws.com",
                       "codedeploy.us-west-1.amazonaws.com",
                       "codedeploy.us-west-2.amazonaws.com",
                       "codedeploy.ca-central-1.amazonaws.com",
                       "codedeploy.ap-east-1.amazonaws.com",                  
                       "codedeploy.ap-northeast-1.amazonaws.com",
                       "codedeploy.ap-northeast-2.amazonaws.com",
                       "codedeploy.ap-northeast-3.amazonaws.com",
                       "codedeploy.ap-southeast-1.amazonaws.com",
                       "codedeploy.ap-southeast-2.amazonaws.com",
                       "codedeploy.ap-southeast-3.amazonaws.com",
                       "codedeploy.ap-southeast-4.amazonaws.com",
                       "codedeploy.ap-south-1.amazonaws.com",
                       "codedeploy.ap-south-2.amazonaws.com",
                       "codedeploy.ca-central-1.amazonaws.com",
                       "codedeploy.eu-west-1.amazonaws.com",
                       "codedeploy.eu-west-2.amazonaws.com",
                       "codedeploy.eu-west-3.amazonaws.com",
                       "codedeploy.eu-central-1.amazonaws.com",
                       "codedeploy.eu-central-2.amazonaws.com",
                       "codedeploy.eu-north-1.amazonaws.com",
                       "codedeploy.eu-south-1.amazonaws.com",
                       "codedeploy.eu-south-2.amazonaws.com",
                       "codedeploy.il-central-1.amazonaws.com",
                       "codedeploy.me-central-1.amazonaws.com",
                       "codedeploy.me-south-1.amazonaws.com",
                       "codedeploy.sa-east-1.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

서비스 역할 생성에 대한 자세한 내용은 *IAM 사용 설명서*의 [AWS 서비스에 권한을 위임할 역할 생성을 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-creatingrole-service.html).

## 서비스 역할 생성(CLI)
<a name="getting-started-create-service-role-cli"></a>

1. 개발 머신에서 텍스트 파일을 작성합니다(예: `CodeDeployDemo-Trust.json`). 이 파일은 사용자를 대신해 CodeDeploy가 작동하도록 허용하는 데 사용됩니다.

   다음 중 하나를 수행하세요.
   + 지원되는 모든 AWS 리전에 대한 액세스 권한을 부여하려면 파일에 다음 콘텐츠를 저장합니다.

     ```
     {
         "Version": "2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "",
                 "Effect": "Allow",
                 "Principal": {
                     "Service": [
                         "codedeploy.amazonaws.com"
                     ]
                 },
                 "Action": "sts:AssumeRole"
             }
         ]
     }
     ```
   + 지원되는 일부 리전에만 액세스를 허용하려면, 파일에 다음 내용을 입력한 후 액세스를 제한할 리전 행을 제거합니다.

     ```
     {
         "Version": "2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "",
                 "Effect": "Allow",
                 "Principal": {
                     "Service": [
                         
                         "codedeploy.us-east-1.amazonaws.com",
                         "codedeploy.us-east-2.amazonaws.com",
                         "codedeploy.us-west-1.amazonaws.com",
                         "codedeploy.us-west-2.amazonaws.com",
                         "codedeploy.ca-central-1.amazonaws.com",
                         "codedeploy.ap-east-1.amazonaws.com",                  
                         "codedeploy.ap-northeast-1.amazonaws.com",
                         "codedeploy.ap-northeast-2.amazonaws.com",
                         "codedeploy.ap-northeast-3.amazonaws.com",
                         "codedeploy.ap-southeast-1.amazonaws.com",
                         "codedeploy.ap-southeast-2.amazonaws.com",
                         "codedeploy.ap-southeast-3.amazonaws.com",
                         "codedeploy.ap-southeast-4.amazonaws.com",
                         "codedeploy.ap-south-1.amazonaws.com",
                         "codedeploy.ap-south-2.amazonaws.com",
                         "codedeploy.ca-central-1.amazonaws.com",
                         "codedeploy.eu-west-1.amazonaws.com",
                         "codedeploy.eu-west-2.amazonaws.com",
                         "codedeploy.eu-west-3.amazonaws.com",
                         "codedeploy.eu-central-1.amazonaws.com",
                         "codedeploy.eu-central-2.amazonaws.com",
                         "codedeploy.eu-north-1.amazonaws.com",
                         "codedeploy.eu-south-1.amazonaws.com",
                         "codedeploy.eu-south-2.amazonaws.com",
                         "codedeploy.il-central-1.amazonaws.com",
                         "codedeploy.me-central-1.amazonaws.com",
                         "codedeploy.me-south-1.amazonaws.com",
                         "codedeploy.sa-east-1.amazonaws.com"
                     ]
                 },
                 "Action": "sts:AssumeRole"
             }
         ]
     }
     ```
**참고**  
목록에서 마지막 엔드포인트 뒤에는 쉼표를 사용하지 마세요.

1. 동일한 디렉터리에서 **create-role** 명령을 호출하여 방금 만든 텍스트 파일의 정보를 바탕으로 **CodeDeployServiceRole**이라는 서비스 역할을 만듭니다.

   ```
   aws iam create-role --role-name CodeDeployServiceRole --assume-role-policy-document file://CodeDeployDemo-Trust.json
   ```
**중요**  
파일 이름 앞에 `file://`를 포함해야 합니다. 이 명령에 필수적입니다.

   명령의 출력에서 `Arn` 객체 아래의 `Role` 항목 값을 적어 둡니다. 이 값은 나중에 배포 그룹을 만들 때 필요합니다. 값을 잊어버린 경우, [서비스 역할 ARN 확인(CLI)](#getting-started-get-service-role-cli)의 지침을 따릅니다.

1. 사용하는 관리형 정책은 컴퓨팅 플랫폼에 따라 다릅니다.
   + EC2/온프레미스 컴퓨팅 플랫폼에 배포하는 경우:

     **attach-role-policy** 명령을 호출하여 **CodeDeployServiceRole**이라는 서비스 역할에 **AWSCodeDeployRole**이라는 IAM 관리형 정책에 기반한 권한을 부여합니다. 예제:

     ```
     aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole
     ```
   +  AWS Lambda 컴퓨팅 플랫폼에 배포하는 경우:

     **attach-role-policy** 명령을 호출하여 **CodeDeployServiceRole**이라는 서비스 역할에 **AWSCodeDeployRoleForLambda** 또는 **AWSCodeDeployRoleForLambdaLimited**라는 IAM 관리형 정책에 기반한 권한을 부여합니다. 예:

     ```
     aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSCodeDeployRoleForLambda
     ```
   + Amazon ECS 컴퓨팅 플랫폼에 배포하는 경우:

     **attach-role-policy** 명령을 호출하여 **CodeDeployServiceRole**이라는 서비스 역할에 **AWSCodeDeployRoleForECS** 또는 **AWSCodeDeployRoleForECSLimited**라는 IAM 관리형 정책에 기반한 권한을 부여합니다. 예:

     ```
     aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arn:aws:iam::aws:policy/AWSCodeDeployRoleForECS
     ```

서비스 역할 생성에 대한 자세한 내용은 *IAM 사용 설명서*의 [AWS 서비스에 대한 역할 생성을](https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-xacct.html) 참조하세요.

## 서비스 역할 ARN 확인(콘솔)
<a name="getting-started-get-service-role-console"></a>

IAM 콘솔을 사용하여 서비스 역할의 ARN을 확인하려면:

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

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

1. **필터** 상자에 **CodeDeployServiceRole**을 입력한 후 Enter 키를 누릅니다.

1. **CodeDeployServiceRole**을 선택합니다.

1. **역할 ARN** 필드의 값을 기록해 둡니다.

## 서비스 역할 ARN 확인(CLI)
<a name="getting-started-get-service-role-cli"></a>

 AWS CLI 를 사용하여 서비스 역할의 ARN을 가져오려면 라는 서비스 역할에 대해 **get-role** 명령을 호출합니다**CodeDeployServiceRole**.

```
aws iam get-role --role-name CodeDeployServiceRole --query "Role.Arn" --output text
```

반환되는 값은 서비스 역할의 ARN입니다.

# 3단계: CodeDeploy 사용자 권한 제한
<a name="getting-started-policy"></a>

보안상의 이유로 [1단계: 설정](getting-started-setting-up.md)에서 생성한 관리 사용자의 권한을 CodeDeploy에서 배포를 생성 및 관리하는 데 필요한 권한으로만 제한하는 것이 좋습니다.

CodeDeploy 관리 사용자의 권한을 제한하려면 다음 일련의 절차를 사용합니다.

**시작하기 전 준비 사항**
+ [1단계: 설정](getting-started-setting-up.md)의 지침에 따라 IAM Identity Center에서 CodeDeploy 관리 사용자를 생성했는지 확인합니다.

**권한 세트를 생성하려면**

이 권한 세트는 나중에 CodeDeploy 관리 사용자에게 할당해야 합니다.

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

1. 탐색 창에서 **권한 세트**를 선택한 다음 **권한 세트 생성**을 선택합니다.

1. **사용자 지정 권한 세트**를 선택합니다.

1. **다음**을 선택합니다.

1. **인라인정책**을 선택합니다.

1. 샘플 코드를 제거합니다.

1. 다음 정책 코드를 추가합니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CodeDeployAccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "autoscaling:*",
                   "codedeploy:*",
                   "ec2:*",
                   "lambda:*",
                   "ecs:*",
                   "elasticloadbalancing:*",
                   "iam:AddRoleToInstanceProfile",
                   "iam:AttachRolePolicy",
                   "iam:CreateInstanceProfile",
                   "iam:CreateRole",
                   "iam:DeleteInstanceProfile",
                   "iam:DeleteRole",
                   "iam:DeleteRolePolicy",
                   "iam:GetInstanceProfile",
                   "iam:GetRole",
                   "iam:GetRolePolicy",
                   "iam:ListInstanceProfilesForRole",
                   "iam:ListRolePolicies",
                   "iam:ListRoles",
                   "iam:PutRolePolicy",
                   "iam:RemoveRoleFromInstanceProfile",
                   "s3:*",
                   "ssm:*"
               ],
               "Resource": "*"
           },
           {
               "Sid": "CodeDeployRolePolicy",
               "Effect": "Allow",
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": "arn:aws:iam::111122223333:role/CodeDeployServiceRole"
           }
       ]
   }
   ```

------

   이 정책에서 *arn:aws:iam::account-ID:role/CodeDeployServiceRole*을 [2단계: CodeDeploy에 대한 서비스 역할 생성](getting-started-create-service-role.md)에서 생성한 CodeDeploy 서비스 역할의 ARN 값으로 대체합니다. IAM 콘솔의 서비스 역할 세부 정보 페이지에서 ARN 값을 찾을 수 있습니다.

   위의 정책을 통해 AWS Lambda 컴퓨팅 플랫폼, EC2/온프레미스 컴퓨팅 플랫폼 및 Amazon ECS 컴퓨팅 플랫폼에 애플리케이션을 배포할 수 있습니다.

   이 설명서에 제공된 CloudFormation 템플릿을 사용하여 CodeDeploy와 호환되는 Amazon EC2 인스턴스를 시작할 수 있습니다. CloudFormation 템플릿을 사용하여 애플리케이션, 배포 그룹 또는 배포 구성을 생성하려면 다음과 같이 CodeDeploy 관리 사용자의 권한 정책에 `cloudformation:*` 권한을 추가하여에 CloudFormation 의존하는 CloudFormation AWS 서비스 및 작업에 대한 액세스를 제공해야 합니다.

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

****  

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

------

1. **다음**을 선택합니다.

1. **권한 세트 이름**에 다음을 입력합니다.

   ```
   CodeDeployUserPermissionSet
   ```

1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 정보를 검토하고 **생성**을 선택합니다.

**이 권한 세트를 CodeDeploy 관리 사용자에게 할당하려면**

1. 탐색 창에서 **AWS 계정**를 선택한 다음 현재 로그인 AWS 계정 한 옆의 확인란을 선택합니다.

1. **사용자 또는 그룹 할당** 버튼을 선택합니다.

1. **사용자** 탭을 선택합니다.

1. CodeDeploy 관리 사용자 옆의 확인란을 선택합니다.

1. **다음**을 선택합니다.

1. `CodeDeployUserPermissionSet` 옆의 확인란을 선택합니다.

1. **다음**을 선택합니다.

1. 정보를 검토하고 **제출**을 선택합니다.

   이제 CodeDeploy 관리 사용자 및를 `CodeDeployUserPermissionSet`에 할당하여 함께 AWS 계정바인딩했습니다.

**로그아웃했다가 CodeDeploy 관리 사용자로 다시 로그인하려면**

1. 로그아웃하기 전에 CodeDeploy 관리 사용자의 AWS 액세스 포털 URL과 사용자 이름 및 일회용 암호가 있는지 확인합니다.
**참고**  
이 정보가 없는 경우 IAM Identity Center의 CodeDeploy 관리 사용자 세부 정보 페이지로 이동하여 **암호 재설정**, **일회용 암호 생성 [...]**을 선택한 후 **암호 재설정**을 다시 선택하면 화면에 해당 정보가 표시됩니다.

1. 로그아웃합니다 AWS.

1.  AWS 액세스 포털 URL을 브라우저의 주소 표시줄에 붙여 넣습니다.

1. CodeDeploy 관리 사용자로 로그인합니다.

   화면에 **AWS 계정** 상자가 나타납니다.

1. **AWS 계정**을 선택한 다음 CodeDeploy 관리 사용자 및 권한 세트를 할당한  AWS 계정 의 이름을 선택합니다.

1. `CodeDeployUserPermissionSet` 옆에 있는 **관리 콘솔**을 선택합니다.

   가 AWS Management Console 나타납니다. 이제 제한된 권한을 가진 CodeDeploy 관리 사용자로 로그인되었습니다. 이제 이 사용자로 *오직* CodeDeploy 관련 작업만 수행할 수 있습니다.

# 4단계: Amazon EC2 인스턴스에 대한 IAM 인스턴스 프로파일 만들기
<a name="getting-started-create-iam-instance-profile"></a>

**참고**  
 Amazon ECS 또는 AWS Lambda 컴퓨팅 플랫폼를 사용하는 경우이 단계를 건너뜁니다.

Amazon EC2 인스턴스에는 애플리케이션이 저장되는 Amazon S3 버킷 또는 GitHub 리포지토리에 액세스할 수 있는 권한이 필요합니다. CodeDeploy와 호환 가능한 Amazon EC2 인스턴스를 시작하려면 추가 IAM 역할인 *인스턴스 프로파일*을 만들어야 합니다. 다음 지침은 Amazon EC2 인스턴스에 연결할 IAM 인스턴스 프로파일을 만드는 방법을 안내합니다. 이 역할은 애플리케이션이 저장되는 Amazon S3 버킷 또는 GitHub 리포지토리에 액세스할 수 있는 권한을 CodeDeploy 에이전트에 제공합니다.

 AWS CLI, IAM 콘솔 또는 IAM APIs.

**참고**  
IAM 인스턴스 프로파일은 Amazon EC2 인스턴스를 시작할 때 해당 인스턴스에 연결하거나 이전에 시작한 인스턴스에 연결할 수 있습니다. 자세한 내용은 [인스턴스 프로파일](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-usingrole-instanceprofile.html)을 참조하세요.

**Topics**
+ [Amazon EC2 인스턴스에 대한 IAM 인스턴스 프로파일 만들기(CLI)](#getting-started-create-iam-instance-profile-cli)
+ [Amazon EC2 인스턴스에 대한 IAM 인스턴스 프로파일 만들기(콘솔)](#getting-started-create-iam-instance-profile-console)

## Amazon EC2 인스턴스에 대한 IAM 인스턴스 프로파일 만들기(CLI)
<a name="getting-started-create-iam-instance-profile-cli"></a>

이 단계에서는 [CodeDeploy 시작하기](getting-started-codedeploy.md)의 처음 세 단계에 있는 지침을 이미 완료한 것으로 가정합니다.

1. 개발 머신에 `CodeDeployDemo-EC2-Trust.json`이라는 텍스트 파일을 만듭니다. 다음 콘텐츠를 붙여 넣어 Amazon EC2가 사용자를 대신하여 작업하도록 허용합니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "Service": "ec2.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "ec2.cn-north-1.amazonaws.com",
                       "ec2.cn-northwest-1.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. 동일한 디렉터리에 `CodeDeployDemo-EC2-Permissions.json`이라는 텍스트 파일을 만듭니다. 다음 콘텐츠를 붙여 넣습니다.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:Get*",
                   "s3:List*"
               ],
               "Effect": "Allow",
               "Resource": "*"
           }
       ]
   }
   ```
**참고**  
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/*"
         ]
       }
     ]
   }
   ```
**참고**  
CodeDeploy와 함께 [IAM 권한 부여](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-authorization) 또는 Amazon Virtual Private Cloud(VPC) 엔드포인트를 사용하는 경우 권한을 추가해야 합니다. 자세한 내용은 [Amazon Virtual Private Cloud에서 CodeDeploy 사용](https://docs.aws.amazon.com/codedeploy/latest/userguide/vpc-endpoints)을 참조하세요.

1. 동일한 디렉터리에서 **create-role** 명령을 호출하여 첫 번째 파일의 정보를 바탕으로 **CodeDeployDemo-EC2-Instance-Profile**이라는 IAM 역할을 생성하세요.
**중요**  
파일 이름 앞에 `file://`를 포함해야 합니다. 이 명령에 필수적입니다.

   ```
   aws iam create-role --role-name CodeDeployDemo-EC2-Instance-Profile --assume-role-policy-document file://CodeDeployDemo-EC2-Trust.json
   ```

1. 동일한 디렉터리에서 **put-role-policy** 명령을 호출하여 두 번째 파일의 정보를 바탕으로 **CodeDeployDemo-EC2-Instance-Profile**이라는 역할을 제공하세요.
**중요**  
파일 이름 앞에 `file://`를 포함해야 합니다. 이 명령에 필수적입니다.

   ```
   aws iam put-role-policy --role-name CodeDeployDemo-EC2-Instance-Profile --policy-name CodeDeployDemo-EC2-Permissions --policy-document file://CodeDeployDemo-EC2-Permissions.json
   ```

1. **attach-role-policy**을(를) 호출하여 SSM이 CodeDeploy 에이전트를 설치할 수 있도록 Amazon EC2 Systems Manager 권한을 이 역할에 부여합니다. 명령줄을 사용하여 퍼블릭 Amazon S3 버킷에서 에이전트를 설치하려는 경우에는 이 정책이 필요하지 않습니다. 자세한 내용은 [CodeDeploy 에이전트 설치](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html)를 참조하세요.

   ```
   aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore --role-name CodeDeployDemo-EC2-Instance-Profile
   ```

1. **create-instance-profile** 명령을 호출한 후 **add-role-to-instance-profile** 명령을 호출하여 **CodeDeployDemo-EC2-Instance-Profile**이라는 IAM 인스턴스 프로파일을 생성하세요. 인스턴스 프로필을 사용하면 인스턴스가 처음 시작될 때 Amazon EC2가 Amazon EC2 인스턴스에 **CodeDeployDemo-EC2-Instance-Profile**이라는 IAM 역할을 전달할 수 있습니다.

   ```
   aws iam create-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profile
   aws iam add-role-to-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profile --role-name CodeDeployDemo-EC2-Instance-Profile
   ```

   IAM 인스턴스 프로파일의 이름을 가져와야 하는 경우 *AWS CLI 참조*의 [list-instance-profiles-for-role](https://docs.aws.amazon.com/cli/latest/reference/iam/list-instance-profiles-for-role.html)을 참조하세요.

이제 Amazon EC2 인스턴스에 연결할 IAM 인스턴스 프로파일을 생성하였습니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [Amazon EC2의 IAM 역할](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)을 참조하세요.

## Amazon EC2 인스턴스에 대한 IAM 인스턴스 프로파일 만들기(콘솔)
<a name="getting-started-create-iam-instance-profile-console"></a>

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

1. IAM 콘솔의 탐색 창에서 **정책**을 선택한 후 **정책 생성**을 선택하세요.

1. **권한 지정** 페이지에서 **JSON**을 선택합니다.

1. 예제 `JSON` 코드를 제거합니다.

1. 다음 코드를 붙여넣습니다.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:Get*",
                   "s3:List*"
               ],
               "Effect": "Allow",
               "Resource": "*"
           }
       ]
   }
   ```
**참고**  
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/*"
         ]
       }
     ]
   }
   ```
**참고**  
CodeDeploy와 함께 [IAM 권한 부여](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-authorization) 또는 Amazon Virtual Private Cloud(VPC) 엔드포인트를 사용하는 경우 권한을 추가해야 합니다. 자세한 내용은 [Amazon Virtual Private Cloud에서 CodeDeploy 사용](https://docs.aws.amazon.com/codedeploy/latest/userguide/vpc-endpoints)을 참조하세요.

1.  **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 **정책 이름**에 **CodeDeployDemo-EC2-Permissions**를 입력합니다.

1.  (선택 사항) **설명**에 정책에 대한 설명을 입력합니다.

1. **정책 생성**을 선택합니다.

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

1. **사용 사례**에서 **EC2** 사용 사례를 선택합니다.

1. **다음**을 선택합니다.

1.  정책 목록에서 방금 생성한 정책(**CodeDeployDemo-EC2-Permissions**) 옆의 확인란을 선택합니다. 필요한 경우 검색 상자를 사용하여 정책을 찾습니다.

1.  Systems Manager를 사용하여 CodeDeploy 에이전트를 설치하거나 구성하려면 **AmazonSSMManagedInstanceCore** 옆의 확인란을 선택합니다. 이 AWS 관리형 정책을 사용하면 인스턴스가 Systems Manager 서비스 핵심 기능을 사용할 수 있습니다. 필요한 경우 검색 상자를 사용하여 정책을 찾습니다. 명령줄을 사용하여 퍼블릭 Amazon S3 버킷에서 에이전트를 설치하려는 경우에는 이 정책이 필요하지 않습니다. 자세한 내용은 [CodeDeploy 에이전트 설치](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html)를 참조하세요.

1.  **다음**을 선택합니다.

1. **이름 지정, 검토 및 생성** 페이지의 **역할 이름**에 서비스 역할의 이름(예: **CodeDeployDemo-EC2-Instance-Profile**)을 입력한 후 **역할 생성**을 선택합니다.

   이 서비스 역할에 대한 설명을 **역할 설명(Role description)**에 입력할 수도 있습니다.

이제 Amazon EC2 인스턴스에 연결할 IAM 인스턴스 프로파일을 생성하였습니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [Amazon EC2의 IAM 역할](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)을 참조하세요.