

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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>

CodeDeploy エージェントは、以下の 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 サポートに連絡する前に最新バージョンに更新してください。アップグレード情報については、「[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 日 | **追加**: Red Hat Enterprise Linux 8 に対応しました。<br />**追加**: Windows 用の CodeDeploy エージェントでの長いファイルパスに対応しました。長いファイルパスを有効にするには、適切な Windows レジストリキーを設定し、エージェントを再起動する必要があります。詳細については、「[ファイルパスが長いと、「そのようなファイルまたはディレクトリはありません」というエラーが発生します](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 Linux 2014.09、2016.03、2016.09、2017.03 の Amazon EC2 AMI での CodeDeploy エージェントに対応しました。  | 
| 1.3.2 | 2021 年 5 月 6 日 |  CodeDeploy エージェント 1.3.2 は、エージェントを実行している Windows ホストに影響を与える [CVE-2018-1000201](https://nvd.nist.gov/vuln/detail/CVE-2018-1000201) に対応しています。CVEは、CodeDeploy エージェントの依存関係である ruby-ffi を挙げています。エージェントが Amazon EC2 Systems Manager (SSM) とともにインストールされ、自動的に更新するように設定されている場合、アクションは必要ありません。それ以外の場合は、エージェントを手動で更新するためのアクションが必要になります。エージェントをアップグレードするには、「[Windows サーバーで CodeDeploy エージェントを更新する](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-update-windows.html)」の手順に従います。 <br />**修正**: CodeDeploy エージェントを Ubuntu 20.04 以降にインストールする際の問題。<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/ja_jp/codedeploy/latest/userguide/codedeploy-agent.html)<br />**アップグレード**: CodeDeploy が、Ruby 3.0 用の AWS SDK を使用するようになりました。 | 
| 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 />**追加**: IMDSv2 に対応しました。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 ローカルゾーンのサポート。<br />**追加**: インスタンスメタデータから AZ を抽出して、 AWS ローカルゾーンの互換性を提供します。<br />**追加**: ユーザーはサブディレクトリにアーカイブを提供できるようになり、ルートディレクトリに保存する必要はありません。<br />**追加**: Rubyzip でメモリリークが発生する可能性のある問題を検出しました。Rubyzip を使用する前に、まずシステムにインストールされている unzip ユーティリティの使用を試みるように、unzip コマンドを更新しました。<br />**追加**: エージェント構成設定としての `:enable_auth_policy:`。<br />**変更**: Unzip の警告が無視されるようになり、デプロイが継続されるようになりました。 | 
| 1.1.0 | 2020 年 6 月 30 日 | **変更**: CodeDeploy エージェントのバージョニングが Ruby の標準のバージョニング規約に従うようになりました。<br />**追加**: コマンドラインから特定のエージェントバージョンをインストールできる、インストールおよび更新コマンドの新しいパラメータ。<br />**削除**: Linux および Ubuntu 用の CodeDeploy エージェント Auto Update を削除しました。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 />**機能強化**: ローカル CLI が BeforeInstall ライフサイクルイベントを含むデプロイに失敗していた問題を修正しました。<br />**機能強化**: CodeDeploy エージェントの更新された時に、アクティブなデプロイが失敗する可能性がある問題を修正しました。 | 
| 1.0.1.1352 | 2017 年 11 月 16 日 | **注**: このバージョンは現在サポートされていません。このバージョンを使用すると、デプロイに失敗することがあります。<br />**機能導入**: CodeDeploy エージェントがインストールされているローカルマシンまたはインスタンスで、EC2/オンプレミスのデプロイをテストおよびデバッグする新機能が導入されました。 | 
| 1.0.1.1106 | 2017 年 5 月 16 日 | **注**: このバージョンは現在サポートされていません。このバージョンを使用すると、デプロイに失敗することがあります。<br />**特徴**: 前回の成功したデプロイのアプリケーションリビジョンの一部ではない、デプロイ先のコンテンツを処理する新しいサポートを導入しました。既存のコンテンツのデプロイオプションとして、コンテンツの保持、コンテンツの上書き、またはデプロイの失敗が追加されました。<br />**機能強化**: CodeDeploy エージェントを バージョン 2.9.2 AWS SDK for Ruby (aws-sdk-core 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 エージェントをバージョン 2.6.11 AWS SDK for Ruby (aws-sdk-core 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 のみに依存しなくなりました (CodeDeploy エージェントインストーラの deb および rpm バージョンでは、Ruby 2.0 が引き続き必要です)。 | 
| 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 エージェントを バージョン 2.3 AWS SDK for Ruby (aws-sdk-core 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 エージェントを バージョン 2.2 AWS SDK for Ruby (aws-sdk-core 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>

CodeDeploy エージェントのすべての Linux ディストリビューション (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`)。各デプロイグループのディレクトリには、そのデプロイグループで試みた各デプロイのサブディレクトリ 1 つが含まれています。

   [batch-get-deployments](https://docs.aws.amazon.com/cli/latest/reference/deploy/batch-get-deployments.html) コマンドを使用してデプロイグループ ID を検索できます。
+  **デプロイ 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 件です。最大数に達すると、その後のデプロイがアーカイブされ、一番古いアーカイブは削除されます。CodeDeploy エージェントの設定ファイルで **max\_revisions** 設定を使用すればデフォルトを変更できます。詳細については、「[CodeDeploy エージェント設定リファレンス](reference-agent-configuration.md)」を参照してください。
**注記**  
 アーカイブしたデプロイが使用したハードディスク容量を復元するには、**max\_revisions** 設定を 1 や 2 といった低い数値に変更してください。次のデプロイがアーカイブ済みのデプロイを削除するので、指定した数値と同じになります。
+  **deployment-instructions** には各デプロイグループのテキストファイル 4 件が含まれています。
  + **[Deployment Group ID]-cleanup** はデプロイ中に実行される各コマンドの undo バージョンを使うテキストファイルです。サンプルファイルの名前は `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 エージェントがデプロイアプリケーションのファイルすべてをインスタンスにコピーした時に作成されたファイルです。次回のデプロイで、`ApplicationStop` スクリプトと `BeforeInstall` スクリプトのどちらを実行するか決定するために CodeDeploy エージェントを使用します。サンプルファイルの名前は `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 が付いています。たとえば、"`[d-ABCDEF123]LifecycleEvent - BeforeInstall`" はデプロイ中に `d-ABCDEF123` の ID を使用して書き込みを実行します。`codedeploy-agent-deployments.log` が最大サイズに達した場合、CodeDeploy エージェントは古いコンテンツを削除しながら引き続き書き込みを実行します。