

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

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