

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

# CodeDeploy 에이전트 작업
<a name="codedeploy-agent"></a>

 AWS CodeDeploy 에이전트는 인스턴스에 설치 및 구성할 때 해당 인스턴스를 CodeDeploy 배포에 사용할 수 있는 소프트웨어 패키지입니다.

AWS 는 CodeDeploy 에이전트의 최신 마이너 버전을 지원합니다. 현재 최신 마이너 버전은 1.8.x입니다.

**참고**  
 CodeDeploy 에이전트는 EC2/온프레미스 컴퓨팅 플랫폼에 배포하는 경우에만 필요합니다. Amazon ECS 또는 AWS Lambda 컴퓨팅 플랫폼을 사용하는 배포에는 에이전트가 필요하지 않습니다.

에이전트가 설치되면 구성 파일은 인스턴스에 있습니다. 구성 파일은 에이전트 작동 방식을 지정하는 데 사용되며 이 구성 파일은가 인스턴스와 상호 작용 AWS CodeDeploy 할 때 사용할 디렉터리 경로 및 기타 설정을 지정합니다. 이 파일의 일부 구성 옵션은 변경할 수 있습니다. CodeDeploy 에이전트 구성 작업에 대한 자세한 내용은 [CodeDeploy 에이전트 구성 참조](reference-agent-configuration.md) 단원을 참조하세요.

CodeDeploy 에이전트 작업(예: 설치, 업데이트 및 버전 확인 단계 등)에 대한 자세한 내용은 [CodeDeploy 에이전트 작업 관리](codedeploy-agent-operations.md) 단원을 참조하세요.

**Topics**
+ [CodeDeploy 에이전트에서 지원하는 운영 체제](#codedeploy-agent-supported-operating-systems)
+ [CodeDeploy 에이전트용 통신 프로토콜 및 포트](#codedeploy-agent-outbound-port)
+ [CodeDeploy 에이전트의 버전 기록](#codedeploy-agent-version-history)
+ [CodeDeploy 프로세스 관리](#codedeploy-agent-processes)
+ [애플리케이션 수정 버전 및 로그 파일 정리](#codedeploy-agent-revisions-logs-cleanup)
+ [CodeDeploy 에이전트에 의해 설치된 파일](#codedeploy-agent-install-files)
+ [CodeDeploy 에이전트 작업 관리](codedeploy-agent-operations.md)

## CodeDeploy 에이전트에서 지원하는 운영 체제
<a name="codedeploy-agent-supported-operating-systems"></a>

### 지원되는 Amazon EC2 AMI 운영 체제
<a name="codedeploy-agent-supported-operating-systems-ec2"></a>

CodeDeplo 에이전트는 다음 Amazon EC2 AMI 운영 체제에서 테스트되었습니다.
+ Amazon Linux 2023(ARM, x86)
+ Amazon Linux 2(ARM, x86)
+ Microsoft Windows Server 2022, 2019
+ Red Hat Enterprise Linux(RHEL) 9.x, 8.x, 7.x
+ Ubuntu Server 22.04 LTS, 20.04 LTS, 18.04 LTS, 16.04 LTS

CodeDeploy 에이전트는 필요에 따라 조정할 수 있도록 오픈 소스로 제공됩니다. 다른 Amazon EC2 AMI 운영 체제에서도 사용할 수 있습니다. 자세한 내용을 확인하려면 GitHub에서 [CodeDeploy 에이전트](https://github.com/aws/aws-codedeploy-agent) 리포지토리로 이동하세요.

### 지원되는 온프레미스 운영 체제
<a name="codedeploy-agent-supported-operating-systems-on-premises"></a>

CodeDeploy 에이전트는 다음 온프레미스 운영 체제에서 테스트되었습니다.
+ Microsoft Windows Server 2022, 2019
+ Red Hat Enterprise Linux(RHEL) 9.x, 8.x, 7.x
+ Ubuntu Server 22.04 LTS, 20.04 LTS

CodeDeploy 에이전트는 필요에 따라 조정할 수 있도록 오픈 소스로 제공됩니다. 다른 온프레미스 운영 체제에서도 사용할 수 있습니다. 자세한 내용을 확인하려면 GitHub에서 [CodeDeploy 에이전트](https://github.com/aws/aws-codedeploy-agent) 리포지토리로 이동하세요.

## CodeDeploy 에이전트용 통신 프로토콜 및 포트
<a name="codedeploy-agent-outbound-port"></a>

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

CodeDeploy 에이전트는 EC2 인스턴스에서 실행될 때 [EC2 메타데이터](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html) 엔드포인트를 사용하여 인스턴스 관련 정보를 검색합니다. [인스턴스 메타데이터 서비스 액세스 제한 및 부여](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html#instance-metadata-limiting-access)에 대해 자세히 알아보세요.

## CodeDeploy 에이전트의 버전 기록
<a name="codedeploy-agent-version-history"></a>

인스턴스에서는 지원되는 CodeDeploy 에이전트 버전을 실행 중이어야 합니다. 현재 지원되는 최소 버전은 1.8.x입니다.

**참고**  
CodeDeploy 에이전트는 최신 버전을 사용하는 것이 좋습니다. 문제가 있는 경우 AWS Support에 문의하기 전에 최신 버전으로 업데이트하세요. 업그레이드 정보는 [CodeDeploy 에이전트 업데이트](codedeploy-agent-operations-update.md) 섹션을 참조하세요.

다음 표에는 CodeDeploy 에이전트의 모든 릴리스와 각 릴리스에 포함된 기능 및 기능 향상이 나와 있습니다.


| 버전 | 릴리스 날짜 | 세부 정보 | 
| --- | --- | --- | 
|  1.8.1  |  2026년 2월 3일  |  **수정**: S3 엔드포인트 버그 수정. **추가**됨: Windows CA 목록에 Sectigo CA 인증서.  | 
|  1.8.0  |  2025년 7월 31일  |  **변경됨**: Windows용 CodeDeploy 에이전트에서 번들된 Ruby를 3.2로 업그레이드했습니다.  | 
|  1.7.1  |  2024년 11월 14일  |  **변경됨**: 보안 패치에 대한 종속성이 업데이트되었습니다.  | 
|  1.7.0  |  2024년 3월 6일  |  **추가됨**: CodeDeploy 에이전트 구성 파일에 대한 `:disable_imds_v1:` 구성 설정입니다. IMDSv2 오류 발생 시 IMDSv1으로의 대체 실행을 비활성화하려면 이 설정을 사용합니다. 기본값은 `false`입니다(폴백 활성화). 자세한 내용은 [CodeDeploy 에이전트 구성 참조](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-agent-configuration.html)를 참조하세요. **추가됨**: Red Hat Enterprise Linux 9(RHEL 9) 운영 체제에 대한 지원입니다. **추가됨**: Ubuntu Server의 Ruby 버전 3.1 및 3.2에 대한 지원입니다. **수정됨**: CodeDeploy 에이전트 구성 파일 로드에 실패할 경우, CodeDeploy 에이전트가 이제 사용자 친화적인 오류를 생성합니다. **변경됨**: Windows용 CodeDeploy 에이전트에서 Ruby를 2.7.8-1로 업그레이드했습니다.  | 
|  1.6.0  |  2023년 3월 30일  |  **추가됨**: Ruby 3.1, 3.2에 대한 지원. **추가됨**: Amazon Linux 2023에 대한 지원. **추가됨**: Windows Server 2022에 대한 지원. **변경됨**: 이제 Windows Server 인스턴스의 기본 `verbose` 설정이 `false`입니다. Windows에서 로그 파일의 디버그 메시지를 계속 출력하려면 `verbose`를 `true`로 설정해야 합니다. **제거됨**: Windows Server 2016 및 Windows Server 2012 R2에 대한 지원. **제거됨**: Amazon Linux 2018.03.x에 대한 지원.  | 
|  1.5.0  |  2023년 3월 3일  |  **추가됨**: Ruby 3에 대한 지원. **추가됨**: Ubuntu 22.04에 대한 지원. **수정됨**: 시작 직후 CodeDeploy 에이전트를 다시 시작하면 에이전트가 중지되는 문제. **변경됨**: 이제 후크 스크립트를 실행하는 동안 에이전트 서비스가 예기치 않게 다시 시작되면 CodeDeploy 에이전트가 에이전트 시작 시 호스트 배포에 실패합니다. 이 수정을 통해 배포를 재시도하기 전에 70분의 제한 시간 동안 기다리지 않아도 됩니다. **사용 중단 공지**: CodeDeploy 에이전트 1.5.0은 Windows Server 2016 및 Windows Server 2012 R2를 지원하는 마지막 릴리스입니다. **제거됨:** Ubuntu 14.04 LTS, Windows Server 2008 R2 및 Windows Server 2008 R2 32비트에서 CodeDeploy 에이전트 지원.  | 
|  1.4.1  |  2022년 12월 6일  |  **수정됨**: 로깅과 관련된 보안 취약점이 수정되었습니다. **개선 사항**: 호스트 명령을 폴링할 때의 로깅이 개선되었습니다.  | 
|  1.4.0  |  2022년 8월 31일  |  **추가됨**: Hat Enterprise Linux 8 지원  **추가**: Windows용 CodeDeploy 에이전트에서 긴 파일 경로를 지원합니다. 긴 파일 경로를 활성화하려면 적절한 Windows 레지스트리 키를 설정한 다음 에이전트를 다시 시작해야 합니다. 자세한 내용은 [파일 경로가 길면 “No such file or directory(해당 파일 또는 디렉터리가 없음)” 오류가 발생함](troubleshooting-deployments.md#troubleshooting-long-file-paths) 단원을 참조하십시오. **해결됨**: 디스크가 가득 찼을 때 압축 해제 작업 문제 이제 CodeDeploy 에이전트는 가득 찬 디스크를 나타내는 압축 해제 [종료 코드 50](https://linux.die.net/man/1/unzip)을 감지하고 부분적으로 추출된 파일을 제거하며 예외를 발생시켜 CodeDeploy 서버에 오류를 게시합니다. 오류 메시지는 수명 주기 이벤트 오류 메시지로 표시되며 호스트 수준 배포는 중단되거나 제한 시간이 초과되지 않고 중지됩니다. **해결됨**: 에이전트에 오류를 일으키는 문제. **해결됨**: 엣지 사례 경합 상태에서 후크 시간 초과가 발생하는 문제. 스크립트가 없는 후크는 이제 계속 유지되며 더 이상 실패나 시간 초과를 일으키지 않습니다. **변경됨**: CodeDeploy 에이전트 `bin` 디렉터리의 `update` 스크립트는 더 이상 사용되지 않으므로 제거되었습니다. **변경됨**: 이제 Windows Server용 CodeDeploy 에이전트에 Ruby 2.7이 번들로 제공됩니다. **변경됨**: 배포 번들의 소스(Amazon S3 또는 GitHub)에 따라 후크 스크립트에서 사용할 새 환경 변수가 추가되었습니다. 자세한 내용은 [후크의 환경 변수 가용성](reference-appspec-file-structure-hooks.md#reference-appspec-file-structure-environment-variable-availability) 단원을 참조하십시오.  **사용 중단 공지**: CodeDeploy 에이전트 1.4.0은 32비트 Windows Server용 설치 프로그램을 포함하는 마지막 릴리스입니다. **사용 중단 공지**: CodeDeploy 에이전트 1.4.0은 Windows Server 2008 R2를 지원하는 마지막 릴리스입니다. **제거됨**: 다음 Amazon EC2 AMI에서 CodeDeploy 에이전트 지원: Amazon Linux 2014.09, 2016.03, 2016.09 및 2017.03.   | 
|  1.3.2  |  2021년 5월 6일  |   CodeDeploy 에이전트 1.3.2는 [CVE-2018-1000201](https://nvd.nist.gov/vuln/detail/CVE-2018-1000201)를 처리하며, 이는 해당 에이전트를 실행하는 Windows 호스트에 영향을 줍니다. CVE는 CodeDeploy 에이전트에 종속적인 Ruby-ffi를 인용합니다. 에이전트가 Amazon EC2 Systems Manager(SSM)와 함께 설치되었고 자동으로 업데이트되도록 설정된 경우 별도의 작업이 필요하지 않습니다. 그렇지 않으면 에이전트를 수동으로 업데이트하는 작업이 필요합니다. 에이전트를 업그레이드하려면 [Windows Server에서 CodeDeploy 에이전트 업데이트](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-update-windows.html)의 지침을 따릅니다.   **수정됨**: Ubuntu 20.04 이상에서 CodeDeploy 에이전트를 설치할 때 발생하는 문제. **수정됨**: 상대 경로가 올바르게 처리되지 않았기 때문에 압축된 파일을 추출할 때 간헐적으로 발생하는 문제. **추가됨**: Windows 인스턴스의 [AWS PrivateLink 및 VPC 엔드포인트](https://docs.aws.amazon.com//vpc/latest/userguide/endpoint-services-overview.html) 지원. **추가됨**: AppSpec 파일 개선 사항(아래에 설명된대로). [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/codedeploy-agent.html) **업그레이드됨**: 이제 CodeDeploy는 AWS SDK for Ruby 3.0을 사용합니다.  | 
|  1.3.1  |  2020년 12월 22일  |  **수정됨**: 온프레미스 인스턴스가 시작되지 않도록 하는 1.3.0의 문제.  | 
|  1.3.0  |  2020년 11월 10일  |   이 버전은 더 이상 사용되지 않습니다.  **수정됨**: 더 이상 사용되지 않는 만료된 인증서를 제거했습니다. **수정**됨:에서 사용하는 에이전트 제거 스크립트에서 프롬프트 메시지를 제거하여 호스트 또는 플릿을 이전 버전의 에이전트로 더 쉽게 다운그레이드할 수 AWS Systems Manager있도록 했습니다.  | 
|  1.2.1  |  2020년 9월 23일  |  **변경됨**: v2에서 v3로의 AWS SDK for Ruby 종속성이 업그레이드되었습니다. **추가됨**: IMDS V2에 대한 지원. IMDSv2 HTTP 요청이 실패할 경우 IMDSv1에 대한 자동 대체 기능을 포함합니다. **변경됨**: 보안 패치에 대한 Rake 및 Rubyzip 종속성이 업데이트되었습니다. **수정됨**: 빈 PID 파일이 `No CodeDeploy Agent Running` 상태를 반환하고 에이전트 시작시 PID 파일을 정리합니다.  | 
|  1.1.2  |  2020년 8월 4일  |  **추가됨**: Ubuntu Server 19.10 및 20.04에 대한 지원. **참고**: 버전 19.10이 수명 종료 날짜에 도달했으며 더 이상 Ubuntu 또는 CodeDeploy에서 지원되지 않습니다. **추가됨**: Linux와 Ubuntu의 메모리 효율성이 향상되어 예약된 메모리를 보다 적시에 릴리스합니다. **추가됨**: 때로 에이전트가 응답하지 않는 문제의 원인이었던 Windows Server “자동 정리”와의 호환성. **추가됨**: 정리 중에 비어 있지 않은 디렉터리를 무시하여 배포 실패를 방지합니다. **추가**됨: 로스앤젤레스(LA)의 AWS Local Zone에 대한 지원. **추가**됨: 인스턴스 메타데이터에서 AZ를 추출하여 AWS 로컬 영역에 대한 호환성을 제공합니다. **추가됨**: 이제 사용자는 하위 디렉터리에 아카이브를 제공할 수 있으며 루트 디렉터리에 저장할 필요가 없습니다. **추가됨**: 메모리 누수의 원인이 될 수 있는 Rubyzip의 문제를 감지했습니다. Rubyzip을 사용하기 전에 먼저 시스템에 설치된 압축 해제 유틸리티를 사용하도록 압축 해제 명령을 업데이트했습니다. **추가됨**: 에이전트 구성 설정으로서의 `:enable_auth_policy:`. **변경됨**: 이제 압축 해제 경고가 무시되므로 배포가 계속됩니다.  | 
|  1.1.0  |  2020년 6월 30일  |  **변경됨**: CodeDeploy 에이전트의 버전 관리는 이제 Ruby 표준 버전 관리 규칙을 따릅니다. **추가됨**: 명령줄에서 특정 에이전트 버전을 설치할 수 있도록 설치 및 업데이트 명령에 새로운 파라미터가 도입되었습니다. **제거됨**: Linux 및 Ubuntu용 CodeDeploy 에이전트 자동 업데이트 프로그램이 제거되었습니다. CodeDeploy 에이전트의 자동 업데이트를 구성하려면 [를 사용하여 CodeDeploy 에이전트 설치를 AWS Systems Manager](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install-ssm.html) 참조하세요.  | 
|  1.0.1.1597  |  2018년 11월 15일  |  **기능 향상**: CodeDeploy는 Ubuntu 18.04를 지원합니다. **기능 향상**: CodeDeploy는 Ruby 2.5를 지원합니다. **기능 향상**: CodeDeploy는 FIPS 엔드포인트를 지원합니다. FIPS 엔드포인트에 대한 자세한 내용은 [FIPS 140-2 개요](https://aws.amazon.com/compliance/fips/)를 참조하세요. CodeBuild에 사용할 수 있는 엔드포인트에 대해서는 [CodeDeploy 지원 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)를 참조하세요.  | 
|  1.0.1.1518  |  2018년 6월 12일  |  **기능 향상**: 폴링 요청을 수락하는 동안 CodeDeploy 에이전트가 닫혔을 때 오류가 발생하는 문제가 해결되었습니다. **기능 향상**: 배포가 진행 중일 때 CodeDeploy 에이전트가 닫히지 않도록 해주는 배포 추적 기능이 추가되었습니다. **기능 향상**: 파일을 삭제할 때 성능을 개선하였습니다.  | 
|  1.0.1.1458  |  2018년 3월 6일  |  **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. **기능 향상**: 인증서 검증이 더 많은 신뢰할 수 있는 기관을 지원하도록 개선되었습니다. **기능 향상**: BeforeInstall 수명 주기 이벤트를 포함하는 배포 도중 로컬 CLI가 실패하는 문제가 해결되었습니다. **기능 향상**: CodeDeploy 에이전트를 업데이트하면 활성 배포가 실패하는 문제가 해결되었습니다.  | 
|  1.0.1.1352  |  2017년 11월 16일  |  **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. **기능**: CodeDeploy 에이전트가 설치된 로컬 머신 또는 인스턴스에서 EC2/온프레미스 배포를 테스트 및 디버그하기 위한 새로운 기능을 도입했습니다.  | 
|  1.0.1.1106  |  2017년 5월 16일  |  **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. **기능**: 최근에 성공한 배포의 애플리케이션 개정의 일부가 아닌 대상 위치에서 콘텐츠를 처리하기 위한 새로운 지원이 도입되었습니다. 기존 콘텐트에 대한 배포 옵션에 이제 콘텐츠 유지, 콘텐츠 덮어쓰기 또는 배포 실패가 포함됩니다. **기능 향상**: CodeDeploy 에이전트가 AWS SDK for Ruby (aws-sdk-core 2.9.2) 버전 2.9.2와 호환되도록 했습니다.  | 
|  1.0.1.1095  |  2017년 3월 29일  |  **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. **기능 향상**: 중국(베이징) 리전에 CodeDeploy 에이전트에 대한 지원이 추가되었습니다. **기능 향상**: 수명 주기 이벤트 후크에서 호출한 경우 Windows Server 인스턴스에서 실행되도록 Puppet이 활성화되었습니다. **기능 향상**: `untar` 작업의 처리가 개선되었습니다.  | 
| 1.0.1.1067 | 2017년 1월 6일 |  **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. **기능 향상**: 배포 실패에 대한 보다 구체적인 원인을 포함하도록 많은 수의 오류 메시지가 수정되었습니다. **기능 향상**: 일부 배포 중 CodeDeploy 에이전트가 올바른 애플리케이션 수정 버전을 식별하지 못하도록 하는 문제가 해결되었습니다. **기능 향상**: `untar` 작업 전/후 `pushd` 및 `popd` 사용을 되돌립니다.  | 
| 1.0.1.1045 | 2016년 11월 21일 |  **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. **기능 향상**: CodeDeploy 에이전트가 ( AWS SDK for Ruby aws-sdk-core 2.6.11) 버전 2.6.11과 호환되도록 했습니다.  | 
| 1.0.1.1037 | 2016년 10월 19일 |  **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. Amazon Linux, RHEL 및 Ubuntu Server 인스턴스용 CodeDeploy 에이전트가 다음 변경으로 업데이트되었습니다. Windows Server 인스턴스의 경우 최신 버전은 1.0.1.998로 유지됩니다. **기능 향상**: 이제 에이전트가 인스턴스에 설치된 Ruby 버전을 확인할 수 있게 되어 해당 버전을 사용해 `codedeploy-agent` 스크립트를 호출할 수 있습니다.  | 
| 1.0.1.1011.1 | 2016년 8월 17일 |  **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. **기능 향상**: 셸 지원 관련 문제로 인해 버전 1.0.1.1011에서 도입된 변경 사항이 제거되었습니다. 이 에이전트 버전은 기능 측면에서는 2016년 7월 11일에 출시된 버전 1.0.1.998과 동등합니다. | 
| 1.0.1.1011 | 2016년 8월 15일 |  **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. Amazon Linux, RHEL 및 Ubuntu Server 인스턴스용 CodeDeploy 에이전트가 다음 변경으로 업데이트되었습니다. Windows Server 인스턴스의 경우 최신 버전은 1.0.1.998로 유지됩니다.**기능**: systemd init 시스템이 사용 중인 운영 체제에서 Bash 셸을 사용하여 CodeDeploy 에이전트를 호출하기 위한 지원이 추가되었습니다.기능 향상: CodeDeploy 에이전트 및 CodeDeploy 에이전트 업데이트 프로그램에서 Ruby 2.x의 모든 버전에 대한 지원이 활성화되었습니다. 업데이트된 CodeDeploy 에이전트는 더 이상 Ruby 2.0에만 종속되지 않습니다. Ruby 2.0은 CodeDeploy 에이전트 설치 프로그램의 deb 및 rpm 버전에 계속 필요합니다. | 
| 1.0.1.998 | 2016년 7월 11일 |  **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. **기능 향상**: *루트* 이외의 사용자 프로필로 CodeDeploy 에이전트를 실행하기 위한 지원이 수정되었습니다. 환경 변수와의 충돌을 방지하기 위해 `USER` 변수가 `CODEDEPLOY_USER`로 대체되었습니다.  | 
| 1.0.1.966 | 2016년 6월 16일 |  **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. **기능**: *루트* 이외의 사용자 프로필로 CodeDeploy 에이전트를 실행하기 위한 지원이 도입되었습니다. **기능 향상**: CodeDeploy 에이전트에서 배포 그룹에 대해 보관하도록 하려는 애플리케이션 개정의 개수를 지정하는 지원이 수정되었습니다. **기능 향상**: CodeDeploy 에이전트가 AWS SDK for Ruby (aws-sdk-core 2.3) 버전 2.3과 호환되도록 했습니다. **기능 향상**: 배포 중 UTF-8 인코딩 관련 문제가 해결되었습니다. **기능 향상**: 프로세스 이름 식별 시 정확성이 개선되었습니다.  | 
| 1.0.1.950 | 2016년 3월 24일 |  **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. **기능**: 설치 프록시 지원이 추가되었습니다. **기능 향상**: 최신 버전이 이미 설치되어 있는 경우 CodeDeploy 에이전트를 다운로드하지 않도록 설치 스크립트가 업데이트되었습니다.  | 
| 1.0.1.934 | 2016년 2월 11일 |  **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. **기능**: CodeDeploy 에이전트에서 배포 그룹에 대해 보관하도록 하려는 애플리케이션 개정의 개수를 지정하는 지원이 도입되었습니다.  | 
| 1.0.1.880 | 2016년 1월 11일 | **참고**: 이 버전은 더 이상 지원되지 않기 때문에 사용한다면 배포에 실패할 수 있습니다. **기능 향상**: CodeDeploy 에이전트가 AWS SDK for Ruby (aws-sdk-core 2.2) 버전 2.2와 호환되도록 했습니다. 버전 2.1.2는 계속해서 지원됩니다.  | 
| 1.0.1.854 | 2015년 11월 17일 | **참고**: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다. **기능**: SHA-256 해시 알고리즘에 대한 지원이 도입되었습니다. **기능**: `.version` 파일에서 버전 추적 지원이 도입되었습니다. **기능**: 환경 변수를 통해 배포 그룹 ID를 사용할 수 있게 되었습니다. **기능 향상**: [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html)를 사용한 CodeDeploy 에이전트 로그 모니터링 지원이 추가되었습니다.  | 

관련 정보는 다음 자료를 참조하세요.
+ [CodeDeploy 에이전트의 버전 확인](codedeploy-agent-operations-version.md)
+ [CodeDeploy 에이전트 설치](codedeploy-agent-operations-install.md)

CodeDeploy 에이전트 버전 기록은 [GitHub의 릴리스 리포지토리](https://github.com/aws/aws-codedeploy-agent/releases)를 참조하세요.

## CodeDeploy 프로세스 관리
<a name="codedeploy-agent-processes"></a>

모든 Linux 배포판의 CodeDeploy 에이전트(rpm 및 deb)는 기본적으로 [systemd](https://systemd.io/)를 사용하여 에이전트 프로세스를 관리합니다.

그러나 rpm 및 deb 배포는 모두 `/etc/init.d/codedeploy-agent`에 있는 시작 스크립트와 함께 제공됩니다. 사용 중인 배포에 따라 `sudo service codedeploy-agent restart`와 같은 명령을 사용할 때, `systemd`가 프로세스를 관리하는 대신 `/etc/init.d`의 스크립트를 실행하여 에이전트 프로세스를 시작할 수 있습니다. `/etc/init.d`에서 스크립트를 실행하는 것은 바람직하지 않습니다.

이 문제를 방지하려면 `systemd`를 지원하는 시스템의 경우 모든 에이전트 작업에 `service` 명령 대신 `systemctl` 유틸리티를 사용하는 것이 좋습니다.

예를 들어 CodeDeploy 에이전트를 다시 시작하려면 `service` 유틸리티와 동등한 명령 대신 `sudo systemctl restart codedeploy-agent`를 사용하세요.

## 애플리케이션 수정 버전 및 로그 파일 정리
<a name="codedeploy-agent-revisions-logs-cleanup"></a>

CodeDeploy 에이전트는 인스턴스에 개정 및 로그 파일을 보관합니다. CodeDeploy 에이전트는 이러한 아티팩트를 정리해 디스크 공간을 절약합니다.

**애플리케이션 수정 버전 배포 로그**: 에이전트 구성 파일에서 **:max\$1revisions:** 옵션을 사용하여 양의 정수를 입력해 보관할 애플리케이션 개정 수를 지정할 수 있습니다. 또한 CodeDeploy는 이러한 수정 버전에 대한 로그 파일을 보관합니다. 최근에 성공한 배포에 대한 로그 파일을 제외한 그 외 모든 항목은 삭제됩니다. 실패한 배포 수가 보유 개정 수를 초과하더라도 로그 파일은 항상 보존됩니다. 값을 지정하지 않으면 CodeDeploy는 현재 배포된 개정 이외에 최근 개정 5개를 보유합니다.

**CodeDeploy 로그**: Amazon Linux, Ubuntu Server 및 RHEL 인스턴스의 경우 CodeDeploy 에이전트가 `/var/log/aws/codedeploy-agent` 폴더의 로그 파일을 교체합니다. 로그 파일은 매일 00:00:00(인스턴스 시간)에 교체됩니다. 7일 후에는 로그 파일이 삭제됩니다. 교체된 로그 파일의 이름 지정 패턴은 `codedeploy-agent.YYYYMMDD.log`입니다.

## CodeDeploy 에이전트에 의해 설치된 파일
<a name="codedeploy-agent-install-files"></a>

CodeDeploy 에이전트는 개정, 배포 기록 및 배포 스크립트를 인스턴스의 루트 디렉터리에 저장합니다. 이 디렉터리의 기본값과 위치는 다음과 같습니다.

Amazon Linux, Ubuntu Server 및 RHEL의 `'/opt/codedeploy-agent/deployment-root'`

Windows Server 인스턴스의 `'C:\ProgramData\Amazon\CodeDeploy'` 

CodeDeploy 에이전트 구성 파일의 **root\$1dir** 설정을 사용하여 디렉터리의 이름과 위치를 구성할 수 있습니다. 자세한 내용은 [CodeDeploy 에이전트 구성 참조](reference-agent-configuration.md) 단원을 참조하십시오.

다음은 루트 디렉터리의 파일과 디렉터리 구조를 보여주는 예시입니다. 이 구조는 배포 그룹 N개가 있으며, 각 배포 그룹에는 배포 N개가 포함된다고 가정합니다.

```
|--deployment-root/
|-- deployment group 1 ID 
|    |-- deployment 1 ID 
|    |    |-- Contents and logs of the deployment's revision
|    |-- deployment 2 ID
|    |    |-- Contents and logs of the deployment's revision
|    |-- deployment N ID
|    |    |-- Contents and logs of the deployment's revision
|-- deployment group 2 ID
|    |-- deployment 1 ID
|    |    |-- bundle.tar
|    |    |-- deployment-archive
|    |    |    | -- contents of the deployment's revision
|    |    |-- logs
|    |    |    | -- scripts.log     
|    |-- deployment 2 ID
|    |    |-- bundle.tar
|    |    |-- deployment-archive
|    |    |    | -- contents of the deployment's revision
|    |    |-- logs
|    |    |    | -- scripts.log     
|    |-- deployment N ID
|    |    |-- bundle.tar
|    |    |-- deployment-archive
|    |    |    | -- contents of the deployment's revision
|    |    |-- logs
|    |    |    | -- scripts.log     
|-- deployment group N ID
|    |-- deployment 1 ID
|    |    |-- Contents and logs of the deployment's revision
|    |-- deployment 2 ID
|    |    |-- Contents and logs of the deployment's revision
|    |-- deployment N ID
|    |    |-- Contents and logs of the deployment's revision
|-- deployment-instructions
|    |-- [deployment group 1 ID]_cleanup
|    |-- [deployment group 2 ID]_cleanup
|    |-- [deployment group N ID]_cleanup
|    |-- [deployment group 1 ID]_install.json
|    |-- [deployment group 2 ID]_install.json
|    |-- [deployment group N ID]_install.json
|    |-- [deployment group 1 ID]_last_successful_install
|    |-- [deployment group 2 ID]_last_successful_install
|    |-- [deployment group N ID]_last_successful_install
|    |-- [deployment group 1 ID]_most_recent_install
|    |-- [deployment group 2 ID]_most_recent_install
|    |-- [deployment group N ID]_most_recent_install
|-- deployment-logs
|    |-- codedeploy-agent-deployments.log
```


+  **Deployment Group ID** 폴더는 각 배포 그룹을 대표합니다. 배포 그룹 디렉터리의 이름은 배포 그룹 디렉터리의 ID입니다(예: `acde1916-9099-7caf-fd21-012345abcdef`). 각각의 배포 그룹 디렉터리에는 해당 배포 그룹의 각 배포 시도에 해당하는 하위 디렉터리가 하나씩 있습니다.

   [batch-get-deployments](https://docs.aws.amazon.com/cli/latest/reference/deploy/batch-get-deployments.html) 명령을 사용하여 배포 그룹 ID를 찾을 수 있습니다.
+  **Deployment ID** 폴더는 배포 그룹 내 개별 배포를 대표합니다. 각 배포 디렉터리의 이름은 배포 디렉터리의 ID입니다. 각 폴더는 다음을 포함합니다.
  +  **bundle.tar**는 배포 개정 내용을 담고 있는 압축 파일입니다. 개정을 보려면 zip 압축 해제 유틸리티를 사용합니다.
  +  **deployment-archive**는 배포 개정 내용을 담고 있는 디렉터리입니다.
  +  **logs**는 `scripts.log` 파일을 포함하는 디렉터리입니다. 이 파일은 배포의 AppSpec 파일에서 지정하는 모든 스크립트 출력을 나열합니다.

   배포에 대한 폴더를 찾고 싶지만 배포 ID 또는 배포 그룹 ID를 모르는 경우 [AWS CodeDeploy 콘솔](https://console.aws.amazon.com/codedeploy) 또는 AWS CLI 를 사용하여 찾을 수 있습니다. 자세한 내용은 [CodeDeploy 배포 세부 정보 보기](deployments-view-details.md) 단원을 참조하십시오.

   배포 그룹에 아카이브할 수 있는 기본 최대 배포 수는 5개입니다. 5개 아카이브 후 다른 배포를 아카이브하면 가장 오래된 아카이브가 삭제됩니다. CodeDeploy 에이전트 구성 파일의 **max\$1revisions** 설정을 사용하여 기본값을 변경할 수 있습니다. 자세한 내용은 [CodeDeploy 에이전트 구성 참조](reference-agent-configuration.md) 단원을 참조하십시오.
**참고**  
 아카이브된 배포가 사용하는 하드 디스크 공간을 복구하고 싶다면, **max\$1revisions** 설정을 1이나 2 같은 낮은 수치로 조정하세요. 다음 배포 시 아카이브된 배포가 삭제되기 때문에 지정된 숫자가 유지됩니다.
+  **deployment-instructions**는 각 배포 그룹을 위한 텍스트 파일 4개를 포함합니다.
  + **[Deployment Group ID]-cleanup**은 배포 과정에서 실행한 각 명령의 실행 취소 버전을 보여주는 텍스트 파일입니다. 예제 파일 이름은 `acde1916-9099-7caf-fd21-012345abcdef-cleanup`입니다.
  + **[Deployment Group ID]-install.json**은 가장 최근 배포에서 생성된 JSON 파일입니다. 배포 과정에서 실행된 명령을 확인할 수 있습니다. 예제 파일 이름은 `acde1916-9099-7caf-fd21-012345abcdef-install.json`입니다.
  + **[Deployment Group ID]\$1last\$1successfull\$1install**은 가장 최근에 성공한 배포의 아카이브 디렉터리를 나열하는 텍스트 파일입니다. 이 파일은 CodeDeploy 에이전트가 배포 애플리케이션의 모든 파일을 인스턴스로 복사할 때 생성됩니다. 이 파일은 CodeDeploy 에이전트가 다음 배포 과정에서 실행할 `ApplicationStop` 및 `BeforeInstall` 스크립트를 결정하는 데 사용합니다. 예제 파일 이름은 `acde1916-9099-7caf-fd21-012345abcdef_last_successfull_install`입니다.
  + **[Deployment Group ID]\$1most\$1recent\$1install**은 가장 최근 배포의 아카이브 디렉터리 이름을 나열하는 텍스트 파일입니다. 이 파일은 배포의 파일을 다운로드했을 때 생성됩니다. [deployment group ID]\$1last\$1successfull\$1install 파일은 이 파일이 생성된 후, 다운로드된 파일이 최종 목적지로 복사될 때 생성됩니다. 예제 파일 이름은 `acde1916-9099-7caf-fd21-012345abcdef_most_recent_install`입니다.
+  **deployment-logs**는 다음 로그 파일을 포함합니다.
  +  **codedeploy-agent.yyyymmdd.log** 파일은 배포가 실행된 각 날짜에 생성됩니다. 각 로그 파일에는 해당 날짜의 배포에 대한 정보가 들어 있습니다. 이러한 로그 파일은 권한 문제 같은 디버깅 문제를 해결하는 데 유용합니다. 로그 파일의 기본 이름은 `codedeploy-agent.log`입니다. 날이 지나면 적용 일자가 파일 이름에 삽입됩니다. 예를 들어 오늘이 2018년 1월 3일이라면, `codedeploy-agent.log`에서 오늘의 모든 배포 관련 정보를 확인할 수 있습니다. 내일, 즉 2018년 1월 4일에는 로그 파일 이름이 `codedeploy-agent.20180103.log`로 변경됩니다.
  +  **codedeploy-agent-deployments.log**는 개별 배포에 대해 `scripts.log` 파일 내용을 컴파일합니다. `scripts.log` 파일은 각 `logs` 폴더의 `Deployment ID` 하위 폴더에 있습니다. 이 파일의 항목 앞에는 배포 ID가 붙습니다. 예를 들어 ID가 `[d-ABCDEF123]LifecycleEvent - BeforeInstall`인 배포 중에는 "`d-ABCDEF123`"이 작성될 수 있습니다. `codedeploy-agent-deployments.log`가 최대 크기가 되면, CodeDeploy 에이전트가 이를 계속 작성하며 오래된 내용은 삭제됩니다.

# CodeDeploy 에이전트 작업 관리
<a name="codedeploy-agent-operations"></a>

이 섹션의 지침은 CodeDeploy 에이전트 설치, 제거, 다시 설치 또는 업데이트 방법과 CodeDeploy 에이전트가 실행 중인지 여부를 확인하는 방법을 보여줍니다.

**Topics**
+ [CodeDeploy 에이전트가 실행 중인지 확인](codedeploy-agent-operations-verify.md)
+ [CodeDeploy 에이전트의 버전 확인](codedeploy-agent-operations-version.md)
+ [CodeDeploy 에이전트 설치](codedeploy-agent-operations-install.md)
+ [CodeDeploy 에이전트 업데이트](codedeploy-agent-operations-update.md)
+ [CodeDeploy 에이전트 설치 제거](codedeploy-agent-operations-uninstall.md)
+ [CloudWatch로 CodeDeploy 에이전트 로그 전송](codedeploy-agent-operations-cloudwatch-agent.md)

# CodeDeploy 에이전트가 실행 중인지 확인
<a name="codedeploy-agent-operations-verify"></a>

이 섹션에서는 인스턴스에서 CodeDeploy 에이전트의 실행이 중지되었다고 의심하는 경우 에이전트를 실행하도록 하는 명령에 대해 설명합니다.

**Topics**
+ [Amazon Linux 또는 RHEL용 CodeDeploy 에이전트가 실행 중인지 확인합니다.](#codedeploy-agent-operations-verify-linux)
+ [Ubuntu Server용 CodeDeploy 에이전트가 실행 중인지 확인](#codedeploy-agent-operations-verify-ubuntu)
+ [Windows Server용 CodeDeploy 에이전트가 실행 중인지 확인](#codedeploy-agent-operations-verify-windows)

## Amazon Linux 또는 RHEL용 CodeDeploy 에이전트가 실행 중인지 확인합니다.
<a name="codedeploy-agent-operations-verify-linux"></a>

CodeDeploy 에이전트가 설치되고 실행 중인지 확인하려면 인스턴스에 로그인하여 다음 명령을 실행합니다.

```
systemctl status codedeploy-agent
```

명령이 오류를 반환하면 CodeDeploy 에이전트가 설치되지 않은 것입니다. [Amazon Linux 또는 RHEL용 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-linux.md)의 설명에 따라 설치합니다.

CodeDeploy 에이전트가 설치되어 실행 중이면 "`The AWS CodeDeploy agent is running`"와 같은 메시지가 표시되어야 합니다.

"`error: No AWS CodeDeploy agent running`"와 같은 메시지가 표시되면 서비스를 시작하고 다음 두 명령을 한 번에 하나씩 실행합니다.

```
systemctl start codedeploy-agent
```

```
systemctl status codedeploy-agent
```

## Ubuntu Server용 CodeDeploy 에이전트가 실행 중인지 확인
<a name="codedeploy-agent-operations-verify-ubuntu"></a>

CodeDeploy 에이전트가 설치되고 실행 중인지 확인하려면 인스턴스에 로그인하여 다음 명령을 실행합니다.

```
systemctl status codedeploy-agent
```

명령이 오류를 반환하면 CodeDeploy 에이전트가 설치되지 않은 것입니다. [Ubuntu Server용 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-ubuntu.md)의 설명에 따라 설치합니다.

CodeDeploy 에이전트가 설치되어 실행 중이면 "`The AWS CodeDeploy agent is running`"와 같은 메시지가 표시되어야 합니다.

"`error: No AWS CodeDeploy agent running`"와 같은 메시지가 표시되면 서비스를 시작하고 다음 두 명령을 한 번에 하나씩 실행합니다.

```
systemctl start codedeploy-agent
```

```
systemctl status codedeploy-agent
```

## Windows Server용 CodeDeploy 에이전트가 실행 중인지 확인
<a name="codedeploy-agent-operations-verify-windows"></a>

CodeDeploy 에이전트가 설치되고 실행 중인지 확인하려면 인스턴스에 로그인하여 다음 명령을 실행합니다.

```
powershell.exe -Command Get-Service -Name codedeployagent
```

다음과 유사한 출력 화면이 표시되어야 합니다.

```
Status   Name               DisplayName
------   ----               -----------
Running codedeployagent    CodeDeploy Host Agent Service
```

명령이 오류를 반환하면 CodeDeploy 에이전트가 설치되지 않은 것입니다. [Windows Server용 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-windows.md)의 설명에 따라 설치합니다.

`Status`에 `Running` 이외의 다른 상태가 표시되면 다음 명령을 사용해 서비스를 시작합니다.

```
powershell.exe -Command Start-Service -Name codedeployagent
```

다음 명령을 사용하여 서비스를 시작할 수 있습니다.

```
powershell.exe -Command Restart-Service -Name codedeployagent
```

다음 명령을 사용하여 서비스를 중지할 수 있습니다.

```
powershell.exe -Command Stop-Service -Name codedeployagent
```

# CodeDeploy 에이전트의 버전 확인
<a name="codedeploy-agent-operations-version"></a>

인스턴스에서 실행 중인 CodeDeploy 에이전트의 버전은 두 가지 방법으로 확인할 수 있습니다.

먼저, CodeDeploy 에이전트 버전 1.0.1.854부터 인스턴스의 `.version` 파일에서 버전 번호를 확인할 수 있습니다. 다음 표에는 지원되는 각 운영 체제에 대한 위치 및 샘플 버전 문자열이 나와 있습니다.


| 운영 체제 | 파일 위치 | 샘플 에이전트 버전 문자열 | 
| --- | --- | --- | 
| Amazon Linux 및 Red Hat Enterprise Linux(RHEL) | /opt/codedeploy-agent/.version | OFFICIAL\$11.0.1.854\$1rpm | 
| Ubuntu 서버 | /opt/codedeploy-agent/.version | OFFICIAL\$11.0.1.854\$1deb | 
| Windows Server | C:\$1ProgramData\$1Amazon\$1CodeDeploy\$1.version | OFFICIAL\$11.0.1.854\$1msi | 

두 번째로, 인스턴스에서 명령을 실행하여 CodeDeploy 에이전트의 버전을 확인할 수 있습니다.

**Topics**
+ [Amazon Linux 또는 RHEL에서 버전 확인](#codedeploy-agent-operations-version-linux)
+ [Ubuntu Server에서 버전 확인](#codedeploy-agent-operations-version-ubuntu)
+ [Windows Server에서 버전 확인](#codedeploy-agent-operations-version-windows)

## Amazon Linux 또는 RHEL에서 버전 확인
<a name="codedeploy-agent-operations-version-linux"></a>

인스턴스에 로그인하여 다음 명령을 실행합니다.

```
sudo yum info codedeploy-agent
```

## Ubuntu Server에서 버전 확인
<a name="codedeploy-agent-operations-version-ubuntu"></a>

인스턴스에 로그인하여 다음 명령을 실행합니다.

```
sudo dpkg -s codedeploy-agent
```

## Windows Server에서 버전 확인
<a name="codedeploy-agent-operations-version-windows"></a>

인스턴스에 로그인하여 다음 명령을 실행합니다.

```
sc qdescription codedeployagent
```

# CodeDeploy 에이전트 설치
<a name="codedeploy-agent-operations-install"></a>

EC2 인스턴스 또는 온프레미스 서버에서 CodeDeploy를 사용하려면 CodeDeploy 에이전트를 먼저 설치해야 합니다. 를 사용하여 CodeDeploy 에이전트를 설치하고 업데이트하는 것이 좋습니다 AWS Systems Manager. Systems Manager에 대한 자세한 내용은 [AWS Systems Manager란 무엇입니까](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)를 참조하세요. 배포 그룹을 생성할 때 콘솔에서 Systems Manager를 사용하여 CodeDeploy 에이전트의 설치 및 예약 업데이트를 설정할 수 있습니다.

명령줄을 사용하여 S3 버킷에서 직접 CodeDeploy 에이전트를 설치할 수도 있습니다.

설치할 권장 버전은 [CodeDeploy 에이전트의 버전 기록](codedeploy-agent.md#codedeploy-agent-version-history) 섹션을 참조하세요.

**Topics**
+ [를 사용하여 CodeDeploy 에이전트 설치 AWS Systems Manager](codedeploy-agent-operations-install-ssm.md)
+ [명령줄을 사용하여 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-cli.md)

# 를 사용하여 CodeDeploy 에이전트 설치 AWS Systems Manager
<a name="codedeploy-agent-operations-install-ssm"></a>

 AWS Management Console 또는를 사용하여 AWS CLI 를 사용하여 Amazon EC2 또는 온프레미스 인스턴스에 CodeDeploy 에이전트를 설치할 수 있습니다 AWS Systems Manager. 특정 버전을 설치하거나 항상 에이전트의 최신 버전을 설치하도록 선택할 수 있습니다. 에 대한 자세한 내용은 [란 AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) 무엇입니까?를 AWS Systems Manager참조하십시오.

 CodeDeploy 에이전트를 설치하고 업데이트하는 데 권장되는 방법은를 사용하는 AWS Systems Manager 것입니다. Amazon S3 버킷에서 CodeDeploy 에이전트를 설치할 수도 있습니다. Amazon S3 다운로드 링크 사용에 대한 자세한 내용은 [명령줄을 사용하여 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-cli.md) 섹션을 참조하세요.

**Topics**
+ [사전 조건](#install-codedeploy-agent-prereqs)
+ [CodeDeploy 에이전트 설치](#download-codedeploy-agent-on-EC2-Instance)

## 사전 조건
<a name="install-codedeploy-agent-prereqs"></a>

[CodeDeploy 시작하기](getting-started-codedeploy.md)의 단계에 따라 IAM 권한 및 AWS CLI를 설정합니다.

Systems Manager를 사용하여 온프레미스 서버에 CodeDeploy 에이전트를 설치하는 경우 Amazon EC2 Systems Manager 온프레미스 서버를 등록해야 합니다. 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [하이브리드 환경에서 Systems Manager 설정](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html)을 참조하세요.

## CodeDeploy 에이전트 설치
<a name="download-codedeploy-agent-on-EC2-Instance"></a>

Systems Manager를 사용하여 CodeDeploy 에이전트를 설치하기 전에 먼저 인스턴스가 Systems Manager에 대해 올바르게 구성되어 있는지 확인해야 합니다.

### SSM 에이전트 설치 또는 업데이트
<a name="update-SSM-Agent-EC2instance"></a>

Amazon EC2 인스턴스에서는 CodeDeploy 에이전트를 사용하려면 해당 인스턴스가 2.3.274.0 이상 버전을 실행하고 있어야 합니다. CodeDeploy 에이전트를 설치하기 전에, 인스턴스에 SSM 에이전트를 업데이트하거나 설치합니다(아직 하지 않은 경우).

SSM 에이전트는에서 제공하는 일부 Amazon EC2 AMIs에 사전 설치되어 제공됩니다 AWS. 자세한 내용은 [SSM 에이전트가 사전 설치된 Amazon Machine Image(AMI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html)를 참조하세요.

**참고**  
인스턴스의 운영 체제도 CodeDeploy 에이전트에서 지원되는지 확인합니다. 자세한 내용은 [CodeDeploy 에이전트에서 지원하는 운영 체제](codedeploy-agent.md#codedeploy-agent-supported-operating-systems) 단원을 참조하십시오.

Linux를 실행하는 인스턴스에 SSM 에이전트를 설치하거나 업데이트하는 방법에 대한 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [Linux 인스턴스에 SSM 에이전트 설치 및 구성](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-agent.html)을 참조하세요.

Windows Server를 실행하는 인스턴스에 SSM 에이전트를 설치하거나 업데이트하는 방법에 대한 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [Windows 인스턴스에 SSM 에이전트 설치 및 구성](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-win.html)을 참조하세요.

### (선택 사항) Systems Manager 사전 조건 확인
<a name="install-codedeploy-agent-minimum-requirements"></a>

SystemsManager Run Command를 사용하여 CodeDeploy 에이전트를 설치하기 전에 인스턴스가 Systems Manager 최소 요구 사항을 충족하는지 확인하세요. 자세한 내용은 *AWS Systems Manager 사용 설명서*에서 [AWS Systems Manager설정](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html)을 참조하세요.

### CodeDeploy 에이전트 설치
<a name="install-codedeploy-agent-EC2"></a>

SSM을 사용하여 CodeDeploy를 한 번만 설치하거나, 최신 버전을 계속 설치하도록 일정을 설정할 수 있습니다.

 CodeDeploy 에이전트를 설치하려면 배포자를 사용하여 `AWSCodeDeployAgent` 패키지 설치 또는 업데이트의 단계를 따르는 동안 패키지를 선택합니다. [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor-working-with-packages-deploy.html) 

# 명령줄을 사용하여 CodeDeploy 에이전트 설치
<a name="codedeploy-agent-operations-install-cli"></a>

**참고**  
에이전트의 예약된 업데이트를 구성할 수 AWS Systems Manager 있도록를 사용하여 CodeDeploy 에이전트를 설치하는 것이 좋습니다. 자세한 내용은 [를 사용하여 CodeDeploy 에이전트 설치 AWS Systems Manager](codedeploy-agent-operations-install-ssm.md) 단원을 참조하십시오.

명령줄을 사용하여 CodeDeploy 에이전트를 설치하고 실행하는 방법에 대해서는 다음 주제를 참조하세요.

**Topics**
+ [Amazon Linux 또는 RHEL용 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-linux.md)
+ [Ubuntu Server용 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-ubuntu.md)
+ [Windows Server용 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-windows.md)

# Amazon Linux 또는 RHEL용 CodeDeploy 에이전트 설치
<a name="codedeploy-agent-operations-install-linux"></a>

인스턴스에 로그인하여 다음 명령을 한 번에 하나씩 실행합니다. `yum`을 사용하여 패키지를 설치할 때 첫 번째 명령인 `sudo yum update`를 먼저 실행하는 것이 가장 좋습니다. 그러나 모든 패키지를 업데이트하지 않으려면 이 명령을 건너뛸 수 있습니다.

```
sudo yum update
```

```
sudo yum install ruby
```

```
sudo yum install wget
```

(선택 사항) 이전 에이전트 캐싱 정보의 AMI를 정리하려면 다음 스크립트를 실행합니다.

```
#!/bin/bash
CODEDEPLOY_BIN="/opt/codedeploy-agent/bin/codedeploy-agent"
$CODEDEPLOY_BIN stop
yum erase codedeploy-agent -y
```

홈 디렉터리로 이동합니다.

```
cd /home/ec2-user
```

**참고**  
앞의 명령에서 `/home/ec2-user`는 Amazon Linux 또는 RHEL Amazon EC2 인스턴스의 기본 사용자 이름을 나타냅니다. 사용자 지정 AMI를 사용하여 인스턴스를 만든 경우 AMI 소유자가 다른 기본 사용자 이름을 지정했을 수 있습니다.

CodeDeploy 에이전트 설치 관리자를 다운로드합니다.

```
wget https://bucket-name.s3.region-identifier.amazonaws.com/latest/install
```

*bucket-name*은 해당 리전의 CodeDeploy 리소스 키트 파일이 포함되어 있는 Amazon S3 버킷의 이름이며, *region-identifier*는 리전의 식별자입니다.

예제:

`https://aws-codedeploy-us-east-2.s3.us-east-2.amazonaws.com/latest/install`

버킷 이름 및 리전 식별자 목록은 [리전별 리소스 키트 버킷 이름](resource-kit.md#resource-kit-bucket-names) 단원을 참조하세요.

`install` 파일에 대한 실행 권한을 설정합니다.

```
chmod +x ./install
```

최신 버전의 CodeDeploy 에이전트를 설치하려면 다음을 수행합니다.
+ 

  ```
  sudo ./install auto
  ```

특정 버전의 CodeDeploy 에이전트를 설치하려면 다음을 수행합니다.
+ 해당 리전에서 사용 가능한 버전을 나열합니다.

  ```
  aws s3 ls s3://aws-codedeploy-region-identifier/releases/ --region region-identifier | grep '\.rpm$'
  ```
+ 다음 버전 중 하나를 설치합니다.

  ```
  sudo ./install auto -v releases/codedeploy-agent-version.noarch.rpm
  ```
**참고**  
AWS 는 CodeDeploy 에이전트의 최신 마이너 버전을 지원합니다. 현재 최신 마이너 버전은 1.7.x입니다.

서비스가 실행 중인지 확인하려면 다음 명령을 실행합니다.

```
systemctl status codedeploy-agent
```

CodeDeploy 에이전트가 설치되어 실행 중이면 "`The AWS CodeDeploy agent is running`"와 같은 메시지가 표시되어야 합니다.

"`error: No AWS CodeDeploy agent running`"와 같은 메시지가 표시되면 서비스를 시작하고 다음 두 명령을 한 번에 하나씩 실행합니다.

```
systemctl start codedeploy-agent
```

```
systemctl status codedeploy-agent
```

# Ubuntu Server용 CodeDeploy 에이전트 설치
<a name="codedeploy-agent-operations-install-ubuntu"></a>

**참고**  
에이전트의 예약된 업데이트를 구성할 수 AWS Systems Manager 있도록를 사용하여 CodeDeploy 에이전트를 설치하는 것이 좋습니다. 자세한 내용은 [를 사용하여 CodeDeploy 에이전트 설치 AWS Systems Manager](codedeploy-agent-operations-install-ssm.md) 단원을 참조하십시오.

**Ubuntu Server에 CodeDeploy 에이전트를 설치하려면**

1. 인스턴스에 로그인합니다.

1. 다음 명령을 차례로 입력합니다.

   ```
   sudo apt update
   ```

   ```
   sudo apt install ruby-full
   ```

   ```
   sudo apt install wget
   ```

1. 다음 명령을 입력합니다.

   ```
   cd /home/ubuntu
   ```

   */home/Ubuntu*는 Ubuntu Server 인스턴스의 기본 사용자 이름을 나타냅니다. 사용자 지정 AMI를 사용하여 인스턴스를 만든 경우 AMI 소유자가 다른 기본 사용자 이름을 지정했을 수 있습니다.

1. 다음 명령을 입력합니다.

   ```
   wget https://bucket-name.s3.region-identifier.amazonaws.com/latest/install
   ```

   *bucket-name*은 해당 리전의 CodeDeploy 리소스 키트 파일이 포함되어 있는 Amazon S3 버킷의 이름이며, *region-identifier*는 리전의 식별자입니다.

   예제:

   `https://aws-codedeploy-us-east-2.s3.us-east-2.amazonaws.com/latest/install`

   버킷 이름 및 리전 식별자 목록은 [리전별 리소스 키트 버킷 이름](resource-kit.md#resource-kit-bucket-names) 단원을 참조하세요.

1. 다음 명령을 입력합니다.

   ```
   chmod +x ./install
   ```

1. 다음 중 하나를 수행하세요.
   + 20.04를 *제외한* 지원되는 버전의 Ubuntu Serer에서 최신 버전의 CodeDeploy 에이전트를 설치하려면 다음을 수행합니다.

     ```
     sudo ./install auto
     ```
   + Ubuntu Server 20.04에서 최신 버전의 CodeDeploy 에이전트를 설치하려면 다음을 수행합니다.
**참고**  
출력을 임시 로그 파일에 쓰는 것은 Ubuntu Server 20.04에서 `install` 스크립트를 사용하여 알려진 버그를 해결하는 동안 사용해야 하는 해결 방법입니다.

     ```
     sudo ./install auto > /tmp/logfile
     ```
   + 20.04를 *제외한* 지원되는 버전의 Ubuntu Serer에서 특정 버전의 CodeDeploy 에이전트를 설치하려면 다음을 수행합니다.
     + 해당 리전에서 사용 가능한 버전을 나열합니다.

       ```
       aws s3 ls s3://aws-codedeploy-region-identifier/releases/ --region region-identifier | grep '\.deb$'
       ```
     + 다음 버전 중 하나를 설치합니다.

       ```
       sudo ./install auto -v releases/codedeploy-agent-###.deb
       ```
**참고**  
AWS 는 CodeDeploy 에이전트의 최신 마이너 버전을 지원합니다. 현재 최신 마이너 버전은 1.7.x입니다.
   + Ubuntu Server 20.04에서 특정 버전의 CodeDeploy 에이전트를 설치하려면 다음을 수행합니다.
     + 해당 리전에서 사용 가능한 버전을 나열합니다.

       ```
       aws s3 ls s3://aws-codedeploy-region-identifier/releases/ --region region-identifier | grep '\.deb$'
       ```
     + 다음 버전 중 하나를 설치합니다.

       ```
       sudo ./install auto -v releases/codedeploy-agent-###.deb > /tmp/logfile
       ```
**참고**  
출력을 임시 로그 파일에 쓰는 것은 Ubuntu Server 20.04에서 `install` 스크립트를 사용하여 알려진 버그를 해결하는 동안 사용해야 하는 해결 방법입니다.
**참고**  
AWS 는 CodeDeploy 에이전트의 최신 마이너 버전을 지원합니다. 현재 최신 마이너 버전은 1.7.x입니다.

**서비스가 실행 중인지 확인하려면**

1. 다음 명령을 입력합니다.

   ```
   systemctl status codedeploy-agent
   ```

   CodeDeploy 에이전트가 설치되어 실행 중이면 "`The AWS CodeDeploy agent is running`"와 같은 메시지가 표시되어야 합니다.

1. "`error: No AWS CodeDeploy agent running`"와 같은 메시지가 표시되면 서비스를 시작하고 다음 두 명령을 한 번에 하나씩 실행합니다.

   ```
   systemctl start codedeploy-agent
   ```

   ```
   systemctl status codedeploy-agent
   ```

# Windows Server용 CodeDeploy 에이전트 설치
<a name="codedeploy-agent-operations-install-windows"></a>

Windows Server 인스턴스에서 다음 방법 중 하나를 사용하여 CodeDeploy 에이전트를 다운로드하고 설치할 수 있습니다.
+ 사용 AWS Systems Manager (권장)
+ 일련의 Windows PowerShell 명령 실행
+ 직접 다운로드 링크 선택
+ Amazon S3 복사 명령을 실행합니다.

**참고**  
CodeDeploy 에이전트가 설치된 폴더는 `C:\Program Data\Amazon\CodeDeploy`입니다. 이 경로에 디렉터리 교차점 또는 심볼릭 링크가 없는 것을 확인해야 합니다.

**Topics**
+ [Systems Manager 사용](#codedeploy-agent-operations-install-system-manager)
+ [Windows PowerShell 사용](#codedeploy-agent-operations-install-windows-powershell)
+ [직접 링크 사용](#codedeploy-agent-operations-install-windows-direct-link)
+ [Amazon S3 복사 명령 사용](#codedeploy-agent-operations-install-windows-s3-copy)

## Systems Manager 사용
<a name="codedeploy-agent-operations-install-system-manager"></a>

CodeDeploy 에이전트를 설치하려면 [를 사용하여 CodeDeploy 에이전트 설치 AWS Systems Manager](codedeploy-agent-operations-install-ssm.md)의 지침을 따릅니다.

## Windows PowerShell 사용
<a name="codedeploy-agent-operations-install-windows-powershell"></a>

인스턴스에 로그인하여 Windows PowerShell에서 다음 명령을 실행합니다.

1.  인터넷에서 다운로드한 모든 스크립트와 구성 파일에 신뢰할 수 있는 게시자의 서명이 있어야 합니다. 실행 정책을 변경하라는 메시지가 나타나면 "**Y**"를 입력합니다.

   ```
    Set-ExecutionPolicy RemoteSigned
   ```

1.  를 로드합니다 AWS Tools for Windows PowerShell.

   ```
   Import-Module AWSPowerShell
   ```

1.  CodeDeploy 에이전트 설치 파일이 다운로드될 디렉터리를 생성합니다.

   ```
   New-Item -Path "c:\temp" -ItemType "directory" -Force
   ```

1. `Set-AWSCredential` 및 `Initialize-AWSDefaultConfiguration` 명령을 사용하여 AWS 자격 증명을 구성합니다. 자세한 내용은 *AWS Tools for PowerShell 사용 설명서*의 [AWS 자격 증명 사용](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html)을 참조하세요.

1.  CodeDeploy 에이전트 설치 파일을 다운로드합니다.
**참고**  
AWS 는 CodeDeploy 에이전트의 최신 마이너 버전을 지원합니다. 현재 최신 마이너 버전은 1.7.x입니다.

   최신 버전의 CodeDeploy 에이전트를 설치하려면 다음을 수행합니다.
   + 

     ```
     powershell.exe -Command Read-S3Object -BucketName bucket-name -Key latest/codedeploy-agent.msi -File c:\temp\codedeploy-agent.msi
     ```

   특정 버전의 CodeDeploy 에이전트를 설치하려면
   + 

     ```
     powershell.exe -Command Read-S3Object -BucketName bucket-name -Key releases/codedeploy-agent-###.msi -File c:\temp\codedeploy-agent.msi
     ```

   *bucket-name*은 해당 리전의 CodeDeploy 리소스 키트 파일이 포함되어 있는 Amazon S3 버킷의 이름입니다. 예를 들어 미국 동부(오하이오) 리전의 경우 *bucket-name*을 `aws-codedeploy-us-east-2`로 바꿉니다. 버킷 이름 목록은 [리전별 리소스 키트 버킷 이름](resource-kit.md#resource-kit-bucket-names) 단원을 참조하세요.

1.  CodeDeploy 에이전트 설치 파일을 실행합니다.

   ```
   c:\temp\codedeploy-agent.msi /quiet /l c:\temp\host-agent-install-log.txt
   ```

서비스가 실행 중인지 확인하려면 다음 명령을 실행합니다.

```
powershell.exe -Command Get-Service -Name codedeployagent
```

 CodeDeploy 에이전트를 방금 설치했고 아직 시작하지 않은 경우 **Get-Service** 명령을 실행한 후 **상태**에 **Start...**이 표시되어야 합니다.

```
Status     Name                DisplayName
------     ----                -----------
Start...   codedeployagent    CodeDeploy Host Agent Service
```

CodeDeploy 에이전트가 이미 실행 중인 경우 **Get-Service** 명령을 실행한 후 **상태**에 **Running**이 표시되어야 합니다.

```
Status     Name                DisplayName
------     ----                -----------
Running    codedeployagent    CodeDeploy Host Agent Service
```

## 직접 링크 사용
<a name="codedeploy-agent-operations-install-windows-direct-link"></a>

Windows Server 인스턴스의 브라우저 보안 설정이 `https://s3.*.amazonaws.com` 등에 권한을 제공하는 경우, 리전의 직접 링크를 사용하여 CodeDeploy 에이전트를 다운로드한 후 설치 관리자를 수동으로 실행할 수 있습니다.

링크는 다음과 같습니다.

```
https://s3.region.amazonaws.com/aws-codedeploy-region/latest/codedeploy-agent.msi
```

여기서 *리전*은 애플리케이션을 배포하는 AWS 리전입니다.

예제:

```
https://s3.af-south-1.amazonaws.com/aws-codedeploy-af-south-1/latest/codedeploy-agent.msi
```

**중요**  
CodeDeploy 애플리케이션과 같은 리전에 있는 `.msi` 파일을 가져옵니다. 다른 리전을 선택하면 `.msi` 파일을 실행할 때 `codedeploy-agent-log` 파일에 `inconsistent region` 오류가 발생할 수 있습니다.

## Amazon S3 복사 명령 사용
<a name="codedeploy-agent-operations-install-windows-s3-copy"></a>

 AWS CLI 가 인스턴스에 설치된 경우 Amazon S3 [cp](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) 명령을 사용하여 CodeDeploy 에이전트를 다운로드한 다음 설치 관리자를 수동으로 실행할 수 있습니다. 자세한 내용은 [Microsoft Windows AWS Command Line Interface 에 설치를](https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-windows.html) 참조하세요.

Amazon S3 명령은 다음과 같습니다.

```
aws s3 cp s3://aws-codedeploy-region/latest/codedeploy-agent.msi codedeploy-agent.msi --region region
```

여기서 *리전*은 애플리케이션을 배포하는 AWS 리전입니다.

예제:

```
aws s3 cp s3://aws-codedeploy-af-south-1/latest/codedeploy-agent.msi codedeploy-agent.msi --region af-south-1
```

# CodeDeploy 에이전트 업데이트
<a name="codedeploy-agent-operations-update"></a>

 AWS Systems Manager를 사용하여 지원되는 모든 운영 체제에서 CodeDeploy 에이전트의 자동 예약 업데이트를 구성할 수 있습니다. 또한 에이전트에서 명령을 실행하여 지원되는 모든 운영 체제에 대한 업데이트를 강제로 수행할 수도 있습니다.

**Topics**
+ [Amazon Linux 또는 RHEL용 CodeDeploy 에이전트 업데이트](codedeploy-agent-operations-update-linux.md)
+ [Ubuntu Server에서 CodeDeploy 에이전트 업데이트](codedeploy-agent-operations-update-ubuntu.md)
+ [Windows Server에서 CodeDeploy 에이전트 업데이트](codedeploy-agent-operations-update-windows.md)

# Amazon Linux 또는 RHEL용 CodeDeploy 에이전트 업데이트
<a name="codedeploy-agent-operations-update-linux"></a>

를 사용하여 CodeDeploy 에이전트의 예약된 자동 업데이트를 구성하려면를 [사용하여 CodeDeploy 에이전트 설치의 AWS Systems Manager](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install-ssm.html) 단계를 AWS Systems Manager따릅니다.

CodeDeploy 에이전트 업데이트를 강제로 실행하려면 인스턴스에 로그인하여 다음 명령을 실행합니다.

```
sudo /opt/codedeploy-agent/bin/install auto
```

# Ubuntu Server에서 CodeDeploy 에이전트 업데이트
<a name="codedeploy-agent-operations-update-ubuntu"></a>

를 사용하여 CodeDeploy 에이전트의 예약된 자동 업데이트를 구성하려면를 [사용하여 CodeDeploy 에이전트 설치의 AWS Systems Manager](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install-ssm.html) 단계를 AWS Systems Manager따릅니다.

CodeDeploy 에이전트 업데이트를 강제로 실행하려면 인스턴스에 로그인하여 다음 명령을 실행합니다.

```
sudo /opt/codedeploy-agent/bin/install auto
```

# Windows Server에서 CodeDeploy 에이전트 업데이트
<a name="codedeploy-agent-operations-update-windows"></a>

를 사용하여 CodeDeploy 에이전트의 자동 업데이트를 활성화할 수 있습니다 AWS Systems Manager. Systems Manager에서 Systems Manager 상태 관리자와의 연결을 생성하여 Amazon EC2 또는 온프레미스 인스턴스에 업데이트 일정을 구성할 수 있습니다. 또한 현재 버전을 제거하고 최신 버전을 설치하여 CodeDeploy 에이전트를 수동으로 업데이트할 수도 있습니다.

**Topics**
+ [를 사용하여 자동 CodeDeploy 에이전트 업데이트 설정 AWS Systems Manager](#codedeploy-agent-operations-update-windows-ssm)
+ [CodeDeploy 에이전트 수동 업데이트](#codedeploy-agent-operations-update-windows-manual)
+ [(사용 중단됨) Windows Server 업데이트 프로그램으로 CodeDeploy 에이전트를 업데이트합니다.](#codedeploy-agent-operations-update-windows-updater)

## 를 사용하여 자동 CodeDeploy 에이전트 업데이트 설정 AWS Systems Manager
<a name="codedeploy-agent-operations-update-windows-ssm"></a>

Systems Manager를 구성하고 CodeDeploy 에이전트의 자동 업데이트를 활성화하려면를 [ 사용하여 CodeDeploy 에이전트 설치의 AWS Systems Manager](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install-ssm.html) 지침을 따릅니다.

## CodeDeploy 에이전트 수동 업데이트
<a name="codedeploy-agent-operations-update-windows-manual"></a>

CodeDeploy 에이전트를 수동으로 업데이트하려는 경우 CLI 또는 Systems Manager를 사용하여 최신 버전을 설치할 수 있습니다. [CodeDeploy 에이전트 설치](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html)의 지침을 따릅니다. [CodeDeploy 에이전트 설치 제거](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-uninstall.html) 지침에 따라 이전 버전의 CodeDeploy 에이전트를 제거하는 것이 좋습니다.

## (사용 중단됨) Windows Server 업데이트 프로그램으로 CodeDeploy 에이전트를 업데이트합니다.
<a name="codedeploy-agent-operations-update-windows-updater"></a>

**참고**  
Windows Server용 CodeDeploy 에이전트 업데이트 프로그램은 더 이상 사용되지 않으며 1.0.1.1597 이후 버전으로 업데이트하지 않습니다.

CodeDeploy 에이전트가 자동으로 업데이트되도록 하려면 새 인스턴스 또는 기존 인스턴스에 Windows Server용 CodeDeploy 에이전트 업데이트 프로그램을 설치합니다. 업데이트 프로그램은 새 버전이 있는지 정기적으로 검사합니다. 이미 설치되어 있는 경우 새 버전이 감지되면 최신 버전을 설치하기 전에 업데이트 프로그램이 에이전트의 현재 버전을 제거합니다.

업데이트 프로그램이 새 버전을 감지할 때 배포가 이미 진행 중인 경우 배포가 계속해서 완료됩니다. 업데이트 프로세스 중에 배포를 시작하려고 하면 배포가 실패합니다.

CodeDeploy 에이전트 업데이트를 강제로 실행하려는 경우 [Windows Server용 CodeDeploy 에이전트 설치](codedeploy-agent-operations-install-windows.md) 섹션의 지침에 따릅니다.

Windows Server 인스턴스에서 Windows PowerShell 명령을 실행하거나, 직접 다운로드 링크를 사용하거나, Amazon S3 복사 명령을 실행하여 CodeDeploy 에이전트 업데이트 프로그램을 다운로드하고 설치할 수 있습니다.

**Topics**
+ [Windows PowerShell 사용](#codedeploy-agent-operations-update-windows-powershell)
+ [직접 링크 사용](#codedeploy-agent-operations-update-windows-direct-link)
+ [Amazon S3 복사 명령 사용](#codedeploy-agent-operations-update-windows-s3-copy)

### Windows PowerShell 사용
<a name="codedeploy-agent-operations-update-windows-powershell"></a>

인스턴스에 로그인하여 Windows PowerShell에서 다음 명령을 한 번에 하나씩 실행합니다.

```
Set-ExecutionPolicy RemoteSigned
```

 실행 정책을 변경하라는 메시지가 나타나면 **Y**를 선택합니다. 이렇게 하려면 Windows PowerShell에는 인터넷에서 다운로드한 모든 스크립트와 구성 파일에 신뢰할 수 있는 게시자의 서명이 있어야 합니다.

```
Import-Module AWSPowerShell
```

```
New-Item -Path "c:\temp" -ItemType "directory" -Force
```

```
powershell.exe -Command Read-S3Object -BucketName bucket-name -Key latest/codedeploy-agent-updater.msi -File c:\temp\codedeploy-agent-updater.msi
```

```
c:\temp\codedeploy-agent-updater.msi /quiet /l c:\temp\host-agent-updater-log.txt
```

```
powershell.exe -Command Get-Service -Name codedeployagent
```

*bucket-name*은 해당 리전의 CodeDeploy 리소스 키트 파일이 포함되어 있는 Amazon S3 버킷의 이름입니다. 예를 들어 미국 동부(오하이오) 리전의 경우 *bucket-name*을 `aws-codedeploy-us-east-2`로 바꿉니다. 버킷 이름 목록은 [리전별 리소스 키트 버킷 이름](resource-kit.md#resource-kit-bucket-names) 단원을 참조하세요.

업데이트 프로세스 오류 문제를 해결해야 하는 경우 다음 명령을 입력하여 CodeDeploy 에이전트 업데이트 프로그램 로그 파일을 엽니다.

```
notepad C:\ProgramData\Amazon\CodeDeployUpdater\log\codedeploy-agent.updater.log
```

### 직접 링크 사용
<a name="codedeploy-agent-operations-update-windows-direct-link"></a>

Windows Server 인스턴스의 브라우저 보안 설정이 ` http://s3.*.amazonaws.com ` 등에 필요한 권한을 제공하는 경우, 직접 링크를 사용하여 CodeDeploy 에이전트 업데이트 프로그램을 다운로드할 수 있습니다.

링크는 다음과 같습니다.

```
https://s3.region.amazonaws.com/aws-codedeploy-region/latest/codedeploy-agent-updater.msi
```

여기서 *리전*은 애플리케이션을 업데이트하는 AWS 리전입니다.

예제:

```
https://s3.af-south-1.amazonaws.com/aws-codedeploy-af-south-1/latest/codedeploy-agent-updater.msi
```

### Amazon S3 복사 명령 사용
<a name="codedeploy-agent-operations-update-windows-s3-copy"></a>

 AWS CLI 가 인스턴스에 설치된 경우 Amazon S3 [cp](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) 명령을 사용하여 CodeDeploy 에이전트 업데이트 프로그램을 다운로드한 다음 설치 관리자를 수동으로 실행할 수 있습니다. 자세한 내용은 [Microsoft Windows AWS Command Line Interface 에 설치를](https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-windows.html) 참조하세요.

Amazon S3 명령은 다음과 같습니다.

```
aws s3 cp s3://aws-codedeploy-region/latest/codedeploy-agent-updater.msi codedeploy-agent-updater.msi --region region
```

여기서 *리전*은 애플리케이션을 업데이트하는 AWS 리전입니다.

예제:

```
aws s3 cp s3://aws-codedeploy-af-south-1/latest/codedeploy-agent-updater.msi codedeploy-agent-updater.msi --region af-south-1
```

# CodeDeploy 에이전트 설치 제거
<a name="codedeploy-agent-operations-uninstall"></a>

더 이상 필요가 없거나 새로 설치하려는 경우 인스턴스에서 CodeDeploy 에이전트를 제거할 수 있습니다.

## Amazon Linux 또는 RHEL용 CodeDeploy 에이전트 설치 제거
<a name="codedeploy-agent-operations-uninstall-linux"></a>

CodeDeploy 에이전트를 제거하려면 인스턴스에 로그인하여 다음 명령을 실행합니다.

```
sudo yum erase codedeploy-agent
```

## Ubuntu Server에 CodeDeploy 에이전트를 설치 제거하려면
<a name="codedeploy-agent-operations-uninstall-ubuntu"></a>

CodeDeploy 에이전트를 제거하려면 인스턴스에 로그인하여 다음 명령을 실행합니다.

```
sudo dpkg --purge codedeploy-agent
```

## Windows Server에서 CodeDeploy 에이전트를 설치 제거합니다.
<a name="codedeploy-agent-operations-uninstall-windows"></a>

CodeDeploy 에이전트를 제거하려면 인스턴스에 로그인하여 다음 3가지 명령을 한 번에 하나씩 실행합니다.

```
wmic
```

```
product where name="CodeDeploy Host Agent" call uninstall /nointeractive
```

```
exit
```

또한 인스턴스에 로그인하여 **제어판**에서 **프로그램 및 기능**을 열고 **CodeDeploy 호스트 에이전트**를 선택한 후 **제거**를 선택할 수도 있습니다.

# CloudWatch로 CodeDeploy 에이전트 로그 전송
<a name="codedeploy-agent-operations-cloudwatch-agent"></a>

[통합 CloudWatch 에이전트](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/UseCloudWatchUnifiedAgent.html), 줄여서 CloudWatch 에이전트를 사용하여 CodeDeploy 에이전트 지표 및 로그 데이터를 CloudWatch로 전송할 수 있습니다.

CodeDeploy 에이전트와 함께 사용할 CloudWatch 에이전트를 설치하고 구성하려면 다음 지침을 따르세요.

## 사전 조건
<a name="codedeploy-agent-operations-cloudwatch-prerequisites"></a>

시작하기 전에 다음 작업을 완료하세요.
+ CodeDeploy 에이전트를 설치하고 실행 중인지 확인합니다. 자세한 내용은 [CodeDeploy 에이전트 설치](codedeploy-agent-operations-install.md) 및 [CodeDeploy 에이전트가 실행 중인지 확인](codedeploy-agent-operations-verify.md) 섹션을 참조하세요.
+ CloudWatch 에이전트를 설치합니다. 자세한 내용은 [CloudWatch 에이전트 설치](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html)를 참조하세요.
+ CodeDeploy IAM 인스턴스 프로파일에 다음 권한을 추가합니다.
  + CloudWatchLogsFullAccess
  + CloudWatchAgentServerPolicy

  CodeDeploy 인스턴스 프로파일에 대한 자세한 정보는 [CodeDeploy 시작하기](getting-started-codedeploy.md)의 [4단계: Amazon EC2 인스턴스에 대한 IAM 인스턴스 프로파일 만들기](getting-started-create-iam-instance-profile.md) 섹션을 참조하세요.

## CodeDeploy 로그를 수집하도록 CloudWatch 에이전트 구성
<a name="codedeploy-agent-operations-cloudwatch-configure"></a>

마법사를 단계별로 진행하거나 구성 파일을 수동으로 생성 또는 편집하여 CloudWatch 에이전트를 구성할 수 있습니다.

**마법사를 사용하여 CloudWatch 에이전트 구성(Linux)**

1. [CloudWatch 에이전트 구성 마법사 실행](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html#cloudwatch-agent-running-wizard)에 설명된 대로 마법사를 실행합니다.

1. 마법사에서 “`Do you want to monitor any log files?`”라는 질문이 표시되면 **1**을 입력합니다.

1. 다음과 같이 CodeDeploy 에이전트 로그 파일을 지정합니다.

   1. `Log file path`에 CodeDeploy 로그 파일의 경로를 입력합니다(예: **/var/log/aws/codedeploy-agent/codedeploy-agent.log**).

   1. `Log group name`에 로그 그룹 이름을 입력합니다(예: **codedeploy-agent-log**).

   1. `Log stream name`에 로그 스트림 이름을 입력합니다(예: **\$1instance\$1id\$1-codedeploy-agent-log**).

1. “`Do you want to specify any additional log files?`”라는 질문이 표시되면 **1**을 입력합니다.

1. 다음과 같이 CodeDeploy 에이전트 배포 로그를 지정합니다.

   1. `Log file path`에 CodeDeploy 배포 로그 파일의 경로를 입력합니다(예: **/opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log**).

   1. `Log group name`에 로그 그룹 이름을 입력합니다(예: **codedeploy-agent-deployment-log**).

   1. `Log stream name`에 로그 스트림 이름을 입력합니다(예: **\$1instance\$1id\$1-codedeploy-agent-deployment-log**).

1. “`Do you want to specify any additional log files?`”라는 질문이 표시되면 **1**을 입력합니다.

1. 다음과 같이 CodeDeploy 에이전트 업데이트 도구 로그를 지정합니다.

   1. `Log file path`에 CodeDeploy 업데이트 도구 로그 파일의 경로를 입력합니다(예: **/tmp/codedeploy-agent.update.log**).

   1. `Log group name`에 로그 그룹 이름을 입력합니다(예: **codedeploy-agent-updater-log**).

   1. `Log stream name`에 로그 스트림 이름을 입력합니다(예: **\$1instance\$1id\$1-codedeploy-agent-updater-log**).

**마법사를 사용하여 CloudWatch 에이전트 구성(Windows)**

1. [CloudWatch 에이전트 구성 마법사 실행](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html#cloudwatch-agent-running-wizard)에 설명된 대로 마법사를 실행합니다.

1. 마법사에서 “`Do you want to monitor any customized log files?`”라는 질문이 표시되면 **1**을 입력합니다.

1. 다음과 같이 CodeDeploy 로그 파일을 지정합니다.

   1. `Log file path`에 CodeDeploy 에이전트 로그 파일의 경로를 입력합니다(예: **C:\$1ProgramData\$1Amazon\$1CodeDeploy\$1log\$1codedeploy-agent-log.txt**).

   1. `Log group name`에 로그 그룹 이름을 입력합니다(예: **codedeploy-agent-log**).

   1. `Log stream name`에 로그 스트림 이름을 입력합니다(예: **\$1instance\$1id\$1-codedeploy-agent-log**).

1. “`Do you want to specify any additional log files?`”라는 질문이 표시되면 **1**을 입력합니다.

1. 다음과 같이 CodeDeploy 에이전트 배포 로그를 지정합니다.

   1. `Log file path`에 CodeDeploy 배포 로그 파일의 경로를 입력합니다(예: **C:\$1ProgramData\$1Amazon\$1CodeDeploy\$1deployment-logs\$1codedeploy-agent-deployments.log**).

   1. `Log group name`에 로그 그룹 이름을 입력합니다(예: **codedeploy-agent-deployment-log**).

   1. `Log stream name`에 로그 스트림 이름을 입력합니다(예: **\$1instance\$1id\$1-codedeploy-agent-deployment-log**).

**구성 파일을 수동으로 생성 또는 편집하여 CloudWatch 에이전트 구성(Linux)**

1. [수동으로 CloudWatch 에이전트 구성 파일 생성 또는 편집](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html)에 설명된 대로 CloudWatch 에이전트 구성 파일을 생성 또는 편집합니다.

1. 파일 이름이 `/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json`이고 다음 코드를 포함해야 합니다.

   ```
   ...
   "logs": {
       "logs_collected": {
           "files": {
               "collect_list": [
                   {
                       "file_path": "/var/log/aws/codedeploy-agent/codedeploy-agent.log",
                       "log_group_name": "codedeploy-agent-log",
                       "log_stream_name": "{instance_id}-agent-log"
                   },
                   {
                       "file_path": "/opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log",
                       "log_group_name": "codedeploy-agent-deployment-log",
                       "log_stream_name": "{instance_id}-codedeploy-agent-deployment-log"
                   },
                   {
                       "file_path": "/tmp/codedeploy-agent.update.log",
                       "log_group_name": "codedeploy-agent-updater-log",
                       "log_stream_name": "{instance_id}-codedeploy-agent-updater-log"
                   }
               ]
           }
       }
   }
   ...
   ```

**구성 파일을 수동으로 생성 또는 편집하여 CloudWatch 에이전트 구성(Windows)**

1. [수동으로 CloudWatch 에이전트 구성 파일 생성 또는 편집](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html)에 설명된 대로 CloudWatch 에이전트 구성 파일을 생성 또는 편집합니다.

1. 파일 이름이 `C:\ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json`이고 다음 코드를 포함해야 합니다.

   ```
   ...
   "logs": {
           "logs_collected": {
               "files": {
                   "collect_list": [
                       {
                           "file_path": "C:\\ProgramData\\Amazon\\CodeDeploy\\log\\codedeploy-agent-log.txt",
                           "log_group_name": "codedeploy-agent-log",
                           "log_stream_name": "{instance_id}-codedeploy-agent-log"
                       },
                       {
                           "file_path": "C:\\ProgramData\\Amazon\\CodeDeploy\\deployment-logs\\codedeploy-agent-deployments.log",
                           "log_group_name": "codedeploy-agent-deployment-log",
                           "log_stream_name": "{instance_id}-codedeploy-agent-deployment-log"
                       }
                   ]
               },
               ...
           }
       },
   ...
   ```

## CloudWatch 에이전트 재시작
<a name="codedeploy-agent-operations-cloudwatch-restart"></a>

변경한 후 [CloudWatch 에이전트 시작](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance-fleet.html#start-CloudWatch-Agent-EC2-fleet)에 설명된 대로 CloudWatch 에이전트를 다시 시작합니다.