CodeDeploy 상담원과 함께 일하기 - AWS CodeDeploy

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

CodeDeploy 상담원과 함께 일하기

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

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

참고

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

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

버전 설치, 업데이트 및 확인 단계와 같은 CodeDeploy 에이전트 사용에 대한 자세한 내용은 을 참조하십시오 CodeDeploy 에이전트 운영 관리.

에이전트가 CodeDeploy 지원하는 운영 체제

지원되는 Amazon EC2 AMI 운영 체제

CodeDeploy 에이전트는 다음 Amazon EC2 AMI 운영 체제에서 테스트되었습니다.

  • Amazon Linux 2023(ARM, x86)

  • Amazon Linux 2(ARM, x86)

  • Microsoft Windows Server 2022, 2019

  • 레드햇 엔터프라이즈 리눅스 (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 운영 체제에서도 사용할 수 있습니다. 자세한 내용은 의 CodeDeploy 에이전트 리포지토리를 참조하십시오 GitHub.

지원되는 온프레미스 운영 체제

CodeDeploy 에이전트는 다음 온-프레미스 운영 체제에서 테스트되었습니다.

  • Microsoft Windows Server 2022, 2019

  • 레드햇 엔터프라이즈 리눅스 (RHEL) 9.x, 8.x, 7.x

  • 우분투 서버 22.04 LTS, 20.04 LTS

CodeDeploy 에이전트는 필요에 맞게 조정할 수 있도록 오픈 소스로 제공됩니다. 다른 온프레미스 운영 체제에서도 사용할 수 있습니다. 자세한 내용은 의 CodeDeploy 에이전트 리포지토리를 참조하십시오 GitHub.

CodeDeploy 에이전트의 통신 프로토콜 및 포트

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

CodeDeploy 에이전트가 EC2 인스턴스에서 실행되면 EC2 메타데이터 엔드포인트를 사용하여 인스턴스 관련 정보를 검색합니다. 인스턴스 메타데이터 서비스 액세스 제한 및 부여에 대해 자세히 알아보세요.

에이전트의 버전 기록 CodeDeploy

인스턴스에서 지원되는 버전의 CodeDeploy 에이전트를 실행해야 합니다. 현재 최소 지원 버전은 1.7.x입니다.

참고

최신 버전의 에이전트를 사용하는 것이 좋습니다. CodeDeploy 문제가 있는 경우 AWS Support에 문의하기 전에 최신 버전으로 업데이트하세요. 업그레이드 정보는 CodeDeploy 에이전트를 업데이트하십시오. 섹션을 참조하세요.

다음 표에는 CodeDeploy 에이전트의 모든 릴리스와 각 버전에 포함된 기능 및 개선 사항이 나열되어 있습니다.

버전 릴리스 날짜 Details

1.7.0

2024년 3월 6일

추가: CodeDeploy 에이전트 :disable_imds_v1: 구성 파일에 구성 설정. 이 설정을 사용하면 IMDSv2 오류 발생 시 IMDSv1으로의 폴백을 비활성화할 수 있습니다. 기본값은 (폴백 활성화) 입니다. false 자세한 내용은 CodeDeploy 에이전트 구성 참조를 참조하십시오.

추가됨: 레드햇 엔터프라이즈 리눅스 9 (RHEL 9) 운영 체제 지원.

추가됨: 우분투 서버에서 루비 버전 3.1 및 3.2를 지원합니다.

수정됨: 이제 CodeDeploy 에이전트 구성 파일이 로드되지 않을 경우 CodeDeploy 에이전트에서 사용자에게 친숙한 오류가 발생합니다.

변경: Windows용 에이전트에서 Ruby를 2.7.8-1로 업그레이드했습니다. CodeDeploy

1.6.0

2023년 3월 30일

추가됨: Ruby 3.1, 3.2에 대한 지원.

추가됨: Amazon Linux 2023에 대한 지원.

추가됨: Windows Server 2022에 대한 지원.

변경됨: 이제 Windows Server 인스턴스의 기본 verbose 설정이 false입니다. Windows에서 로그 파일의 디버그 메시지를 계속 출력하려면 verbosetrue로 설정해야 합니다.

제거됨: 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를 지원하는 마지막 릴리스입니다.

제거됨: 우분투 14.04 LTS, 윈도우 서버 2008 R2 및 윈도우 서버 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(해당 파일 또는 디렉터리가 없음)” 오류가 발생함을 참조하세요.

해결됨: 디스크가 가득 찼을 때 압축 해제 작업 문제 CodeDeploy 에이전트는 이제 디스크가 꽉 찼음을 나타내는 압축 해제 종료 코드 50을 감지하고 부분적으로 추출된 파일을 제거하고 예외를 발생시켜 오류를 서버에 게시합니다. CodeDeploy 오류 메시지는 수명 주기 이벤트 오류 메시지로 표시되며 호스트 수준 배포는 중단되거나 제한 시간이 초과되지 않고 중지됩니다.

해결됨: 에이전트에 오류를 일으키는 문제.

해결됨: 엣지 사례 경합 상태에서 후크 시간 초과가 발생하는 문제. 스크립트가 없는 후크는 이제 계속 유지되며 더 이상 실패나 시간 초과를 일으키지 않습니다.

변경됨: CodeDeploy 에이전트의 bin 디렉터리에 있는 update 스크립트가 더 이상 사용되지 않아 제거되었습니다.

변경됨: Windows Server용 CodeDeploy 에이전트는 이제 Ruby 2.7을 번들로 제공합니다.

변경됨: 배포 번들 소스 (Amazon S3 또는 GitHub) 에 따라 후크 스크립트에서 사용할 새 환경 변수가 추가되었습니다.

자세한 정보는 후크의 환경 변수 가용성을 참조하세요.

중요

지원 중단 알림: CodeDeploy 에이전트 1.4.0은 32비트 Windows Server용 설치 프로그램이 포함된 마지막 릴리스입니다.

지원 중단 알림: CodeDeploy 에이전트 1.4.0은 Windows Server 2008 R2를 지원하는 마지막 릴리스입니다.

제거됨: 아마존 리눅스 2014.09, 2016.03, 2016.09, 2017.03과 같은 아마존 EC2 AMI에서 CodeDeploy 에이전트에 대한 지원이 제거되었습니다.

1.3.2

2021년 5월 6일

중요

CodeDeploy 에이전트 1.3.2는 에이전트를 실행하는 Windows 호스트에 영향을 미치는 CVE-2018-1000201 주소를 다룹니다. CVE는 에이전트의 종속 항목인 ruby-ffi를 인용합니다. CodeDeploy 에이전트가 Amazon EC2 Systems Manager(SSM)와 함께 설치되었고 자동으로 업데이트되도록 설정된 경우 별도의 작업이 필요하지 않습니다. 그렇지 않으면 에이전트를 수동으로 업데이트하는 작업이 필요합니다. 에이전트를 업그레이드하려면 Windows Server에서 에이전트 업데이트의 지침을 따르십시오. CodeDeploy

수정됨: Ubuntu 20.04 이상에서 CodeDeploy 에이전트를 설치할 때 문제가 발생했습니다.

수정됨: 상대 경로가 올바르게 처리되지 않았기 때문에 압축된 파일을 추출할 때 간헐적으로 발생하는 문제.

추가됨: Windows 인스턴스의 AWS PrivateLink 및 VPC 엔드포인트 지원.

추가됨: 아래 AppSpec 설명과 같이 파일이 개선되었습니다.

  • 이제 로컬 배포를 생성할 때 AppSpec 파일에 사용자 지정 파일 이름을 지정할 수 있습니다. 자세한 정보는 로컬 배포 생성을 참조하세요.

  • 이제 AppSpec 파일에 파일 확장자가 .yaml 있을 수 있습니다.

  • 이제 파일의 새로운 선택적 file_exists_behavior 설정을 사용하여 배포된 파일을 덮어쓸 수 있습니다. AppSpec 자세한 정보는 AppSpec '파일' 섹션 (EC2/온프레미스 배포만 해당)을 참조하세요.

업그레이드: CodeDeploy 이제 Ruby AWS 3.0용 SDK를 사용합니다.

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이 end-of-life 출시되었으며 Ubuntu 또는 에서는 더 이상 지원되지 않습니다. CodeDeploy

추가됨: Linux와 Ubuntu의 메모리 효율성이 향상되어 예약된 메모리를 보다 적시에 릴리스합니다.

추가됨: 때로 에이전트가 응답하지 않는 문제의 원인이었던 Windows Server “자동 정리”와의 호환성.

추가됨: 정리 중에 비어 있지 않은 디렉터리를 무시하여 배포 실패를 방지합니다.

추가: 로스앤젤레스 (LA) AWS 로컬 존 지원.

추가됨: 인스턴스 메타데이터에서 AZ를 추출하여 AWS Local Zones와 호환성을 제공합니다.

추가됨: 이제 사용자는 하위 디렉터리에 아카이브를 제공할 수 있으며 루트 디렉터리에 저장할 필요가 없습니다.

추가됨: 메모리 누수의 원인이 될 수 있는 Rubyzip의 문제를 감지했습니다. Rubyzip을 사용하기 전에 먼저 시스템에 설치된 압축 해제 유틸리티를 사용하도록 압축 해제 명령을 업데이트했습니다.

추가됨: 에이전트 구성 설정으로서의 :enable_auth_policy:.

변경됨: 이제 압축 해제 경고가 무시되므로 배포가 계속됩니다.

1.1.0

2020년 6월 30일

변경됨: CodeDeploy 에이전트의 버전 관리는 이제 Ruby 표준 버전 관리 규칙을 따릅니다.

추가됨: 명령줄에서 특정 에이전트 버전을 설치할 수 있도록 설치 및 업데이트 명령에 새로운 파라미터가 도입되었습니다.

제거됨: Linux 및 CodeDeploy Ubuntu용 에이전트 자동 업데이터를 제거했습니다. 에이전트의 자동 업데이트를 구성하려면 를 사용하여 CodeDeploy 에이전트 설치를 참조하십시오. CodeDeploy AWS Systems Manager

1.0.1.1597

2018년 11월 15일

개선: Ubuntu CodeDeploy 18.04를 지원합니다.

개선: 루비 2.5를 지원합니다. CodeDeploy

개선: FIPS 엔드포인트를 CodeDeploy 지원합니다. FIPS 엔드포인트에 대한 자세한 내용은 FIPS 140-2 개요를 참조하세요. 함께 사용할 수 있는 엔드포인트는 리전 CodeBuild 및 엔드포인트를 참조하십시오CodeDeploy.

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일

참고: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다.

기능: 에이전트가 설치된 로컬 컴퓨터 또는 인스턴스에서 EC2/온프레미스 배포를 테스트하고 디버깅하기 위한 새로운 기능을 도입했습니다. CodeDeploy

1.0.1.1106

2017년 5월 16일

참고: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다.

기능: 최근에 성공한 배포의 애플리케이션 개정의 일부가 아닌 대상 위치에서 콘텐츠를 처리하기 위한 새로운 지원이 도입되었습니다. 기존 콘텐트에 대한 배포 옵션에 이제 콘텐츠 유지, 콘텐츠 덮어쓰기 또는 배포 실패가 포함됩니다.

개선: CodeDeploy 에이전트가 버전 2.9.2 (2.9.2) 와 호환되도록 만들었습니다. AWS SDK for Ruby aws-sdk-core

1.0.1.1095

2017년 3월 29일

참고: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다.

개선: 중국 (베이징) 지역의 CodeDeploy 에이전트에 대한 지원을 도입했습니다.

기능 향상: 수명 주기 이벤트 후크에서 호출한 경우 Windows Server 인스턴스에서 실행되도록 Puppet이 활성화되었습니다.

기능 향상: untar 작업의 처리가 개선되었습니다.

1.0.1.1067 2017년 1월 6일

참고: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다.

기능 향상: 배포 실패에 대한 보다 구체적인 원인을 포함하도록 많은 수의 오류 메시지가 수정되었습니다.

개선: 일부 배포 중에 CodeDeploy 에이전트가 배포할 올바른 응용 프로그램 수정 버전을 식별하지 못하던 문제를 수정했습니다.

기능 향상: untar 작업 전/후 pushdpopd 사용을 되돌립니다.

1.0.1.1045 2016년 11월 21일

참고: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다.

개선: CodeDeploy 에이전트가 2.6.11 (2.6.11) 의 버전 2.6.11과 호환되도록 만들었습니다. AWS SDK for Ruby aws-sdk-core

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 및 우분투 서버 인스턴스용 CodeDeploy 에이전트가 다음과 같이 변경되어 업데이트되었습니다. Windows Server 인스턴스의 경우 최신 버전은 1.0.1.998로 유지됩니다.

기능: systemd init 시스템이 사용 중인 운영 체제에서 bash 셸을 사용하여 CodeDeploy 에이전트를 호출할 수 있도록 지원이 추가되었습니다.

개선: 에이전트와 에이전트 업데이터에서 모든 버전의 Ruby 2.x에 대한 지원을 활성화했습니다. CodeDeploy CodeDeploy 업데이트된 CodeDeploy 에이전트는 더 이상 Ruby 2.0에만 의존하지 않습니다. (에이전트 설치 프로그램의 deb 및 rpm 버전에는 여전히 Ruby 2.0이 필요합니다.) CodeDeploy
1.0.1.998 2016년 7월 11일

참고: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다.

개선: root가 아닌 사용자 프로필로 CodeDeploy 에이전트를 실행할 수 있는 지원이 수정되었습니다. 환경 변수와의 충돌을 방지하기 위해 USER 변수가 CODEDEPLOY_USER로 대체되었습니다.

1.0.1.966 2016년 6월 16일

참고: 이 버전은 더 이상 지원되지 않습니다. 이 버전을 사용한다면 배포에 실패할 수 있습니다.

기능: root가 아닌 사용자 프로필로 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를 사용한 CodeDeploy 에이전트 로그 모니터링에 대한 지원이 추가되었습니다.

관련 정보는 다음 자료를 참조하세요.

CodeDeploy 에이전트 버전 기록은 의 릴리스 리포지토리를 참조하십시오. GitHub

CodeDeploy 프로세스 관리

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

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

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

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

애플리케이션 수정 버전 및 로그 파일 정리

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

응용 프로그램 수정 버전 배포 로그: 에이전트 구성 파일의:max_revisions: 옵션을 사용하면 양의 정수를 입력하여 보관할 응용 프로그램 수정 개수를 지정할 수 있습니다. CodeDeploy 또한 해당 수정 버전의 로그 파일을 보관합니다. 최근에 성공한 배포에 대한 로그 파일을 제외한 그 외 모든 항목은 삭제됩니다. 실패한 배포 수가 보유 개정 수를 초과하더라도 로그 파일은 항상 보존됩니다. 값을 지정하지 않은 경우 현재 배포된 수정 버전 외에 가장 최근의 수정 버전 CodeDeploy 5개까지 보존합니다.

CodeDeploy 로그: Amazon Linux, 우분투 서버 및 RHEL 인스턴스의 경우 CodeDeploy 에이전트는 폴더 아래의 로그 파일을 순환시킵니다. /var/log/aws/codedeploy-agent 로그 파일은 매일 00:00:00(인스턴스 시간)에 교체됩니다. 7일 후에는 로그 파일이 삭제됩니다. 교체된 로그 파일의 이름 지정 패턴은 codedeploy-agent.YYYYMMDD.log입니다.

에이전트가 설치한 파일 CodeDeploy

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

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

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

CodeDeploy 에이전트 구성 파일의 root_dir 설정을 사용하여 디렉터리 이름과 위치를 구성할 수 있습니다. 자세한 정보는 CodeDeploy 에이전트 구성 참조을 참조하세요.

다음은 루트 디렉터리의 파일과 디렉터리 구조를 보여주는 예시입니다. 이 구조는 배포 그룹 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명령을 사용하여 배포 그룹 ID를 찾을 수 있습니다.

  • Deployment ID 폴더는 배포 그룹 내 개별 배포를 대표합니다. 각 배포 디렉터리의 이름은 배포 디렉터리의 ID입니다. 각 폴더는 다음을 포함합니다.

    • bundle.tar는 배포 개정 내용을 담고 있는 압축 파일입니다. 개정을 보려면 zip 압축 해제 유틸리티를 사용합니다.

    • deployment-archive는 배포 개정 내용을 담고 있는 디렉터리입니다.

    • logsscripts.log 파일을 포함하는 디렉터리입니다. 이 파일은 배포 파일에 지정된 모든 스크립트의 출력을 나열합니다. AppSpec

    배포할 폴더를 찾고 싶지만 배포 ID 또는 배포 그룹 ID를 모르는 경우 AWS CodeDeploy 콘솔 또는 를 사용하여 폴더를 찾을 수 있습니다. AWS CLI 자세한 정보는 CodeDeploy 배포 세부 정보 보기 을 참조하세요.

    배포 그룹에 아카이브할 수 있는 기본 최대 배포 수는 5개입니다. 5개 아카이브 후 다른 배포를 아카이브하면 가장 오래된 아카이브가 삭제됩니다. CodeDeploy 에이전트 구성 파일의 max_revisions 설정을 사용하여 기본값을 변경할 수 있습니다. 자세한 정보는 CodeDeploy 에이전트 구성 참조을 참조하세요.

    참고

    아카이브된 배포가 사용하는 하드 디스크 공간을 복구하고 싶다면, 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 에이전트는 기존 콘텐츠를 삭제하면서 계속 기록합니다.