

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

# CodeDeploy용 온프레미스 인스턴스 작업
<a name="instances-on-premises"></a>

온프레미스 인스턴스는 CodeDeploy 에이전트를 실행하고 퍼블릭 AWS 서비스 엔드포인트에 연결할 수 있는 Amazon EC2 인스턴스가 아닌 모든 물리적 디바이스입니다.

온프레미스 인스턴스에 CodeDeploy 애플리케이션 개정 버전을 배포하는 데는 두 가지 주요 단계가 필요합니다.
+ **1단계** – 각 온프레미스 인스턴스를 구성하고 CodeDeploy에 등록한 다음 태그를 지정합니다.
+ **2단계** - 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포합니다.
**참고**  
올바르게 구성되고 등록된 온프레미스 인스턴스에 샘플 애플리케이션 개정 버전을 만들고 배포하는 방법을 실험하려면 [튜토리얼: CodeDeploy를 사용하여 온프레미스 인스턴스에 애플리케이션 배포(Windows Server, Ubuntu Server 또는 Red Hat Enterprise Linux)](tutorials-on-premises-instance.md) 단원을 참조하세요. 온프레미스 인스턴스와 이러한 인스턴스가 CodeDeploy와 작동하는 방식에 대한 자세한 내용은 [CodeDeploy용 온프레미스 인스턴스 작업](#instances-on-premises) 단원을 참조하세요.

온프레미스 인스턴스를 배포에서 더 이상 사용하지 않으려면 배포 그룹에서 온프레미스 인스턴스 태그를 제거할 수 있습니다. 보다 강력한 접근 방식을 위해 인스턴스에서 온프레미스 인스턴스 태그를 제거합니다. 또한 온프레미스 인스턴스를 명시적으로 등록 취소할 수 있으므로 더 이상 배포에서 사용할 수 없게 됩니다. 자세한 내용은 [CodeDeploy에서 온프레미스 인스턴스 작업 관리](on-premises-instances-operations.md) 단원을 참조하십시오.

이 섹션의 지침은 온프레미스 인스턴스를 구성한 다음 배포에 사용할 수 있도록 CodeDeploy에 등록하고 태그를 지정하는 방법을 보여 줍니다. 이 섹션에서는 CodeDeploy를 사용하여 온프레미스 인스턴스에 대한 정보를 가져오고 더 이상 배포할 계획이 없는 온프레미스 인스턴스를 등록 취소하는 방법도 설명합니다.

**Topics**
+ [온프레미스 인스턴스 구성을 위한 사전 요구 사항](instances-on-premises-prerequisites.md)
+ [온프레미스 인스턴스 등록](on-premises-instances-register.md)
+ [온프레미스 인스턴스 작업 관리](on-premises-instances-operations.md)

# 온프레미스 인스턴스 구성을 위한 사전 요구 사항
<a name="instances-on-premises-prerequisites"></a>

온프레미스 인스턴스를 등록하려면 다음 사전 요구 사항을 충족해야 합니다.

**중요**  
[register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) 명령을 사용하고 AWS Security Token Service (AWS STS)로 생성된 임시 자격 증명을 주기적으로 새로 고치는 경우 다른 사전 조건이 있습니다. 자세한 내용은 [IAM 세션 ARN 등록 필수 조건](register-on-premises-instance-iam-session-arn.md#register-on-premises-instance-iam-session-arn-prerequisites) 단원을 참조하세요.

**디바이스 요구 사항**

준비하고, CodeDeploy에 등록하고, 온프레미스 인스턴스로 태그를 지정하려는 디바이스는 지원되는 운영 체제에서 실행 중이어야 합니다. 목록을 보려면 [CodeDeploy 에이전트에서 지원하는 운영 체제](codedeploy-agent.md#codedeploy-agent-supported-operating-systems) 단원을 참조하세요.

운영 체제가 지원되지 않는 경우 필요에 따라 조정할 수 있도록 CodeDeploy 에이전트는 오픈 소스로 제공됩니다. 자세한 내용은 GitHub에서 [CodeDeploy 에이전트](https://github.com/aws/aws-codedeploy-agent) 리포지토리를 참조하세요.

**아웃바운드 통신**

온프레미스 인스턴스는 CodeDeploy와 통신하기 위해 퍼블릭 AWS 서비스 엔드포인트에 연결할 수 있어야 합니다.

CodeDeploy 에이전트는 포트 443을 통해 HTTPS를 사용하여 아웃바운드 통신을 수행합니다.

**관리 제어**

온프레미스 인스턴스를 구성하기 위해 온프레미스 인스턴스에 사용하는 로컬 또는 네트워크 계정은 `sudo` 또는 `root`(Ubuntu Server의 경우) 또는 관리자(Windows Server의 경우)로 실행해야 합니다.

**IAM 권한**

온프레미스 인스턴스를 등록하는 데 사용하는 IAM 자격 증명에는 등록을 완료할 수 있는 권한(및 필요에 따라 온프레미스 인스턴스를 등록 취소할 수 있는 권한)이 있어야 합니다.

[3단계: CodeDeploy 사용자 권한 제한](getting-started-policy.md)에서 설명하는 정책 이외에도 IAM 자격 증명 호출에 다음과 같은 추가 정책을 연결해야 합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow", 
      "Action": [
        "iam:CreateAccessKey",
        "iam:CreateUser",
        "iam:DeleteAccessKey",
        "iam:DeleteUser",
        "iam:DeleteUserPolicy",
        "iam:ListAccessKeys",
        "iam:ListUserPolicies",
        "iam:PutUserPolicy",
        "iam:GetUser"
      ],
      "Resource": "*"
    }
  ]
}
```

------

IAM 정책을 연결하는 방법에 대한 자세한 내용은 [IAM 정책 관리](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html)를 참조하세요.

# CodeDeploy에 온프레미스 인스턴스 등록
<a name="on-premises-instances-register"></a>

온프레미스 인스턴스를 등록하려면 IAM 자격 증명을 사용하여 요청을 인증해야 합니다. IAM 자격 증명 및 등록 방법에 대해 다음 옵션 중에서 선택할 수 있습니다.
+ IAM 역할 ARN을 사용하여 요청을 인증합니다.
  + [register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) 명령을 사용하고 AWS Security Token Service (AWS STS)로 생성된 임시 자격 증명을 주기적으로 새로 고쳐 대부분의 등록 옵션을 수동으로 구성합니다. 이 옵션은 제한 시간이 있고 주기적으로 새로 고쳐야 하는 임시 토큰을 사용하여 인증이 수행되므로 가장 높은 수준의 보안을 제공합니다. 이 옵션은 규모와 상관없이 프로덕션 배포에 권장됩니다. 자세한 내용은 [register-on-premises-instance 명령(IAM 세션 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.](register-on-premises-instance-iam-session-arn.md) 단원을 참조하세요.
+ (권장되지 않음) IAM 사용자 ARN을 사용하여 요청을 인증합니다.
  + 대부분의 자동화된 등록 프로세스에 [register](https://docs.aws.amazon.com/cli/latest/reference/deploy/register.html) 명령을 사용합니다. 이 옵션은 보안의 중요성이 비교적 낮은 비프로덕션 배포에만 사용해야 합니다. 이 옵션은 인증에 정적(영구) 보안 인증 정보를 사용하므로 덜 안전합니다. 이 옵션은 단일 온프레미스 인스턴스 등록에 가장 적합합니다. 자세한 내용은 [레지스터 명령(IAM 사용자 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.](instances-on-premises-register-instance.md) 단원을 참조하세요.
  + [register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) 명령을 사용하여 대부분의 등록 옵션을 수동으로 구성합니다. 소수의 온프레미스 인스턴스를 등록하는 데 적합합니다. 자세한 내용은 [register-on-premises-instance 명령(IAM 사용자 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.](register-on-premises-instance-iam-user-arn.md) 섹션을 참조하세요.

**Topics**
+ [register-on-premises-instance 명령(IAM 세션 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.](register-on-premises-instance-iam-session-arn.md)
+ [레지스터 명령(IAM 사용자 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.](instances-on-premises-register-instance.md)
+ [register-on-premises-instance 명령(IAM 사용자 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.](register-on-premises-instance-iam-user-arn.md)

# register-on-premises-instance 명령(IAM 세션 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.
<a name="register-on-premises-instance-iam-session-arn"></a>

온프레미스 인스턴스의 인증 및 등록을 최대한 제어하려면 [register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) 명령을 사용하고 AWS Security Token Service ()로 생성된 임시 자격 증명을 주기적으로 새로 고칠 수 있습니다AWS STS. 인스턴스에 대한 정적 IAM 역할은 새로 고쳐진 자격 AWS STS 증명의 역할을 수임하여 CodeDeploy 배포 작업을 수행합니다.

이 방법은 많은 수의 인스턴스를 등록해야 하는 경우에 가장 유용합니다. CodeDeploy를 사용하여 등록 프로세스를 자동화할 수 있습니다. 자체 자격 증명 및 인증 시스템을 사용하여 온프레미스 인스턴스를 인증하고 서비스에서 인스턴스에 IAM 세션 자격 증명을 배포하여 CodeDeploy와 함께 사용할 수 있습니다.

**참고**  
또는 모든 온프레미스 인스턴스에 분산된 공유 IAM 사용자를 사용하여 AWS STS [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) API를 호출하여 온프레미스 인스턴스의 세션 자격 증명을 검색할 수 있습니다. 이 방법은 안전성이 떨어지며 프로덕션 환경이나 미션 크리티컬 환경에는 권장되지 않습니다.

다음 주제의 정보를 사용하여에서 생성된 임시 보안 자격 증명을 사용하여 온프레미스 인스턴스를 구성합니다 AWS STS.

**Topics**
+ [IAM 세션 ARN 등록 필수 조건](#register-on-premises-instance-iam-session-arn-prerequisites)
+ [1단계: 온프레미스 인스턴스에서 가정할 IAM 역할 만들기](#register-on-premises-instance-iam-session-arn-1)
+ [2단계:를 사용하여 개별 인스턴스에 대한 임시 자격 증명 생성 AWS STS](#register-on-premises-instance-iam-session-arn-2)
+ [3단계: 온프레미스 인스턴스에 구성 파일 추가](#register-on-premises-instance-iam-session-arn-3)
+ [4단계: CodeDeploy 배포를 위한 온프레미스 인스턴스 준비](#register-on-premises-instance-iam-session-arn-4)
+ [5단계: CodeDeploy에 온프레미스 인스턴스 등록](#register-on-premises-instance-iam-session-arn-5)
+ [6단계: 온프레미스 인스턴스에 태그 지정](#register-on-premises-instance-iam-session-arn-6)
+ [7단계 : 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포합니다.](#register-on-premises-instance-iam-session-arn-7)
+ [8단계: 온프레미스 인스턴스에 대한 배포 추적](#register-on-premises-instance-iam-session-arn-8)

## IAM 세션 ARN 등록 필수 조건
<a name="register-on-premises-instance-iam-session-arn-prerequisites"></a>

[온프레미스 인스턴스 구성을 위한 사전 요구 사항](instances-on-premises-prerequisites.md)에 나열된 사전 필수 조건에 더하여 다음 추가 요구 사항을 충족해야 합니다.

**IAM 권한**

온프레미스 인스턴스를 등록하는 데 사용하는 IAM 자격 증명에는 CodeDeploy 작업을 수행할 수 있는 권한이 부여되어야 합니다. **AWSCodeDeployFullAccess** 관리형 정책이 IAM 자격 증명에 연결되도록 해야 합니다. 자세한 내용은 *IAM 사용 설명서*의 [AWS 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)을 참조하세요.

**임시 보안 인증 정보를 새로 고치는 시스템**

IAM 세션 ARN을 사용하여 온프레미스 인스턴스를 등록하는 경우 임시 자격 증명을 주기적으로 새로 고칠 수 있는 시스템이 있어야 합니다. 자격 증명이 생성될 때 더 짧은 기간을 지정하면 임시 자격 증명이 1시간 후에 만료됩니다. 자격 증명 새로 고치는 방법은 두 가지입니다.
+ **방법 1**: ID 및 인증 시스템을 주기적으로 폴링하고 최신 세션 자격 증명을 인스턴스에 복사하는 CRON 스크립트와 함께 회사 네트워크에 있는 자격 증명 및 인증 시스템을 사용합니다. 이를 통해 조직에서 사용하는 인증 유형을 지원하기 위해 CodeDeploy 에이전트 또는 서비스를 변경할 필요 AWS 없이 인증 및 자격 증명 구조를와 통합할 수 있습니다.
+ **방법 2**: 인스턴스에서 CRON 작업을 주기적으로 실행하여 AWS STS [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) 작업을 호출하고 CodeDeploy 에이전트가 액세스할 수 있는 파일에 세션 자격 증명을 씁니다. 이 방법을 사용하려면 IAM 사용자를 사용하고 온프레미스 인스턴스에 자격 증명을 복사해야 하지만 온프레미스 인스턴스 전체에서 동일한 IAM 사용자 및 자격 증명을 재사용할 수 있습니다.

**참고**  
1과 2 중 어떤 방법을 사용하든 임시 세션 보안 인증 정보가 업데이트된 후 CodeDeploy 에이전트를 다시 시작하는 프로세스를 설정해야 새 보안 인증 정보가 적용됩니다.

자격 AWS STS 증명 생성 및 작업에 대한 자세한 내용은 [AWS Security Token Service API 참조](https://docs.aws.amazon.com/STS/latest/APIReference/) 및 [임시 보안 자격 증명을 사용하여 AWS 리소스에 대한 액세스 요청을 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html).

## 1단계: 온프레미스 인스턴스에서 가정할 IAM 역할 만들기
<a name="register-on-premises-instance-iam-session-arn-1"></a>

 AWS CLI 또는 IAM 콘솔을 사용하여 온프레미스 인스턴스가 CodeDeploy를 인증하고 상호 작용하는 데 사용할 IAM 역할을 생성할 수 있습니다.

IAM 역할은 하나씩만 생성하면 됩니다. 각 온프레미스 인스턴스는 이 역할을 수임하여 이 역할에 부여된 권한을 제공하는 임시 보안 자격 증명을 검색할 수 있습니다.

만드는 역할에 CodeDeploy 에이전트를 설치하는 데 필요한 파일에 액세스하려면 다음 권한이 필요합니다.

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

****  

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

------

온프레미스 인스턴스에서 액세스해야 하는 Amazon S3 버킷으로만 이 정책을 제한하는 것이 좋습니다. 이 정책을 제한하는 경우, CodeDeploy 에이전트가 포함된 Amazon S3 버킷에 대한 액세스 권한도 부여해야 합니다. 그렇지 않으면 온프레미스 인스턴스에 CodeDeploy 에이전트를 설치 또는 업데이트할 때 오류가 발생할 수 있습니다. Amazon S3 버킷 액세스 제어에 대한 자세한 내용은 [Amazon S3 리소스에 대한 액세스 권한 관리](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)를 참조하세요.

**IAM 역할을 만들려면**

1. `--role-name` 옵션을 사용하여 [create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html) 명령을 호출해 IAM 역할의 이름(예: `CodeDeployInstanceRole`)을 지정하고 `--assume-role-policy-document` 옵션을 사용하여 권한을 제공할 수 있습니다.

   이 인스턴스에 대한 IAM 역할을 생성할 때 `CodeDeployInstanceRole`(이)라는 이름을 지정하고 `CodeDeployRolePolicy.json`(이)라는 파일에 필요한 권한을 포함합니다.

   ```
   aws iam create-role --role-name CodeDeployInstanceRole --assume-role-policy-document file://CodeDeployRolePolicy.json
   ```

1. **create-role** 명령에 대한 호출의 출력에서 ARN 필드의 값을 기록해 둡니다. 예제:

   ```
   arn:aws:iam::123456789012:role/CodeDeployInstanceRole
   ```

    AWS STS [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) API를 사용하여 각 인스턴스에 대한 단기 자격 증명을 생성할 때 역할 ARN이 필요합니다.

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

   기존 역할에 사용 권한을 할당하는 방법에 대한 자세한 내용은 [AWS CLI 명령 참조](https://docs.aws.amazon.com/cli/latest/reference/)의 [put-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html)을 참조하세요.

## 2단계:를 사용하여 개별 인스턴스에 대한 임시 자격 증명 생성 AWS STS
<a name="register-on-premises-instance-iam-session-arn-2"></a>

온프레미스 인스턴스 등록에 사용할 임시 자격 증명을 생성하기 전에 임시 자격 증명을 생성할 IAM 자격 증명(사용자 또는 역할)을 생성하거나 선택해야 합니다. `sts:AssumeRole` 권한은 이 IAM 자격 증명에 대한 정책 설정에 포함되어야 합니다.

IAM 자격 증명에 `sts:AssumeRole` 권한을 부여하는 방법에 대한 자세한 내용은 [AWS 서비스에 권한을 위임할 역할 생성 및 AssumeRole을 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)

임시 자격 증명 생성 방법은 두 가지입니다.
+  AWS CLI와(과) 함께 [assume-role](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html) 명령 사용 예제:

  ```
  aws sts assume-role --role-arn arn:aws:iam::12345ACCOUNT:role/role-arn --role-session-name session-name
  ```

  위치:
  + *12345ACCOUNT*는 조직의 12자리 계정 번호입니다.
  + *role-arn*은 [1단계: 온프레미스 인스턴스에서 가정할 IAM 역할 만들기](#register-on-premises-instance-iam-session-arn-1)에서 생성한 수임할 역할의 ARN입니다.
  + *session-name*은 지금 만들려는 역할 세션에 제공할 이름입니다.
**참고**  
자격 증명 및 인증 시스템을 주기적으로 폴링하고 최신 세션 자격 증명을 인스턴스에 복사하는 CRON 스크립트를 사용하는 경우(에 설명된 임시 자격 증명을 새로 고치는 방법 1[IAM 세션 ARN 등록 필수 조건](#register-on-premises-instance-iam-session-arn-prerequisites)), 지원되는 SDK를 사용하여 [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)을 호출 AWS 할 수 있습니다.
+ 에서 제공하는 도구를 사용합니다 AWS.

  aws-codedeploy-session-helper 도구는 AWS STS 자격 증명을 생성하고 인스턴스에 배치한 파일에 기록합니다. 이 도구는 [IAM 세션 ARN 등록 필수 조건](#register-on-premises-instance-iam-session-arn-prerequisites)에 설명된 임시 자격 증명을 새로 고치는 방법 2에 가장 적합합니다. 이 방법에서 aws-codedeploy-session-helper 도구는 각 인스턴스에 배치되고 IAM 사용자의 권한을 사용하여 명령을 실행합니다. 각 인스턴스는 이 도구와 함께 동일한 IAM 사용자의 자격 증명을 사용합니다.

  자세한 내용은 [aws-codedeploy-session-helper](https://github.com/awslabs/aws-codedeploy-samples/tree/master/utilities/aws-codedeploy-session-helper) GitHub 리포지토리를 참조하세요.
**참고**  
IAM 세션 자격 증명을 생성한 후에는 온프레미스 인스턴스의 어느 위치에나 배치합니다. 다음 단계에서는 이 위치의 자격 증명에 액세스하도록 CodeDeploy 에이전트를 구성합니다.

계속하기 전에 임시 자격 증명을 주기적으로 새로 고치는 데 사용할 시스템이 있는지 확인하세요. 임시 자격 증명이 새로 고쳐지지 않으면 온프레미스 인스턴스에 대한 배포가 실패합니다. 자세한 내용은 [IAM 세션 ARN 등록 필수 조건](#register-on-premises-instance-iam-session-arn-prerequisites)의 “임시 자격 증명을 새로 고치는 시스템”을 참조하세요.

## 3단계: 온프레미스 인스턴스에 구성 파일 추가
<a name="register-on-premises-instance-iam-session-arn-3"></a>

루트 또는 관리자 권한을 사용하여 온프레미스 인스턴스에 구성 파일을 추가합니다. 이 구성 파일은 CodeDeploy에 사용될 IAM 자격 증명 및 대상 AWS 리전을 선언하는 데 사용합니다. 온프레미스 인스턴스의 특정 위치에 파일을 추가해야 합니다. 파일에는 IAM 임시 세션 ARN, 보안 키 ID 및 보안 액세스 키, 대상 AWS 리전이 포함되어야 합니다.

**구성 파일을 추가하려면**

1. 온프레미스 인스턴스의 다음 위치에 `codedeploy.onpremises.yml`(Ubuntu Server 또는 RHEL 온프레미스 인스턴스의 경우) 또는 `conf.onpremises.yml`(Windows Server 온-레미스 인스턴스의 경우)라는 이름의 파일을 만듭니다.
   + Ubuntu Server: `/etc/codedeploy-agent/conf`
   + Windows Server: `C:\ProgramData\Amazon\CodeDeploy`

1. 텍스트 편집기를 사용하여 새로 만든 `codedeploy.onpremises.yml` 파일(Linux) 또는 `conf.onpremises.yml` 파일(Windows)에 다음 정보를 추가하세요.

   ```
   ---
   iam_session_arn: iam-session-arn
   aws_credentials_file: credentials-file
   region: supported-region
   ```

   위치:
   + *iam-session-arn*은 [2단계:를 사용하여 개별 인스턴스에 대한 임시 자격 증명 생성 AWS STS](#register-on-premises-instance-iam-session-arn-2)에서 기록해 둔 IAM 세션 ARN 입니다.
   + *credentials-file*은 [2단계:를 사용하여 개별 인스턴스에 대한 임시 자격 증명 생성 AWS STS](#register-on-premises-instance-iam-session-arn-2)에서 기록해 둔대로 임시 세션 ARN에 대한 자격 증명 파일의 위치입니다.
   + *supported-region*은 *AWS 일반 참조*의 [리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)에 나열된 대로 CodeDeploy가 지원하는 리전 중 하나입니다.

## 4단계: CodeDeploy 배포를 위한 온프레미스 인스턴스 준비
<a name="register-on-premises-instance-iam-session-arn-4"></a>

**설치 및 구성 AWS CLI **

온프레미스 인스턴스 AWS CLI 에를 설치하고 구성합니다. ( AWS CLI 는 온프레미스 인스턴스에서 CodeDeploy 에이전트를 다운로드하고 설치하는 데 사용됩니다.) 

1. 온프레미스 인스턴스 AWS CLI 에를 설치하려면 *AWS Command Line Interface 사용 설명서*의 [로 설정 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)의 지침을 따르세요.
**참고**  
온프레미스 인스턴스 작업을 위한 CodeDeploy 명령은 AWS CLI의 버전 1.7.19에서 사용할 수 있게 되었습니다. 버전이 AWS CLI 이미 설치되어 있는 경우를 호출하여 버전을 확인할 수 있습니다**aws --version**.

1. 온프레미스 인스턴스 AWS CLI 에서를 구성하려면 *AWS Command Line Interface 사용 설명서*의 [구성 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)의 지침을 따르세요.
**중요**  
를 구성할 때 AWS CLI (예: **aws configure** 명령을 호출하여) 최소한에 설명된 권한이 있는 IAM 사용자의 보안 키 ID와 보안 액세스 키를 지정해야 합니다[IAM 세션 ARN 등록 필수 조건](#register-on-premises-instance-iam-session-arn-prerequisites).

**AWS\$1REGION 환경 변수 설정(Ubuntu Server 및 RHEL만 해당)**

온프레미스 인스턴스에서 Ubuntu Server 또는 RHEL을 실행하지 않는 경우 이 단계를 건너뛰고 "CodeDeploy 에이전트 생성"으로 직접 이동합니다.

Ubuntu Server 또는 RHEL 온프레미스 인스턴스에 CodeDeploy 에이전트를 설치하고 새 버전을 사용할 수 있을 때마다 인스턴스가 CodeDeploy 에이전트를 업데이트하도록 설정합니다. 인스턴스에서 `AWS_REGION` 환경 변수를 CodeDeploy에서 지원하는 리전 중 하나의 식별자로 설정하면 됩니다. CodeDeploy 애플리케이션, 배포 그룹 및 애플리케이션 개정 버전이 있는 리전으로 값을 설정하는 것이 좋습니다(예: `us-west-2`). 전체 리전 목록은 *AWS 일반 참조*의 [리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)를 참조하세요.

환경 변수를 설정하려면 터미널에서 다음을 호출하세요.

```
export AWS_REGION=supported-region
```

여기서 *supported-region*이 리전의 식별자입니다(예: `us-west-2`).

**CodeDeploy 에이전트 설치**
+ Ubuntu Server 온프레미스 인스턴스의 경우 [Ubuntu Server용 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-ubuntu.md)의 지침을 따르고 이 페이지로 돌아옵니다.
+ RHEL 온프레미스 인스턴스의 경우 [Amazon Linux 또는 RHEL용 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-linux.md)의 지침을 따르고 이 페이지로 돌아옵니다.
+ Windows Serve 온프레미스 인스턴스의 경우 [Windows Server용 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-windows.md)의 지침을 따르고 이 페이지로 돌아옵니다.

## 5단계: CodeDeploy에 온프레미스 인스턴스 등록
<a name="register-on-premises-instance-iam-session-arn-5"></a>

이 단계의 지침은 온프레미스 인스턴스 자체에서 온프레미스 인스턴스를 등록한다고 가정합니다. 가 AWS CLI 설치 및 구성된 별도의 디바이스 또는 인스턴스에서 온프레미스 인스턴스를 등록할 수 있습니다.

 AWS CLI 를 사용하여 배포에 사용할 수 있도록 CodeDeploy에 온프레미스 인스턴스를 등록합니다.

를 사용하려면 먼저에서 생성한 임시 세션 자격 증명의 ARN AWS CLI이 필요합니다[3단계: 온프레미스 인스턴스에 구성 파일 추가](#register-on-premises-instance-iam-session-arn-3). 예를 들어, `AssetTag12010298EX`(으)로 식별하는 인스턴스의 경우:

```
arn:sts:iam::123456789012:assumed-role/CodeDeployInstanceRole/AssetTag12010298EX
```

[register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) 명령을 호출하여 다음을 지정합니다.
+  온프레미스 인스턴스를 고유하게 식별하는 이름(`--instance-name` 옵션 사용).
**중요**  
특히 디버깅을 위해 온프레미스 인스턴스를 식별하려면 온프레미스 인스턴스의 일부 고유 특성(예: STS 자격 증명의 session-name과 일련 번호 또는 해당되는 경우 내부 자산 식별자)에 매핑되는 이름을 지정하는 것이 좋습니다. 이름으로 MAC 주소를 지정하는 경우 MAC 주소에는 콜론(:)과 같이 CodeDeploy에서 허용하지 않는 문자가 포함되어 있다는 점에 유의하세요. 허용되는 문자 목록은 [CodeDeploy 할당량](limits.md) 단원을 참조하세요.
+ [1단계: 온프레미스 인스턴스에서 가정할 IAM 역할 만들기](#register-on-premises-instance-iam-session-arn-1)에서 여러 온프레미스 인스턴스를 인증하도록 설정한 IAM 세션 ARN

예:

```
aws deploy register-on-premises-instance --instance-name name-of-instance --iam-session-arn arn:aws:sts::account-id:assumed-role/role-to-assume/session-name
```

위치:
+ *name-of-instance*은 온프레미스 인스턴스를 식별하는 데 사용하는 이름입니다(예: `AssetTag12010298EX`).
+ *account-id*는 조직의 12자리 계정 ID입니다(예: `111222333444`).
+ *role-to-assume*은 인스턴스에 대해 생성한 IAM 역할의 이름입니다(예: `CodeDeployInstanceRole`).
+ *session-name*은 [2단계:를 사용하여 개별 인스턴스에 대한 임시 자격 증명 생성 AWS STS](#register-on-premises-instance-iam-session-arn-2)에서 지정한 세션 역할의 이름입니다..

## 6단계: 온프레미스 인스턴스에 태그 지정
<a name="register-on-premises-instance-iam-session-arn-6"></a>

 AWS CLI 또는 CodeDeploy 콘솔을 사용하여 온프레미스 인스턴스에 태그를 지정할 수 있습니다. CodeDeploy는 온프레미스 인스턴스 태그를 사용하여 배포 중 배포 대상을 식별합니다.

**온프레미스 인스턴스에 태그 지정(CLI)**
+ [add-tags-to-on-premises-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/add-tags-to-on-premises-instances.html) 명령을 호출하여 다음을 지정합니다.
  + 온프레미스 인스턴스를 고유하게 식별하는 이름(`--instance-names` 옵션 사용).
  + 사용하려는 온프레미스 인스턴스 태그 키 및 태그 값의 이름(`--tags` 옵션 사용). 이름과 값을 둘 다 지정해야 합니다. CodeDeploy는 값만 있는 온프레미스 인스턴스 태그를 허용하지 않습니다.

    예:

    ```
    aws deploy add-tags-to-on-premises-instances --instance-names AssetTag12010298EX --tags Key=Name,Value=CodeDeployDemo-OnPrem
    ```

**온프레미스 인스턴스에 태그 지정(콘솔)**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) CodeDeploy 콘솔을 엽니다.
**참고**  
[CodeDeploy 시작하기](getting-started-codedeploy.md)에서 설정한 사용자와 동일한 사용자로 로그인합니다.

1. 탐색 창에서 **배포**를 확장하고 **온프레미스 인스턴스**를 선택합니다.

1. 온프레미스 인스턴스 목록에서 태그를 지정할 온프레미스 인스턴스의 이름을 선택합니다.

1. 태그 목록에서 원하는 태그 키와 태그 값을 선택하거나 입력합니다. 태그 키와 태그 값을 입력하면 다른 행이 나타납니다. 최대 10개의 태그에 대해 이 작업을 반복할 수 있습니다. 태그를 제거하려면 **제거**를 선택합니다.

1. 태그를 추가한 후 **태그 업데이트**를 선택합니다.

## 7단계 : 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포합니다.
<a name="register-on-premises-instance-iam-session-arn-7"></a>

등록 및 태그가 지정된 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포할 준비가 되었습니다.

애플리케이션 개정 버전을 Amazon EC2 인스턴스에 배포하는 것과 유사한 방식으로 온프레미스 인스턴스에 배포합니다. 지침은 [CodeDeploy에서 배포 만들기](deployments-create.md) 단원을 참조하세요. 이러한 지침은 애플리케이션 만들기, 배포 그룹 만들기 및 애플리케이션 개정 버전 준비를 비롯한 필수 구성 요소에 대한 링크가 포함되어 있습니다. 배포하기 위해 간단한 샘플 애플리케이션 개정 버전이 필요한 경우 [튜토리얼: CodeDeploy를 사용하여 온프레미스 인스턴스에 애플리케이션 배포(Windows Server, Ubuntu Server 또는 Red Hat Enterprise Linux)](tutorials-on-premises-instance.md)의 [2단계: 샘플 애플리케이션 수정 버전 만들기](tutorials-on-premises-instance-2-create-sample-revision.md)에 설명된 개정 버전을 생성할 수 있습니다.

**중요**  
온프레미스 인스턴스를 대상으로 하는 배포 그룹을 만드는 과정에서 CodeDeploy 서비스 역할을 다시 사용하는 경우 서비스 역할 정책 설명의 `Action` 부분에 `Tag:get*`을(를) 포함해야 합니다. 자세한 내용은 [2단계: CodeDeploy에 대한 서비스 역할 생성](getting-started-create-service-role.md) 단원을 참조하십시오.

## 8단계: 온프레미스 인스턴스에 대한 배포 추적
<a name="register-on-premises-instance-iam-session-arn-8"></a>

등록되고 태그가 지정된 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포한 후 배포의 진행 상황을 추적할 수 있습니다.

Amazon EC2 인스턴스에 대한 배포를 추적하는 것과 유사한 방식으로 온프레미스 인스턴스에 대한 배포를 추적합니다. 지침은 [CodeDeploy 배포 세부 정보 보기](deployments-view-details.md) 단원을 참조하세요.

# 레지스터 명령(IAM 사용자 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.
<a name="instances-on-premises-register-instance"></a>

**중요**  
IAM 사용자를 사용하여 인스턴스를 등록하는 것은 인증에 정적(영구) 보안 인증 정보를 사용하므로 권장되지 않습니다. 보안을 강화하려면 인증을 위한 임시 보안 인증 정보를 사용하여 인스턴스를 등록하는 것이 좋습니다. 자세한 내용은 [register-on-premises-instance 명령(IAM 세션 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.](register-on-premises-instance-iam-session-arn.md) 단원을 참조하십시오.

**중요**  
IAM 사용자의 액세스 키(영구 보안 인증 정보)를 교체할 계획이 있어야 합니다. 자세한 내용은 [액세스 키 교체](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey)를 참조하세요.

이 섹션에서는 온프레미스 인스턴스를 구성하고 최소한의 작업으로 CodeDeploy에 등록하고 태그를 지정하는 방법에 대해 설명합니다. **register** 명령은 단일 또는 소규모 온프레미스 인스턴스 집합으로 작업할 때 가장 유용합니다. **register** 명령은 IAM 사용자 ARN을 사용하여 인스턴스를 인증하는 경우에만 사용할 수 있습니다. **register** 명령은 인증용 IAM 세션 ARN과 함께 사용합니다.

**register** 명령을 사용할 때 CodeDeploy에서 다음 작업을 수행할 수 있습니다.
+ 명령을 사용하여 IAM 사용자를 지정하지 않은 경우 온프레미스 인스턴스에 AWS Identity and Access Management 대해에서 IAM 사용자를 생성합니다.
+ IAM 사용자의 자격 증명을 온프레미스 인스턴스 구성 파일에 저장합니다.
+ CodeDeploy에 온프레미스 인스턴스 등록
+ 명령의 일부로 태그를 지정한 경우 온프레미스 인스턴스에 태그를 추가합니다.

**참고**  
[register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) 명령은 [register](https://docs.aws.amazon.com/cli/latest/reference/deploy/register.html) 명령 대신 사용할 수 있습니다. **register-on-premises-instance** 명령을 사용하여 온프레미스 인스턴스를 구성하고 주로 직접 CodeDeploy에 등록하고 태그를 지정할 수 있습니다. **register-on-premises-instance** 명령은 IAM 사용자 ARN 대신 IAM 세션 ARN을 사용하여 인스턴스를 등록할 수 있는 옵션도 제공합니다. 이 접근 방식은 대규모 온프레미스 인스턴스 플릿이 있는 경우 큰 이점을 제공합니다. 특히 각 온프레미스 인스턴스에 대해 하나씩 IAM 사용자를 만들지 않고 단일 IAM 세션 ARN 사용하여 여러 인스턴스를 인증할 수 있습니다. 자세한 내용은 [register-on-premises-instance 명령(IAM 사용자 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.](register-on-premises-instance-iam-user-arn.md) 및 [register-on-premises-instance 명령(IAM 세션 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.](register-on-premises-instance-iam-session-arn.md) 섹션을 참조하세요.

**Topics**
+ [1단계: 온프레미스 인스턴스 AWS CLI 에 설치 및 구성](#instances-on-premises-register-instance-1-install-cli)
+ [2단계: 등록 명령 호출](#instances-on-premises-register-instance-2-register-command)
+ [3단계: 설치 명령 호출](#instances-on-premises-register-instance-3-install-command)
+ [4단계 : 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포합니다.](#instances-on-premises-register-instance-4-deploy-revision)
+ [5단계: 온프레미스 인스턴스에 대한 배포 추적](#instances-on-premises-register-instance-5-track-deployment)

## 1단계: 온프레미스 인스턴스 AWS CLI 에 설치 및 구성
<a name="instances-on-premises-register-instance-1-install-cli"></a>

1. 온프레미스 인스턴스 AWS CLI 에를 설치합니다. *AWS Command Line Interface 사용 설명서*의 [AWS CLI을(를) 이용하여 설치 시작하기](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)에 나와 있는 지침을 따릅니다.
**참고**  
온프레미스 인스턴스 작업을 위한 CodeDeploy 명령은 AWS CLI 버전 1.7.19 이상에서 사용할 수 있습니다. 가 AWS CLI 이미 설치되어 있는 경우를 호출**aws --version**하여 버전을 확인합니다.

1. 온프레미스 인스턴스 AWS CLI 에서를 구성합니다. *AWS Command Line Interface 사용 설명서*의 [AWS CLI구성](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)에 나와 있는 지침을 따릅니다.
**중요**  
를 구성할 때 AWS CLI (예: **aws configure** 명령을 호출하여) 최소한에 지정된 권한 외에도 다음 액세스 권한이 있는 IAM 사용자의 보안 키 ID와 보안 AWS 액세스 키를 지정해야 합니다[온프레미스 인스턴스 구성을 위한 사전 요구 사항](instances-on-premises-prerequisites.md). 이렇게 하면 온프레미스 인스턴스에 CodeDeploy 에이전트를 다운로드하고 설치할 수 있습니다. 액세스 권한은 다음과 비슷할 수 있습니다.  

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement" : [
       {
         "Effect" : "Allow",
         "Action" : [
           "codedeploy:*",
           "iam:CreateAccessKey",
           "iam:CreateUser",
           "iam:DeleteAccessKey",
           "iam:DeleteUser",
           "iam:DeleteUserPolicy",
           "iam:ListAccessKeys",
           "iam:ListUserPolicies",
           "iam:PutUserPolicy",
           "iam:GetUser",
           "tag:getTagKeys",
           "tag:getTagValues",
           "tag:GetResources"
         ],
         "Resource" : "*"
       },
       {
         "Effect" : "Allow",
         "Action" : [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource" : [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-bucket1/*"
         ]
       }     
     ]
   }
   ```
이전에 표시된 Amazon S3 버킷 중 하나에 액세스하려고 할 때 액세스 거부 오류가 표시되면 버킷의 리소스 ARN에서 `/*` 부분(예: `arn:aws:s3:::aws-codedeploy-sa-east-1`)을 생략해 보세요.

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement" : [
       {
         "Effect" : "Allow",
         "Action" : [
           "codedeploy:*",
           "iam:CreateAccessKey",
           "iam:CreateUser",
           "iam:DeleteAccessKey",
           "iam:DeleteUser",
           "iam:DeleteUserPolicy",
           "iam:ListAccessKeys",
           "iam:ListUserPolicies",
           "iam:PutUserPolicy",
           "iam:GetUser",
           "tag:GetResources"
         ],
         "Resource" : "*"
       },
       {
         "Effect" : "Allow",
         "Action" : [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource" : [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-bucket2/*"
         ]
       }     
     ]
   }
   ```

## 2단계: 등록 명령 호출
<a name="instances-on-premises-register-instance-2-register-command"></a>

이 단계에서는 온프레미스 인스턴스 자체에서 온프레미스 인스턴스를 등록한다고 가정합니다. 이전 단계에서 설명한 대로가 AWS CLI 설치 및 구성된 별도의 디바이스 또는 인스턴스에서 온프레미스 인스턴스를 등록할 수도 있습니다.

를 사용하여 다음을 지정 AWS CLI 하여 [register](https://docs.aws.amazon.com/cli/latest/reference/deploy/register.html) 명령을 호출합니다.
+ CodeDeploy에 대한 온프레미스 인스턴스를 고유하게 식별하는 이름(`--instance-name` 옵션 사용).
**중요**  
나중에 특히 디버깅을 위해 온프레미스 인스턴스를 식별하려면 온프레미스 인스턴스의 일부 고유 특성(예: 일련 번호 또는 해당되는 경우 고유한 내부 자산 식별자)에 매핑되는 이름을 사용하는 것이 좋습니다. 이름에 MAC 주소를 지정하는 경우 MAC 주소에는 콜론(`:`)과 같이 CodeDeploy에서 허용하지 않는 문자가 포함되어 있다는 점에 유의하세요. 허용되는 문자 목록은 [CodeDeploy 할당량](limits.md) 단원을 참조하세요.
+ 선택적으로 이 온프레미스 인스턴스와 연결하려는 기존 IAM 사용자의 ARN(`--iam-user-arn` 옵션 사용). IAM 사용자의 ARN을 가져오려면 [get-user](https://docs.aws.amazon.com/cli/latest/reference/iam/get-user.html) 명령을 호출하거나 IAM 콘솔의 **사용자** 섹션에서 IAM 사용자 이름을 선택한 다음 **요약** 섹션에서 **사용자 ARN** 값을 찾습니다. 이 옵션을 지정하지 않으면 CodeDeploy는 AWS 계정에서 사용자를 대신하여 IAM 사용자를 생성하고 이를 온프레미스 인스턴스와 연결합니다.
**중요**  
`--iam-user-arn` 옵션을 지정하는 경우 [4단계: 온프레미스 인스턴스에 구성 파일 추가](register-on-premises-instance-iam-user-arn.md#register-on-premises-instance-iam-user-arn-4)에 설명된 대로 온프레미스 인스턴스 구성 파일도 수동으로 생성해야 합니다.  
 하나의 IAM 사용자만 하나의 온프레미스 인스턴스에만 연결할 수 있습니다. 단일 IAM 사용자를 여러 온프레미스 인스턴스와 연결하려고 하면 오류가 발생하거나, 이러한 온프레미스 인스턴스에 배포하지 못하거나, 영구 보류 상태로 유지된 온프레미스 인스턴스에 배포될 수 있습니다.
+ 온프레미스 인스턴스 태그 집합(`--tags`옵션)을 사용하여 CodeDeploy Amazon EC2 인스턴스 집합을 식별하는 데 사용할 수 있습니다. `Key=tag-key,Value=tag-value`을(를) 사용하여 각 태그를 지정합니다(예: `Key=Name,Value=Beta Key=Name,Value=WestRegion`). 이 옵션을 지정하지 않으면 태그가 등록되지 않습니다. 나중에 태그를 등록하려면 [add-tags-to-on-premises-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/add-tags-to-on-premises-instances.html) 명령을 호출하세요.
+ 선택적으로 온프레미스 인스턴스가 CodeDeploy에 등록될 AWS 리전입니다( `--region` 옵션 사용). *AWS 일반 참조*의 [리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)에 나열된 지원되는 리전 중 하나여야 합니다(예: `us-west-2`). 이 옵션을 지정하지 않으면 호출하는 IAM 사용자와 연결된 기본 AWS 리전이 사용됩니다.

예제:

```
aws deploy register --instance-name AssetTag12010298EX --iam-user-arn arn:aws:iam::444455556666:user/CodeDeployUser-OnPrem --tags Key=Name,Value=CodeDeployDemo-OnPrem --region us-west-2
```

**register** 명령은 다음 작업을 수행합니다.

1. 기존 IAM 사용자가 지정되지 않은 경우 IAM 사용자를 생성하고 필요한 권한을 연결하며 해당 보안 키와 보안 액세스 키를 생성합니다. 온프레미스 인스턴스는 이 IAM 사용자와 해당 권한 및 자격 증명을 사용하여 CodeDeploy를 인증하고 상호 작용합니다.

1. CodeDeploy에 온프레미스 인스턴스 등록

1. 지정된 경우 CodeDeploy에서 `--tags` 옵션으로 지정된 태그를 등록된 온프레미스 인스턴스 이름과 연결합니다.

1. IAM 사용자가 생성된 경우 **register** 명령이 호출된 동일한 디렉터리에 필요한 구성 파일도 생성합니다.

이 명령에 오류가 발생하면 나머지 단계를 수동으로 완료하는 방법을 설명하는 오류 메시지가 나타납니다. 그렇지 않으면 다음 단계에 나열된 대로 **install** 명령을 호출하는 방법을 설명하는 성공 메시지가 나타납니다.

## 3단계: 설치 명령 호출
<a name="instances-on-premises-register-instance-3-install-command"></a>

온프레미스 인스턴스에서를 사용하여 다음을 지정 AWS CLI 하여 [설치](https://docs.aws.amazon.com/cli/latest/reference/deploy/install.html) 명령을 호출합니다.
+ 구성 파일의 경로(`--config-file` 옵션 사용).
+ 선택적으로, 온프레미스 인스턴스에 이미 존재하는 구성 파일을 대체할지 여부(`--override-config` 옵션 사용). 지정하지 않으면 기존 구성 파일이 대체되지 않습니다.
+ 선택적으로 온프레미스 인스턴스가 CodeDeploy에 등록될 AWS 리전입니다( `--region` 옵션 사용). *AWS 일반 참조*의 [리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)에 나열된 지원되는 리전 중 하나여야 합니다(예: `us-west-2`). 이 옵션을 지정하지 않으면 호출하는 IAM 사용자와 연결된 기본 AWS 리전이 사용됩니다.
+ 선택적으로, CodeDeploy 에이전트를 설치할 사용자 지정 위치(`--agent-installer` 옵션 사용). 이 옵션은 CodeDeploy가 공식적으로 지원하지 않는 CodeDeploy 에이전트의 사용자 지정 버전(예: GitHub의[ CodeDeploy 에이전트](https://github.com/aws/aws-codedeploy-agent) 리포지토리 기반 사용자 지정 버전)을 설치하는 데 유용합니다. 값은 다음 중 하나를 포함하는 Amazon S3 버킷의 경로여야 합니다.
  + CodeDeploy 에이전트 설치 스크립트(Linux 또는 UNIX 기반 운영 체제의 경우 GitHub의 [CodeDeploy 에이전트 ](https://github.com/aws/aws-codedeploy-agent/blob/master/bin/install) 리포지토리에 있는 설치 파일과 유사).
  + CodeDeploy 에이전트 설치 관리자 패키지(.msi) 파일(Windows 기반 운영 체제의 경우)

   이 옵션을 지정하지 않으면 CodeDeploy는 자체 위치에서 온프레미스 인스턴스의 운영 체제와 호환되는 공식적으로 지원되는 CodeDeploy 에이전트 버전을 설치하는 것이 가장 좋습니다.

예:

```
aws deploy install --override-config --config-file /tmp/codedeploy.onpremises.yml --region us-west-2 --agent-installer s3://aws-codedeploy-us-west-2/latest/codedeploy-agent.msi
```

**install** 명령은 다음 작업을 수행합니다.

1. 온프레미스 인스턴스가 Amazon EC2 인스턴스인지 확인합니다. 이 경우 오류 메시지가 나타납니다.

1. 파일이 해당 위치에 없는 경우 인스턴스의 지정된 위치에서 CodeDeploy 에이전트가 해당 파일을 찾을 것으로 예상되는 위치로 온프레미스 인스턴스 구성 파일을 복사합니다.

   Ubuntu Server와 Red Hat Enterprise Linux(RHEL)의 경우, `/etc/codedeploy-agent/conf`/`codedeploy.onpremises.yml`.

   Windows Server의 경우 `C:\ProgramData\Amazon\CodeDeploy`\$1`conf.onpremises.yml`.

   `--override-config` 옵션이 지정되면 파일을 만들거나 덮어씁니다.

1. 온프레미스 인스턴스에 CodeDeploy 에이전트를 설치한 다음 시작합니다.

## 4단계 : 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포합니다.
<a name="instances-on-premises-register-instance-4-deploy-revision"></a>

등록 및 태그가 지정된 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포할 준비가 되었습니다.

애플리케이션 개정 버전을 Amazon EC2 인스턴스에 배포하는 것과 유사한 방식으로 온프레미스 인스턴스에 배포합니다. 지침은 [CodeDeploy에서 배포 만들기](deployments-create.md) 단원을 참조하세요. 이러한 지침은 애플리케이션 만들기, 배포 그룹 만들기 및 애플리케이션 개정 버전 준비를 비롯한 필수 구성 요소에 연결됩니다. 배포하기 위해 간단한 샘플 애플리케이션 개정 버전이 필요한 경우 [튜토리얼: CodeDeploy를 사용하여 온프레미스 인스턴스에 애플리케이션 배포(Windows Server, Ubuntu Server 또는 Red Hat Enterprise Linux)](tutorials-on-premises-instance.md)의 [2단계: 샘플 애플리케이션 수정 버전 만들기](tutorials-on-premises-instance-2-create-sample-revision.md)에 설명된 개정 버전을 생성할 수 있습니다.

**중요**  
온프레미스 인스턴스를 대상으로 하는 배포 그룹을 만드는 과정에서 기존 CodeDeploy 서비스 역할을 다시 사용하는 경우 서비스 역할 정책 설명의 `Action` 부분에 `Tag:get*`을(를) 포함해야 합니다. 자세한 내용은 [2단계: CodeDeploy에 대한 서비스 역할 생성](getting-started-create-service-role.md) 단원을 참조하십시오.

## 5단계: 온프레미스 인스턴스에 대한 배포 추적
<a name="instances-on-premises-register-instance-5-track-deployment"></a>

등록되고 태그가 지정된 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포한 후 배포의 진행 상황을 추적할 수 있습니다.

Amazon EC2 인스턴스에 대한 배포를 추적하는 것과 유사한 방식으로 온프레미스 인스턴스에 대한 배포를 추적합니다. 지침은 [CodeDeploy 배포 세부 정보 보기](deployments-view-details.md) 단원을 참조하세요.

더 많은 옵션은 [CodeDeploy에서 온프레미스 인스턴스 작업 관리](on-premises-instances-operations.md)을 참조하세요.

# register-on-premises-instance 명령(IAM 사용자 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.
<a name="register-on-premises-instance-iam-user-arn"></a>

**중요**  
IAM 사용자를 사용하여 인스턴스를 등록하는 것은 인증에 정적(영구) 보안 인증 정보를 사용하므로 권장되지 않습니다. 보안을 강화하려면 인증을 위한 임시 보안 인증 정보를 사용하여 인스턴스를 등록하는 것이 좋습니다. 자세한 내용은 [register-on-premises-instance 명령(IAM 세션 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.](register-on-premises-instance-iam-session-arn.md) 단원을 참조하십시오.

**중요**  
IAM 사용자의 액세스 키(영구 보안 인증 정보)를 교체할 계획이 있어야 합니다. 자세한 내용은 [액세스 키 교체](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey)를 참조하세요.

다음 지침에 따라 온프레미스 인스턴스를 구성하고 인증에 정적 IAM 사용자 자격 증명을 사용하여 주로 CodeDeploy에 등록하고 태그를 지정합니다.

**Topics**
+ [1단계: 온프레미스 인스턴스에 대한 IAM 사용자 생성](#register-on-premises-instance-iam-user-arn-1)
+ [2단계: IAM 사용자에게 권한 할당](#register-on-premises-instance-iam-user-arn-2)
+ [3단계: IAM 사용자 자격 증명을 가져오기](#register-on-premises-instance-iam-user-arn-3)
+ [4단계: 온프레미스 인스턴스에 구성 파일 추가](#register-on-premises-instance-iam-user-arn-4)
+ [5단계: 설치 및 구성 AWS CLI](#register-on-premises-instance-iam-user-arn-5)
+ [6단계: AWS\$1REGION 환경 변수 설정(Ubuntu Server 및 RHEL만 해당)](#register-on-premises-instance-iam-user-arn-6)
+ [7단계: CodeDeploy 에이전트 설치](#register-on-premises-instance-iam-user-arn-7)
+ [8단계: CodeDeploy에 온프레미스 인스턴스 등록](#register-on-premises-instance-iam-user-arn-8)
+ [9단계: 온프레미스 인스턴스에 태그 지정](#register-on-premises-instance-iam-user-arn-9)
+ [10단계 : 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포합니다.](#register-on-premises-instance-iam-user-arn-10)
+ [11단계: 온프레미스 인스턴스에 대한 배포 추적](#register-on-premises-instance-iam-user-arn-11)

## 1단계: 온프레미스 인스턴스에 대한 IAM 사용자 생성
<a name="register-on-premises-instance-iam-user-arn-1"></a>

온프레미스 인스턴스가 CodeDeploy를 인증하고 상호 작용하는 데 사용할 IAM 사용자를 생성합니다.

**중요**  
참여하는 각 온프레미스 인스턴스에 대해 별도의 IAM 사용자를 생성해야 합니다. 개별 IAM 사용자를 여러 온프레미스 인스턴스에 재사용하려고 하면 해당 온프레미스 인스턴스를 CodeDeploy로 등록하거나 태그를 지정하지 못할 수 있습니다. 이러한 온프레미스 인스턴스에 대한 배포는 영구 보류 상태로 유지되거나 완전히 실패할 수 있습니다.

IAM 사용자에게 해당 용도를 식별하는 이름(예: CodeDeployUser-OnPrem)을 할당하는 것이 좋습니다.

 AWS CLI 또는 IAM 콘솔을 사용하여 IAM 사용자를 생성할 수 있습니다. 자세한 내용은 [AWS 계정의 IAM 사용자 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)을 참조하세요.

**중요**  
 AWS CLI 또는 IAM 콘솔을 사용하여 새 IAM 사용자를 생성하든 상관없이 사용자에게 제공된 사용자 ARN을 기록해 둡니다. 나중에 [4단계: 온프레미스 인스턴스에 구성 파일 추가](#register-on-premises-instance-iam-user-arn-4) 및 [8단계: CodeDeploy에 온프레미스 인스턴스 등록](#register-on-premises-instance-iam-user-arn-8)에서 이 정보가 필요합니다.

## 2단계: IAM 사용자에게 권한 할당
<a name="register-on-premises-instance-iam-user-arn-2"></a>

온프레미스 인스턴스가 Amazon S3 버킷의 애플리케이션 개정 버전을 배포할 경우 IAM 사용자에게 해당 버킷과 상호 작용할 수 있는 권한을 할당해야 합니다. AWS CLI 또는 IAM 콘솔을 사용하여 권한을 할당할 수 있습니다.

**참고**  
GitHub 리포지토리에서만 애플리케이션 개정 버전을 배포하는 경우이 단계를 건너 뛰고 [3단계: IAM 사용자 자격 증명을 가져오기](#register-on-premises-instance-iam-user-arn-3)(으)로 이동합니다. ([1단계: 온프레미스 인스턴스에 대한 IAM 사용자 생성](#register-on-premises-instance-iam-user-arn-1)에서 생성한 IAM 사용자에 대한 정보가 계속 필요합니다. 이후 단계에서 사용하게 됩니다.)

**권한을 할당하려면(CLI)**

1.  AWS CLI을(를) 호출하는 데 사용하는 Amazon EC2 인스턴스 또는 디바이스에서 다음 정책 내용이 포함된 파일을 생성합니다. 파일의 이름을 **CodeDeploy-OnPrem-Permissions.json**와(과) 같이 지정한 다음 파일을 저장합니다.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:Get*",
                   "s3:List*"
               ],
               "Effect": "Allow",
               "Resource": "*"
           }
       ]
   }
   ```
**참고**  
온프레미스 인스턴스에서 액세스해야 하는 Amazon S3 버킷으로만 이 정책을 제한하는 것이 좋습니다. 이 정책을 제한하는 경우 AWS CodeDeploy 에이전트가 포함된 Amazon S3 버킷에 대한 액세스 권한도 부여해야 합니다. 그렇지 않으면 연결된 온프레미스 인스턴스에 CodeDeploy 에이전트를 설치 또는 업데이트할 때 오류가 발생할 수 있습니다.  
예:  

   ```
   {
     "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/*"
         ]
       }
     ]
   }
   ```

1. [put-user-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-user-policy.html) 명령을 호출하여 IAM 사용자 이름(`--user-name` 옵션 사용), 정책 이름(`--policy-name` 옵션 사용), 새로 생성된 정책 문서의 경로(`--policy-document` 옵션 사용)를 지정합니다. 예를 들어, **CodeDeploy-OnPrem-Permissions.json** 파일은 이 명령을 호출하는 것과 동일한 디렉터리(폴더)에 있다고 가정합니다.
**중요**  
파일 이름 앞에 `file://`를 포함해야 합니다. 이 명령에 필수적입니다.

   ```
   aws iam put-user-policy --user-name CodeDeployUser-OnPrem --policy-name CodeDeploy-OnPrem-Permissions --policy-document file://CodeDeploy-OnPrem-Permissions.json
   ```

**권한을 할당하려면(콘솔)**

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

1. 탐색 창에서 **정책**을 선택한 후 **정책 생성**을 선택합니다. (**시작하기** 버튼이 표시되면 이 버튼을 선택한 후 **정책 생성**을 선택합니다.)

1. **자체 정책 생성** 옆의 **선택**을 선택하세요.

1. **정책 이름**) 상자에 이 정책의 이름(예: **CodeDeploy-OnPrem-Permissions**)을 입력합니다.

1. **정책 문서** 상자에 다음 권한 표현식을 입력하거나 붙여 넣습니다. 그러면 AWS CodeDeploy 가 정책에 지정된 Amazon S3 버킷의 애플리케이션 개정을 IAM 사용자를 대신하여 온프레미스 인스턴스에 배포할 수 있습니다.

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

1. **정책 생성**을 선택하세요.

1. 탐색 창에서 **사용자**를 선택합니다.

1. 사용자 목록에서 [1단계: 온프레미스 인스턴스에 대한 IAM 사용자 생성](#register-on-premises-instance-iam-user-arn-1)에서 생성한 IAM 사용자의 이름을 찾아서 선택합니다.

1. **권한** 탭의 **관리형 정책**에서 **정책 연결**을 선택합니다.

1. **CodeDeploy-OnPrem-Permissions**(이)라는 정책을 선택한 후 **정책 연결**을 선택합니다.

## 3단계: IAM 사용자 자격 증명을 가져오기
<a name="register-on-premises-instance-iam-user-arn-3"></a>

IAM 사용자의 보안 키 ID와 보안 액세스 키를 가져옵니다. [4단계: 온프레미스 인스턴스에 구성 파일 추가](#register-on-premises-instance-iam-user-arn-4)을(를) 위해 이 둘이 필요합니다. AWS CLI 또는 IAM 콘솔을 사용하여 보안 키 ID와 보안 액세스 키를 가져올 수 있습니다.

**참고**  
보안 키 ID와 보안 액세스 키가 이미 있는 경우 이 단계를 건너뛰고 [4단계: 온프레미스 인스턴스에 구성 파일 추가](#register-on-premises-instance-iam-user-arn-4)으(로) 직접 이동하세요.  
사용자는 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/register-on-premises-instance-iam-user-arn.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/register-on-premises-instance-iam-user-arn.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/register-on-premises-instance-iam-user-arn.html)  | 

**자격 증명을 가져오려면(CLI)**

1. [list-access-keys](https://docs.aws.amazon.com/cli/latest/reference/iam/list-access-keys.html) 명령을 호출하여 IAM 사용자의 이름(`--user-name` 옵션 사용)을 지정하고 액세스 키 ID만 쿼리합니다(`--query` 및 `--output` 옵션 사용). 예:

   ```
   aws iam list-access-keys --user-name CodeDeployUser-OnPrem --query "AccessKeyMetadata[*].AccessKeyId" --output text
   ```

1. 출력에 키가 나타나지 않거나 출력에 하나의 키에 대한 정보만 나타나는 경우 [create-access-key](https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html) 명령을 호출하여 IAM 사용자의 이름을 지정합니다(`--user-name` 옵션 사용).

   ```
   aws iam create-access-key --user-name CodeDeployUser-OnPrem
   ```

   **create-access-key** 명령에 대한 호출의 출력에서 `AccessKeyId` 및 `SecretAccessKey` 필드의 값을 기록해 둡니다. 나중에 [4단계: 온프레미스 인스턴스에 구성 파일 추가](#register-on-premises-instance-iam-user-arn-4)에서 이 정보가 필요합니다.
**중요**  
지금이 보안 액세스 키에 액세스할 수 있는 유일한 시간입니다. 이 보안 액세스 키에 대한 액세스 권한을 잊어버리거나 분실한 경우 [3단계: IAM 사용자 자격 증명을 가져오기](#register-on-premises-instance-iam-user-arn-3)의 단계에 따라 새 액세스 키를 생성해야 합니다.

1. 두 개의 액세스 키가 이미 나열되어 있는 경우 [delete-access-key](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-access-key.html) 명령을 호출하여 IAM 사용자의 이름(`--user-name` 옵션 사용) 및 삭제할 액세스 키의 ID(`--access-key-id` 옵션 사용)를 지정합니다. 그런 다음 이 단계의 앞부분에서 설명한 대로 **create-access-key** 명령을 호출합니다. 다음은 **delete-access-key** 명령 호출 예제입니다.

   ```
   aws iam delete-access-key --user-name CodeDeployUser-OnPrem --access-key-id access-key-ID
   ```
**중요**  
**delete-access-key** 명령을 호출하여 이러한 액세스 키 중 하나를 삭제하고 온프레미스 인스턴스가 [4단계: 온프레미스 인스턴스에 구성 파일 추가](#register-on-premises-instance-iam-user-arn-4)에 설명된 대로 이미 이 액세스 키를 사용하고 있는 경우 [4단계: 온프레미스 인스턴스에 구성 파일 추가](#register-on-premises-instance-iam-user-arn-4)의 지침에 따라 이 IAM 사용자와 연결된 다른 액세스 키 ID 및 보안 액세스 키를 지정해야 합니다. 그렇지 않으면 해당 온프레미스 인스턴스에 대한 배포가 영구 보류 상태로 유지되거나 완전히 실패할 수 있습니다.

**자격 증명을 가져오려면(콘솔)**

1. 

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

   1. 사용자 목록이 표시되지 않으면 탐색 창에서 **사용자**를 선택합니다.

   1. 사용자 목록에서 [1단계: 온프레미스 인스턴스에 대한 IAM 사용자 생성](#register-on-premises-instance-iam-user-arn-1)에서 생성한 IAM 사용자의 이름을 찾아서 선택합니다.

1. **보안 자격 증명** 탭에서 키가 없거나 키가 하나만 나열되어 있는 경우 **액세스 키 생성**을 선택합니다.

   두 개의 액세스 키가 나열되는 경우 그 중 하나를 삭제해야 합니다. 액세스 키 중 하나 옆에 있는 **삭제**를 선택한 다음 **액세스 키 생성**을 선택합니다.
**중요**  
이러한 액세스 키 중 하나 옆에 있는**삭제**를 선택한 경우, 온프레미스 인스턴스가 [4단계: 온프레미스 인스턴스에 구성 파일 추가](#register-on-premises-instance-iam-user-arn-4)에 설명된 대로 이미 이 액세스 키를 사용하고 있다면 다시 [4단계: 온프레미스 인스턴스에 구성 파일 추가](#register-on-premises-instance-iam-user-arn-4)의 지침에 따라 이 IAM 사용자와 연결된 다른 액세스 키 ID 및 보안 액세스 키를 지정해야 합니다. 그렇지 않으면 해당 온프레미스 인스턴스에 대한 배포가 영구 보류 상태로 유지되거나 완전히 실패할 수 있습니다.

1. **표시**를 선택하고 액세스 키 ID와 보안 액세스 키를 기록해 둡니다. 다음 단계에서 이 정보가 필요합니다. 또는 **.csv 파일 다운로드**를 선택하여 액세스 키 ID와 보안 액세스 키의 복사본을 저장합니다.
**중요**  
자격 증명을 기록하거나 다운로드하지 않는 한 지금이 이 보안 액세스 키에 액세스할 수 있는 유일한 시간입니다. 이 보안 액세스 키에 대한 액세스 권한을 잊어버리거나 분실한 경우 [3단계: IAM 사용자 자격 증명을 가져오기](#register-on-premises-instance-iam-user-arn-3)의 단계에 따라 새 액세스 키를 생성해야 합니다.

1. **닫기**를 선택하여 **사용자 > *IAM 사용자 이름*** 페이지로 돌아옵니다.

## 4단계: 온프레미스 인스턴스에 구성 파일 추가
<a name="register-on-premises-instance-iam-user-arn-4"></a>

루트 또는 관리자 권한을 사용하여 온프레미스 인스턴스에 구성 파일을 추가합니다. 이 구성 파일은 CodeDeploy에 사용할 IAM 사용자 자격 증명과 대상 AWS 리전을 선언하는 데 사용됩니다. 온프레미스 인스턴스의 특정 위치에 파일을 추가해야 합니다. 파일에는 IAM 사용자의 ARN, 보안 키 ID, 보안 액세스 키 및 대상 AWS 리전이 포함되어야 합니다. 파일은 특정 형식을 따라야 합니다.

1. 온프레미스 인스턴스의 다음 위치에 `codedeploy.onpremises.yml`(Ubuntu Server 또는 RHEL 온프레미스 인스턴스의 경우) 또는 `conf.onpremises.yml`(Windows Server 온-레미스 인스턴스의 경우)라는 이름의 파일을 만듭니다.
   + Ubuntu Server: `/etc/codedeploy-agent/conf`
   + Windows Server: `C:\ProgramData\Amazon\CodeDeploy`

1. 텍스트 편집기를 사용하여 새로 만든 `codedeploy.onpremises.yml` 또는 `conf.onpremises.yml` 파일에 다음 정보를 추가하세요.

   ```
   ---
   aws_access_key_id: secret-key-id
   aws_secret_access_key: secret-access-key
   iam_user_arn: iam-user-arn
   region: supported-region
   ```

   위치:
   + *secret-key-id*는 [1단계: 온프레미스 인스턴스에 대한 IAM 사용자 생성](#register-on-premises-instance-iam-user-arn-1) 또는 [3단계: IAM 사용자 자격 증명을 가져오기](#register-on-premises-instance-iam-user-arn-3)에서 기록해 둔 해당 IAM 사용자의 보안 키 ID입니다.
   + *secret-access-key*는 [1단계: 온프레미스 인스턴스에 대한 IAM 사용자 생성](#register-on-premises-instance-iam-user-arn-1) 또는 [3단계: IAM 사용자 자격 증명을 가져오기](#register-on-premises-instance-iam-user-arn-3)에서 기록해 둔 해당 IAM 사용자의 보안 액세스 키입니다.
   + *iam-user-arn*는 [1단계: 온프레미스 인스턴스에 대한 IAM 사용자 생성](#register-on-premises-instance-iam-user-arn-1)에서 앞서 기록해 둔 IAM 사용자의 ARN 입니다.
   + *supported-region*은 CodeDeploy에서 지원하는 리전 식별자로, 여기에 CodeDeploy의 애플리케이션, 배포 그룹 및 애플리케이션 개정 버전이 있습니다(예:`us-west-2`). 전체 리전 목록은 *AWS 일반 참조*의 [리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)를 참조하세요.

    
**중요**  
[3단계: IAM 사용자 자격 증명을 가져오기](#register-on-premises-instance-iam-user-arn-3)에서 이러한 액세스 키 중 하나 옆에 있는 **삭제**를 선택한 경우, 온프레미스 인스턴스가 이미 연결된 이 액세스 키 ID와 보안 액세스 키를 사용하고 있다면 [4단계: 온프레미스 인스턴스에 구성 파일 추가](#register-on-premises-instance-iam-user-arn-4)의 지침에 따라 이 IAM 사용자와 연결된 다른 액세스 키 ID 및 보안 액세스 키를 지정해야 합니다. 그렇지 않으면 해당 온프레미스 인스턴스에 대한 배포가 영구 보류 상태로 유지되거나 완전히 실패할 수 있습니다.

## 5단계: 설치 및 구성 AWS CLI
<a name="register-on-premises-instance-iam-user-arn-5"></a>

온프레미스 인스턴스 AWS CLI 에를 설치하고 구성합니다. ( AWS CLI 는에서 온프레미스 인스턴스에 CodeDeploy 에이전트를 다운로드하고 설치하는 [7단계: CodeDeploy 에이전트 설치](#register-on-premises-instance-iam-user-arn-7) 데 사용됩니다.)

1. 온프레미스 인스턴스 AWS CLI 에를 설치하려면 *AWS Command Line Interface 사용 설명서*의 [로 설정 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)의 지침을 따르세요.
**참고**  
온프레미스 인스턴스 작업을 위한 CodeDeploy 명령은 AWS CLI의 버전 1.7.19에서 사용할 수 있게 되었습니다. 버전이 AWS CLI 이미 설치되어 있는 경우를 호출하여 버전을 확인할 수 있습니다**aws --version**.

1. 온프레미스 인스턴스 AWS CLI 에서를 구성하려면 *AWS Command Line Interface 사용 설명서*의 [구성 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)에 있는 지침을 따르세요.
**중요**  
를 구성할 때 AWS CLI (예: **aws configure** 명령을 호출하여) 최소한에 지정된 액세스 권한 외에도 다음 AWS 액세스 권한이 있는 IAM 사용자의 보안 키 ID와 보안 액세스 키를 지정해야 합니다[온프레미스 인스턴스 구성을 위한 사전 요구 사항](instances-on-premises-prerequisites.md). 이렇게 하면 온프레미스 인스턴스에 CodeDeploy 에이전트를 다운로드하고 설치할 수 있습니다.  
   

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement" : [
       {
         "Effect" : "Allow",
         "Action" : [
           "codedeploy:*"
         ],
         "Resource" : "*"
       },
       {
         "Effect" : "Allow",
         "Action" : [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource" : [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-bucket1/*"
         ]
       }     
     ]
   }
   ```

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement" : [
       {
         "Effect" : "Allow",
         "Action" : [
           "codedeploy:*"
         ],
         "Resource" : "*"
       },
       {
         "Effect" : "Allow",
         "Action" : [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource" : [
           "*"
         ]
       }     
     ]
   }
   ```
이러한 액세스 권한은 [1단계: 온프레미스 인스턴스에 대한 IAM 사용자 생성](#register-on-premises-instance-iam-user-arn-1) 또는 다른 IAM 사용자에게 연결할 수 있습니다. 이러한 권한을 IAM 사용자에게 할당하려면 해당 단계의 액세스 권한 대신 이러한 액세스 권한을 사용하여 [1단계: 온프레미스 인스턴스에 대한 IAM 사용자 생성](#register-on-premises-instance-iam-user-arn-1)의 지침을 따릅니다.

## 6단계: AWS\$1REGION 환경 변수 설정(Ubuntu Server 및 RHEL만 해당)
<a name="register-on-premises-instance-iam-user-arn-6"></a>

온프레미스 인스턴스에서 Ubuntu Server 또는 RHEL을 실행하지 않는 경우 이 단계를 건너뛰고 [7단계: CodeDeploy 에이전트 설치](#register-on-premises-instance-iam-user-arn-7)으(로) 직접 이동합니다.

Ubuntu Server 또는 RHEL 온프레미스 인스턴스에 CodeDeploy 에이전트를 설치하고 새 버전을 사용할 수 있을 때마다 인스턴스가 CodeDeploy 에이전트를 업데이트하도록 설정합니다. 인스턴스에서 `AWS_REGION` 환경 변수를 CodeDeploy에서 지원하는 리전 중 하나의 식별자로 설정하면 됩니다. CodeDeploy 애플리케이션, 배포 그룹 및 애플리케이션 개정 버전이 있는 리전으로 값을 설정하는 것이 좋습니다(예: `us-west-2`). 전체 리전 목록은 *AWS 일반 참조*의 [리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)를 참조하세요.

환경 변수를 설정하려면 터미널에서 다음을 호출하세요.

```
export AWS_REGION=supported-region
```

여기서 *supported-region*이 리전의 식별자입니다(예: `us-west-2`).

## 7단계: CodeDeploy 에이전트 설치
<a name="register-on-premises-instance-iam-user-arn-7"></a>

온프레미스 인스턴스에 CodeDeploy 에이전트 설치
+ Ubuntu Server 온프레미스 인스턴스의 경우 [Ubuntu Server용 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-ubuntu.md)의 지침을 따르고 이 페이지로 돌아옵니다.
+ RHEL 온프레미스 인스턴스의 경우 [Amazon Linux 또는 RHEL용 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-linux.md)의 지침을 따르고 이 페이지로 돌아옵니다.
+ Windows Serve 온프레미스 인스턴스의 경우 [Windows Server용 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-windows.md)의 지침을 따르고 이 페이지로 돌아옵니다.

## 8단계: CodeDeploy에 온프레미스 인스턴스 등록
<a name="register-on-premises-instance-iam-user-arn-8"></a>

이 단계의 지침은 온프레미스 인스턴스 자체에서 온프레미스 인스턴스를 등록한다고 가정합니다. 에 설명된 대로가 AWS CLI 설치 및 구성된 별도의 디바이스 또는 인스턴스에서 온프레미스 인스턴스를 등록할 수 있습니다[5단계: 설치 및 구성 AWS CLI](#register-on-premises-instance-iam-user-arn-5).

 AWS CLI 를 사용하여 배포에 사용할 수 있도록 CodeDeploy에 온프레미스 인스턴스를 등록합니다.

1. 를 사용하려면 먼저에서 생성한 IAM 사용자의 사용자 ARN AWS CLI이 필요합니다[1단계: 온프레미스 인스턴스에 대한 IAM 사용자 생성](#register-on-premises-instance-iam-user-arn-1). 아직 사용자 ARN 이 없는 경우 [get-user](https://docs.aws.amazon.com/cli/latest/reference/iam/get-user.html) 명령을 호출하여 IAM 사용자의 이름(`--user-name` 옵션 사용)을 지정하고 사용자 ARN만 쿼리합니다(`--query` 및 `--output` 옵션 사용).

   ```
   aws iam get-user --user-name CodeDeployUser-OnPrem --query "User.Arn" --output text
   ```

1. [register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) 명령을 호출하여 다음을 지정합니다.
   + 온프레미스 인스턴스를 고유하게 식별하는 이름(`--instance-name` 옵션 사용).
**중요**  
특히 디버깅을 위해 온프레미스 인스턴스를 식별하려면 온프레미스 인스턴스의 일부 고유 특성(예: 일련 번호 또는 해당되는 경우 내부 자산 식별자)에 매핑되는 이름을 지정하는 것이 좋습니다. 이름으로 MAC 주소를 지정하는 경우 MAC 주소에는 콜론(`:`)과 같이 CodeDeploy에서 허용하지 않는 문자가 포함되어 있다는 점에 유의하세요. 허용되는 문자 목록은 [CodeDeploy 할당량](limits.md) 단원을 참조하세요.
   + [1단계: 온프레미스 인스턴스에 대한 IAM 사용자 생성](#register-on-premises-instance-iam-user-arn-1)에서 생성한 IAM 사용자의 사용자 ARN(`--iam-user-arn` 옵션 사옹).

     예:

     ```
     aws deploy register-on-premises-instance --instance-name AssetTag12010298EX --iam-user-arn arn:aws:iam::444455556666:user/CodeDeployUser-OnPrem
     ```

## 9단계: 온프레미스 인스턴스에 태그 지정
<a name="register-on-premises-instance-iam-user-arn-9"></a>

 AWS CLI 또는 CodeDeploy 콘솔을 사용하여 온프레미스 인스턴스에 태그를 지정할 수 있습니다. CodeDeploy는 온프레미스 인스턴스 태그를 사용하여 배포 중 배포 대상을 식별합니다.

**온프레미스 인스턴스에 태그 지정(CLI)**
+ [add-tags-to-on-premises-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/add-tags-to-on-premises-instances.html) 명령을 호출하여 다음을 지정합니다.

   
  + 온프레미스 인스턴스를 고유하게 식별하는 이름(`--instance-names` 옵션 사용).
  + 사용하려는 온프레미스 인스턴스 태그 키 및 태그 값의 이름(`--tags` 옵션 사용). 이름과 값을 둘 다 지정해야 합니다. CodeDeploy는 값만 있는 온프레미스 인스턴스 태그를 허용하지 않습니다.

    예:

    ```
    aws deploy add-tags-to-on-premises-instances --instance-names AssetTag12010298EX --tags Key=Name,Value=CodeDeployDemo-OnPrem
    ```

**온프레미스 인스턴스에 태그 지정(콘솔)**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) CodeDeploy 콘솔을 엽니다.
**참고**  
[CodeDeploy 시작하기](getting-started-codedeploy.md)에서 설정한 사용자와 동일한 사용자로 로그인합니다.

1. CodeDeploy 메뉴에서 **온프레미스 인스턴스**를 선택합니다.

1. 온프레미스 인스턴스 목록에서 태그를 지정할 온프레미스 인스턴스 옆에 있는 화살표를 선택합니다.

1. 태그 목록에서 원하는 태그 키와 태그 값을 선택하거나 입력합니다. 태그 키와 태그 값을 입력하면 다른 행이 나타납니다. 최대 10개의 태그에 대해 이 작업을 반복할 수 있습니다. 태그를 제거하려면 삭제 아이콘(![\[The delete icon.\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/images/delete-triggers-x.png))을 선택합니다.

1. 태그를 추가한 후 **태그 업데이트**를 선택합니다.

## 10단계 : 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포합니다.
<a name="register-on-premises-instance-iam-user-arn-10"></a>

등록 및 태그가 지정된 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포할 준비가 되었습니다.

애플리케이션 개정 버전을 Amazon EC2 인스턴스에 배포하는 것과 유사한 방식으로 온프레미스 인스턴스에 배포합니다. 지침은 [CodeDeploy에서 배포 만들기](deployments-create.md) 단원을 참조하세요. 이러한 지침은 애플리케이션 만들기, 배포 그룹 만들기 및 애플리케이션 개정 버전 준비를 비롯한 필수 구성 요소에 대한 링크가 포함되어 있습니다. 배포하기 위해 간단한 샘플 애플리케이션 개정 버전이 필요한 경우 [튜토리얼: CodeDeploy를 사용하여 온프레미스 인스턴스에 애플리케이션 배포(Windows Server, Ubuntu Server 또는 Red Hat Enterprise Linux)](tutorials-on-premises-instance.md)의 [2단계: 샘플 애플리케이션 수정 버전 만들기](tutorials-on-premises-instance-2-create-sample-revision.md)에 설명된 개정 버전을 생성할 수 있습니다.

**중요**  
온프레미스 인스턴스를 대상으로 하는 배포 그룹을 만드는 과정에서 CodeDeploy 서비스 역할을 다시 사용하는 경우 서비스 역할 정책 설명의 `Action` 부분에 `Tag:get*`을(를) 포함해야 합니다. 자세한 내용은 [2단계: CodeDeploy에 대한 서비스 역할 생성](getting-started-create-service-role.md) 단원을 참조하십시오.

## 11단계: 온프레미스 인스턴스에 대한 배포 추적
<a name="register-on-premises-instance-iam-user-arn-11"></a>

등록되고 태그가 지정된 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포한 후 배포의 진행 상황을 추적할 수 있습니다.

Amazon EC2 인스턴스에 대한 배포를 추적하는 것과 유사한 방식으로 온프레미스 인스턴스에 대한 배포를 추적합니다. 지침은 [CodeDeploy 배포 세부 정보 보기](deployments-view-details.md) 단원을 참조하세요.

# CodeDeploy에서 온프레미스 인스턴스 작업 관리
<a name="on-premises-instances-operations"></a>

CodeDeploy에 등록한 후 온프레미스 인스턴스의 작업을 관리하려면 이 섹션의 지침에 따라 자세한 정보 가져오기, 태그 제거, 온프레미스 인스턴스 제거 및 등록 취소 등의 작업을 관리할 수 있습니다.

**Topics**
+ [단일 온프레미스 인스턴스에 대한 정보를 가져옵니다.](on-premises-instances-operations-view-details-single.md)
+ [여러 온프레미스 인스턴스 정보 가져오기](on-premises-instances-operations-view-details-multiple.md)
+ [온프레미스 인스턴스에서 온프레미스 인스턴스 태그 수동 제거](on-premises-instances-operations-remove-tags.md)
+ [CodeDeploy 에이전트를 자동으로 제거하고 온프레미스 인스턴스에서 구성 파일 제거](on-premises-instances-operations-uninstall-agent.md)
+ [온프레미스 인스턴스 등록 자동 취소](on-premises-instances-operations-deregister-automatically.md)
+ [온프레미스 인스턴스 등록을 수동으로 취소합니다.](on-premises-instances-operations-deregister-manually.md)

# 단일 온프레미스 인스턴스에 대한 정보를 가져옵니다.
<a name="on-premises-instances-operations-view-details-single"></a>

[CodeDeploy 배포 세부 정보 보기](deployments-view-details.md)의 지침에 따라 단일 온프레미스 인스턴스에 대한 정보를 가져오는 데 필요합니다. AWS CLI 또는 CodeDeploy 콘솔을 사용하여 단일 온프레미스 인스턴스에 대한 자세한 정보를 얻을 수 있습니다.

**단일 온프레미스 인스턴스에 대한 정보를 가져오려면(CLI)**
+ [get-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-on-premises-instance.html) 명령을 호출하여 온프레미스 인스턴스를 고유하게 식별하는 이름(`--instance-name` 옵션 사용)을 지정합니다.

  ```
  aws deploy get-on-premises-instance --instance-name AssetTag12010298EX
  ```

**단일 온프레미스 인스턴스에 대한 정보를 가져오려면(콘솔)**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) CodeDeploy 콘솔을 엽니다.
**참고**  
[CodeDeploy 시작하기](getting-started-codedeploy.md)에서 설정한 사용자와 동일한 사용자로 로그인합니다.

1. 탐색 창에서 **배포**를 확장하고 **온프레미스 인스턴스**를 선택합니다.

1. 온프레미스 인스턴스 목록에서 세부 정보를 표시할 온프레미스 인스턴스의 이름을 선택합니다.

# 여러 온프레미스 인스턴스 정보 가져오기
<a name="on-premises-instances-operations-view-details-multiple"></a>

[CodeDeploy 배포 세부 정보 보기](deployments-view-details.md)의 지침에 따라 온프레미스 인스턴스에 대한 정보를 가져올 수 있습니다. AWS CLI 또는 CodeDeploy 콘솔을 사용하여 온프레미스 인스턴스에 대한 자세한 정보를 얻을 수 있습니다.

**여러 온프레미스 인스턴스에 대한 정보를 가져오려면(CLI)**

1. 온프레미스 인스턴스 이름의 목록을 보려면 [list-on-premises-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-on-premises-instances.html) 명령을 호출하여 다음을 지정합니다.
   + 등록 또는 등록 취소된 모든 온프레미스 인스턴스에 대한 정보를 가져올지 여부(각각 `--registration-status`, `Registered` 또는 `Deregistered` 옵션 사용). 이 옵션을 생략하면 등록된 온프레미스 인스턴스 이름과 등록 취소된 온프레미스 인스턴스 이름이 모두 반환됩니다.
   + 특정 온프레미스 인스턴스 태그로 태그가 지정된 온프레미스 인스턴스에 대한 정보만 가져오는지 여부(`--tag-filters` 옵션). 각 온프레미스 인스턴스 태그에 대해 `Key`, `Value`, 및 `Type`(항상`KEY_AND_VALUE`여야 함)을 지정합니다. 여러 온프레미스 인스턴스 태그는 각각 `Key`, `Value`, `Type` 삼중항 사이에 공백으로 구분합니다..

   예:

   ```
   aws deploy list-on-premises-instances --registration-status Registered --tag-filters Key=Name,Value=CodeDeployDemo-OnPrem,Type=KEY_AND_VALUE Key=Name,Value=CodeDeployDemo-OnPrem-Beta,Type=KEY_AND_VALUE
   ```

1. 자세한 내용은 온프레미스 인스턴스의 이름(`--instance-names` 옵션 사용)과 함께 [batch-get-on-premises-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/batch-get-on-premises-instances.html) 명령을 호출합니다.

   ```
   aws deploy batch-get-on-premises-instances --instance-names AssetTag12010298EX AssetTag09920444EX
   ```

**여러 온프레미스 인스턴스에 대한 정보를 가져오려면(콘솔)**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) CodeDeploy 콘솔을 엽니다.
**참고**  
[CodeDeploy 시작하기](getting-started-codedeploy.md)에서 설정한 사용자와 동일한 사용자로 로그인합니다.

1. 탐색 창에서 **배포**를 확장하고 **온프레미스 인스턴스**를 선택합니다.

   온프레미스 인스턴스에 대한 자세한 정보가 표시됩니다.

# 온프레미스 인스턴스에서 온프레미스 인스턴스 태그 수동 제거
<a name="on-premises-instances-operations-remove-tags"></a>

일반적으로 해당 태그가 더 이상 사용되지 않는 경우 온프레미스 인스턴스에서 온프레미스 인스턴스 태그를 제거하거나 해당 태그에 의존하는 배포 그룹에서 온프레미스 인스턴스를 제거하려고 합니다. AWS CLI 또는 AWS CodeDeploy 콘솔을 사용하여 온프레미스 인스턴스에서 온프레미스 인스턴스 태그를 제거할 수 있습니다.

온프레미스 인스턴스를 등록 취소하기 전에 온프레미스 인스턴스에서 인스턴스를 제거할 필요가 없습니다.

온프레미스 인스턴스에서 온프레미스 인스턴스 태그를 수동으로 제거해도 인스턴스가 등록 취소되지 않습니다. 인스턴스에서 CodeDeploy 에이전트를 제거하지는 않습니다. 인스턴스에서 구성 파일은 제거되지 않습니다. 인스턴스와 연결된 IAM 사용자는 삭제되지 않습니다.

온프레미스 인스턴스의 등록을 자동으로 취소하는 방법은 [온프레미스 인스턴스 등록 자동 취소](on-premises-instances-operations-deregister-automatically.md) 단원을 참조하세요.

온프레미스 인스턴스의 등록을 수동으로 취소하는 방법은 [온프레미스 인스턴스 등록을 수동으로 취소합니다.](on-premises-instances-operations-deregister-manually.md) 단원을 참조하세요.

CodeDeploy 에이전트를 자동으로 제거하고 온프레미스 인스턴스에서 구성 파일을 제거하려면 [CodeDeploy 에이전트를 자동으로 제거하고 온프레미스 인스턴스에서 구성 파일 제거](on-premises-instances-operations-uninstall-agent.md) 단원을 참조하세요.

온프레미스 인스턴스에서 CodeDeploy 에이전트만 수동으로 제거하려면 [CodeDeploy 에이전트 작업 관리](codedeploy-agent-operations.md) 단원을 참조하세요.

연결된 IAM 사용자를 수동으로 삭제하려면 [AWS 계정에서 IAM 사용자 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_DeletingUserFromAccount.html)를 참조하세요.

**온프레미스 인스턴스에서 온프레미스 인스턴스 태그 제거(CLI)**
+ [remove-tags-from-on-premises-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/remove-tags-from-on-premises-instances.html)를 호출하고 다음을 지정합니다.

   
  + 온프레미스 인스턴스를 고유하게 식별하는 이름(`--instance-names` 옵션 사용).
  + 제거하고자 하는 태그의 이름과 값(`--tags` 옵션 사용).

    예:

    ```
    aws deploy remove-tags-from-on-premises-instances --instance-names AssetTag12010298EX --tags Key=Name,Value=CodeDeployDemo-OnPrem
    ```

**온프레미스 인스턴스에서 온프레미스 인스턴스 태그 제거(콘솔)**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) CodeDeploy 콘솔을 엽니다.
**참고**  
[CodeDeploy 시작하기](getting-started-codedeploy.md)에서 설정한 사용자와 동일한 사용자로 로그인합니다.

1. 탐색 창에서 **배포**를 확장하고 **온프레미스 인스턴스**를 선택합니다.

1. 온프레미스 인스턴스 목록에서 태그를 제거할 온프레미스 인스턴스의 이름을 선택합니다.

1. **태그**에서 제거할 각 태그 옆의 **제거**를 선택합니다.

1. 태그를 삭제한 후 **태그 업데이트**를 선택합니다.

# CodeDeploy 에이전트를 자동으로 제거하고 온프레미스 인스턴스에서 구성 파일 제거
<a name="on-premises-instances-operations-uninstall-agent"></a>

일반적으로 더 이상 배포할 계획이 없으면 CodeDeploy 에이전트를 제거하고 온프레미스 인스턴스에서 구성 파일을 제거합니다.

**참고**  
CodeDeploy 에이전트를 자동으로 제거하고 온프레미스 인스턴스에서 구성 파일을 제거해도 온프레미스 인스턴스의 등록이 취소되지 않습니다. 온프레미스 인스턴스와 연결된 모든 온프레미스 인스턴스 태그의 연결은 해제되지 않습니다. 온프레미스 인스턴스와 연결된 IAM 사용자는 삭제되지 않습니다.  
온프레미스 인스턴스의 등록을 자동으로 취소하는 방법은 [온프레미스 인스턴스 등록 자동 취소](on-premises-instances-operations-deregister-automatically.md) 단원을 참조하세요.  
온프레미스 인스턴스의 등록을 수동으로 취소하는 방법은 [온프레미스 인스턴스 등록을 수동으로 취소합니다.](on-premises-instances-operations-deregister-manually.md) 단원을 참조하세요.  
연결된 온프레미스 인스턴스 태그의 연결을 수동으로 해제하려면 [온프레미스 인스턴스에서 온프레미스 인스턴스 태그 수동 제거](on-premises-instances-operations-remove-tags.md) 단원을 참조하세요.  
온프레미스 인스턴스에서 CodeDeploy 에이전트를 수동으로 제거하려면 [CodeDeploy 에이전트 작업 관리](codedeploy-agent-operations.md) 단원을 참조하세요.  
연결된 IAM 사용자를 수동으로 삭제하려면 [AWS 계정에서 IAM 사용자 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_DeletingUserFromAccount.html)를 참조하세요.

온프레미스 인스턴스에서 AWS CLI 를 사용하여 [제거](https://docs.aws.amazon.com/cli/latest/reference/deploy/uninstall.html) 명령을 호출합니다.

예제:

```
aws deploy uninstall
```

**uninstall** 명령은 다음 작업을 수행합니다.

1. 온프레미스 인스턴스에서 실행 중인 CodeDeploy 에이전트를 중지합니다.

1. 온프레미스 인스턴스에서 CodeDeploy 에이전트를 제거합니다.

1. 온프레미스 인스턴스에서 구성 파일을 제거합니다. (Ubuntu Server와 RHEL의 경우, `/etc/codedeploy-agent/conf`/`codedeploy.onpremises.yml`. Windows Server의 경우 `C:\ProgramData\Amazon\CodeDeploy`\$1`conf.onpremises.yml`.)

# 온프레미스 인스턴스 등록 자동 취소
<a name="on-premises-instances-operations-deregister-automatically"></a>

일반적으로 온프레미스 인스턴스에 더 이상 배포할 계획이 없는 경우 등록을 취소합니다. 온프레미스 인스턴스의 등록을 취소하면 온프레미스 인스턴스가 배포 그룹의 온프레미스 인스턴스 태그의 일부일 수 있지만 온프레미스 인스턴스는 배포에 포함되지 않습니다. 를 사용하여 온프레미스 인스턴스의 등록 AWS CLI 을 취소할 수 있습니다.

**참고**  
CodeDeploy 콘솔을 사용하여 온프레미스 인스턴스를 등록 취소할 수 없습니다. 또한 온프레미스 인스턴스를 등록 취소하면 온프레미스 인스턴스와 연결된 모든 온프레미스 인스턴스 태그가 제거됩니다. 온프레미스 인스턴스에서 CodeDeploy 에이전트를 제거하지 않습니다. 온프레미스 인스턴스에서 온프레미스 인스턴스 구성 파일은 제거하지 않습니다.  
CodeDeploy 콘솔을 사용하여 이 섹션의 일부 (전부는 아님) 작업을 수행하려면 [온프레미스 인스턴스 등록을 수동으로 취소합니다.](on-premises-instances-operations-deregister-manually.md)의 CodeDeploy 콘솔 섹션을 참조하세요.  
연결된 온프레미스 인스턴스 태그의 연결을 수동으로 해제하려면 [온프레미스 인스턴스에서 온프레미스 인스턴스 태그 수동 제거](on-premises-instances-operations-remove-tags.md) 단원을 참조하세요.  
CodeDeploy 에이전트를 자동으로 제거하고 온프레미스 인스턴스에서 구성 파일을 제거하려면 [CodeDeploy 에이전트를 자동으로 제거하고 온프레미스 인스턴스에서 구성 파일 제거](on-premises-instances-operations-uninstall-agent.md) 단원을 참조하세요.  
온프레미스 인스턴스에서 CodeDeploy 에이전트만 수동으로 제거하려면 [CodeDeploy 에이전트 작업 관리](codedeploy-agent-operations.md) 단원을 참조하세요.

를 사용하여 [등록 취소](https://docs.aws.amazon.com/cli/latest/reference/deploy/deregister.html) 명령을 호출 AWS CLI 하고 다음을 지정합니다.
+ CodeDeploy에 대한 온프레미스 인스턴스를 고유하게 식별하는 이름(`--instance-name` 옵션 사용).
+  (선택 사항) 온프레미스 인스턴스와 연결된 IAM 사용자를 삭제할지 여부. 기본 동작은 IAM 사용자를 삭제하는 것입니다. 온프레미스 인스턴스와 연결된 IAM 사용자를 삭제하지 않으려는 경우, 명령에서 `--no-delete-iam-user` 옵션을 지정하세요.
+ 선택적으로 온프레미스 인스턴스가 CodeDeploy에 등록된 AWS 리전입니다( `--region` 옵션 사용). *AWS 일반 참조*의 [리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)에서 나열된 지원되는 리전 중 하나여야 합니다(예: `us-west-2`). 이 옵션을 지정하지 않으면 호출하는 IAM 사용자와 연결된 기본 AWS 리전이 사용됩니다.

인스턴스를 등록 취소하고 사용자를 삭제하는 예는 다음과 같습니다.

```
aws deploy deregister --instance-name AssetTag12010298EX --region us-west-2
```

인스턴스를 등록 취소하고 사용자를 삭제하지 않는 예는 다음과 같습니다.

```
aws deploy deregister --instance-name AssetTag12010298EX --no-delete-iam-user --region us-west-2
```

**deregister** 명령은 다음 작업을 수행합니다.

1. CodeDeploy에서 온프레미스 인스턴스의 등록을 취소합니다.

1. 지정된 경우 온프레미스 인스턴스와 연결된 IAM 사용자를 삭제합니다.

온프레미스 인스턴스 등록을 취소한 후
+  콘솔에 즉시 나타나지 않습니다.
+  같은 이름의 다른 인스턴스를 즉시 만들 수 있습니다.

이 명령에 오류가 발생하면 나머지 단계를 수동으로 완료하는 방법을 설명하는 오류 메시지가 나타납니다. 그렇지 않으면 **uninstall** 명령을 호출하는 방법을 설명하는 성공 메시지가 나타납니다.

# 온프레미스 인스턴스 등록을 수동으로 취소합니다.
<a name="on-premises-instances-operations-deregister-manually"></a>

일반적으로 온프레미스 인스턴스에 더 이상 배포할 계획이 없는 경우 등록을 취소합니다. 를 사용하여 온프레미스 인스턴스의 등록 AWS CLI 을 수동으로 취소할 수 있습니다.

온프레미스 인스턴스를 수동으로 등록 취소해도 CodeDeploy 에이전트가 제거되지는 않습니다. 인스턴스에서 구성 파일은 제거되지 않습니다. 인스턴스와 연결된 IAM 사용자는 삭제되지 않습니다. 인스턴스와 연결된 태그는 제거하지 않습니다.

CodeDeploy 에이전트를 자동으로 제거하고 온프레미스 인스턴스에서 구성 파일을 제거하려면 [CodeDeploy 에이전트를 자동으로 제거하고 온프레미스 인스턴스에서 구성 파일 제거](on-premises-instances-operations-uninstall-agent.md) 단원을 참조하세요.

CodeDeploy 에이전트만 수동으로 제거하려면 [CodeDeploy 에이전트 작업 관리](codedeploy-agent-operations.md) 단원을 참조하세요.

연결된 IAM 사용자를 수동으로 삭제하려면 [AWS 계정에서 IAM 사용자 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_DeletingUserFromAccount.html)를 참조하세요.

연결된 온프레미스 인스턴스 태그만 수동으로 제거하려면 [온프레미스 인스턴스에서 온프레미스 인스턴스 태그 수동 제거](on-premises-instances-operations-remove-tags.md) 단원을 참조하세요.
+ [deregister-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/deregister-on-premises-instance.html) 명령을 호출하여 온프레미스 인스턴스를 고유하게 식별하는 이름(`--instance-name` 옵션 사용)을 지정합니다.

  ```
  aws deploy deregister-on-premises-instance --instance-name AssetTag12010298EX
  ```

  온프레미스 인스턴스 등록을 취소한 후
  +  콘솔에 즉시 나타나지 않습니다.
  +  같은 이름의 다른 인스턴스를 즉시 만들 수 있습니다.