

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

# 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 エンドポイントのバグ修正。 **追加**: 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 日  |  **追加**: Red Hat Enterprise Linux 8 に対応しました。 **追加**: Windows 用の CodeDeploy エージェントでの長いファイルパスに対応しました。長いファイルパスを有効にするには、適切な Windows レジストリキーを設定し、エージェントを再起動する必要があります。詳細については、「[ファイルパスが長いと、「そのようなファイルまたはディレクトリはありません」というエラーが発生します](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 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)」の手順に従います。   **修正**: CodeDeploy エージェントを Ubuntu 20.04 以降にインストールする際の問題。 **修正**: 圧縮ファイルを抽出する際に、相対パスが正しく処理されていないために発生する断続的な問題。 **追加**: 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/ja_jp/codedeploy/latest/userguide/codedeploy-agent.html) **アップグレード**: CodeDeploy が、Ruby 3.0 用の AWS 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 依存関係をアップグレードしました。 **追加**: IMDSv2 に対応しました。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 ローカルゾーンのサポート。 **追加**: インスタンスメタデータから AZ を抽出して、 AWS ローカルゾーンの互換性を提供します。 **追加**: ユーザーはサブディレクトリにアーカイブを提供できるようになり、ルートディレクトリに保存する必要はありません。 **追加**: Rubyzip でメモリリークが発生する可能性のある問題を検出しました。Rubyzip を使用する前に、まずシステムにインストールされている unzip ユーティリティの使用を試みるように、unzip コマンドを更新しました。 **追加**: エージェント構成設定としての `:enable_auth_policy:`。 **変更**: Unzip の警告が無視されるようになり、デプロイが継続されるようになりました。  | 
|  1.1.0  |  2020 年 6 月 30 日  |  **変更**: CodeDeploy エージェントのバージョニングが Ruby の標準のバージョニング規約に従うようになりました。 **追加**: コマンドラインから特定のエージェントバージョンをインストールできる、インストールおよび更新コマンドの新しいパラメータ。 **削除**: 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 を対応しました。 **機能強化**: 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 日  |  **注**: このバージョンは現在サポートされていません。このバージョンを使用すると、デプロイに失敗することがあります。 **機能強化**: より多くの信頼された機関をサポートするため、証明書の検証を改善しました。 **機能強化**: ローカル CLI が BeforeInstall ライフサイクルイベントを含むデプロイに失敗していた問題を修正しました。 **機能強化**: CodeDeploy エージェントの更新された時に、アクティブなデプロイが失敗する可能性がある問題を修正しました。  | 
|  1.0.1.1352  |  2017 年 11 月 16 日  |  **注**: このバージョンは現在サポートされていません。このバージョンを使用すると、デプロイに失敗することがあります。 **機能導入**: CodeDeploy エージェントがインストールされているローカルマシンまたはインスタンスで、EC2/オンプレミスのデプロイをテストおよびデバッグする新機能が導入されました。  | 
|  1.0.1.1106  |  2017 年 5 月 16 日  |  **注**: このバージョンは現在サポートされていません。このバージョンを使用すると、デプロイに失敗することがあります。 **特徴**: 前回の成功したデプロイのアプリケーションリビジョンの一部ではない、デプロイ先のコンテンツを処理する新しいサポートを導入しました。既存のコンテンツのデプロイオプションとして、コンテンツの保持、コンテンツの上書き、またはデプロイの失敗が追加されました。 **機能強化**: CodeDeploy エージェントをバージョン 2.9.2 AWS SDK for Ruby (aws-sdk-core 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 エージェントをバージョン 2.6.11 AWS SDK for Ruby (aws-sdk-core 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 のみに依存しなくなりました (CodeDeploy エージェントインストーラの deb および rpm バージョンでは、Ruby 2.0 が引き続き必要です)。 | 
| 1.0.1.998 | 2016 年 7 月 11 日 |  **注**: このバージョンは現在サポートされていません。このバージョンを使用すると、デプロイに失敗することがあります。 **機能強化**: CodeDeploy エージェントを *ルート* 以外のユーザープロファイルで実行する場合のサポートを修正しました。環境変数の競合を回避するため、`USER` いう名前の変数は `CODEDEPLOY_USER` で置き換えられました。  | 
| 1.0.1.966 | 2016 年 6 月 16 日 |  **注**: このバージョンは現在サポートされていません。このバージョンを使用すると、デプロイに失敗することがあります。 **機能導入**: CodeDeploy エージェントを *ルート* 以外のユーザープロファイルで実行する場合のサポートを導入しました。 **機能強化**: デプロイグループに対して CodeDeploy エージェントでアーカイブするアプリケーションリビジョン数を指定するサポートを修正しました。 **機能強化**: CodeDeploy エージェントを バージョン 2.3 AWS SDK for Ruby (aws-sdk-core 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 エージェントを バージョン 2.2 AWS SDK for Ruby (aws-sdk-core 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>

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\$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`)。各デプロイグループのディレクトリには、そのデプロイグループで試みた各デプロイのサブディレクトリ 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\$1revisions** 設定を使用すればデフォルトを変更できます。詳細については、「[CodeDeploy エージェント設定リファレンス](reference-agent-configuration.md)」を参照してください。
**注記**  
 アーカイブしたデプロイが使用したハードディスク容量を復元するには、**max\$1revisions** 設定を 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]\$1last\$1successfull\$1install** は、最後に成功したデプロイのアーカイブディレクトリを示すテキストファイルです。これは CodeDeploy エージェントがデプロイアプリケーションのファイルすべてをインスタンスにコピーした時に作成されたファイルです。次回のデプロイで、`ApplicationStop` スクリプトと `BeforeInstall` スクリプトのどちらを実行するか決定するために CodeDeploy エージェントを使用します。サンプルファイルの名前は `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 が付いています。たとえば、"`[d-ABCDEF123]LifecycleEvent - BeforeInstall`" はデプロイ中に `d-ABCDEF123` の ID を使用して書き込みを実行します。`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)
+ [CodeDeploy エージェントログを CloudWatch に送信する](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 サーバーの CodeDeploy エージェントが実行されていることを確認します。](#codedeploy-agent-operations-verify-ubuntu)
+ [Windows サーバーの 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`」のようなメッセージが表示される場合は、サービスを起動し、次の 2 つのコマンドを一度に 1 つずつ実行します。

```
systemctl start codedeploy-agent
```

```
systemctl status codedeploy-agent
```

## Ubuntu サーバーの CodeDeploy エージェントが実行されていることを確認します。
<a name="codedeploy-agent-operations-verify-ubuntu"></a>

CodeDeploy エージェントがインストールされていて実行していることを確認するには、インスタンスにサインインし、次のコマンドを実行します。

```
systemctl status codedeploy-agent
```

コマンドがエラーを返す場合、CodeDeploy エージェントはインストールされていません。「[Ubuntu サーバー用の CodeDeploy エージェントをインストールする](codedeploy-agent-operations-install-ubuntu.md)」で説明されているようにインストールします。

CodeDeploy エージェントがインストールされて実行されている場合は、「`The AWS CodeDeploy agent is running`」のようなメッセージが表示されます。

「`error: No AWS CodeDeploy agent running`」のようなメッセージが表示される場合は、サービスを起動し、次の 2 つのコマンドを一度に 1 つずつ実行します。

```
systemctl start codedeploy-agent
```

```
systemctl status codedeploy-agent
```

## Windows サーバーの 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 サーバー用の 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 エージェントのバージョンは、2 つの方法で特定できます。

最初に、バージョン 1.0.1.854 以降の CodeDeploy エージェントでは、インスタンスの `.version` ファイルでバージョン番号を確認できます。次の表に、サポートされるオペレーティングシステムごとの場所とサンプルのバージョン文字列を示します。


| オペレーティングシステム | ファイルの場所 | サンプルの agent\$1version 文字列 | 
| --- | --- | --- | 
| Amazon Linux および Red Hat Enterprise Linux（RHEL）  | /opt/codedeploy-agent/.version | OFFICIAL\$11.0.1.854\$1rpm | 
| Ubuntu Server | /opt/codedeploy-agent/.version | OFFICIAL\$11.0.1.854\$1deb | 
| Windows サーバー | C:\$1ProgramData\$1Amazon\$1CodeDeploy\$1.version | OFFICIAL\$11.0.1.854\$1msi | 

2 番目に、インスタンスでコマンドを実行して、CodeDeploy エージェントのバージョンを確認できます。

**Topics**
+ [Amazon Linux または RHEL でバージョンを確認する](#codedeploy-agent-operations-version-linux)
+ [Ubuntu サーバーでバージョンを確認する](#codedeploy-agent-operations-version-ubuntu)
+ [Windows サーバーでバージョンをを確認する](#codedeploy-agent-operations-version-windows)

## Amazon Linux または RHEL でバージョンを確認する
<a name="codedeploy-agent-operations-version-linux"></a>

インスタンスにサインインし、次のコマンドを実行します。

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

## Ubuntu サーバーでバージョンを確認する
<a name="codedeploy-agent-operations-version-ubuntu"></a>

インスタンスにサインインし、次のコマンドを実行します。

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

## Windows サーバーでバージョンをを確認する
<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 マネジメントコンソール または を使用して AWS CLI 、CodeDeploy エージェントを Amazon EC2 またはオンプレミスインスタンスにインストールできます AWS Systems Manager。特定のバージョンをインストールするか、常に最新バージョンのエージェントをインストールするかを選択できます。の詳細については AWS Systems Manager、[「 とは AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)」を参照してください。

 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 ユーザーガイド](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html) の *ハイブリッド環境での Systems Manager のセットアップ* を参照してください。

## CodeDeploy エージェントをインストールする
<a name="download-codedeploy-agent-on-EC2-Instance"></a>

Systems Manager を使用して CodeDeploy エージェントをインストールする前に、Systems Manager に合わせてインスタンスが適切に設定されていることを確認する必要があります。

### SSM Agent のインストールまたは更新
<a name="update-SSM-Agent-EC2instance"></a>

Amazon EC2 インスタンスでは、CodeDeploy エージェントを使用するにはバージョン 2.3.274.0 以降のインスタンスが実行されている必要があります。CodeDeploy エージェントをインストールする前に、SSM Agent を更新するか、インスタンスにインストールしてください (まだの場合)。

SSM エージェントは、 が提供する一部の Amazon EC2 AMIs にプリインストールされています AWS。詳細については、「[SSM Agent がプリインストールされた Amazon Machine Images (AMIs)](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 Agent のインストールまたは更新については、[AWS Systems Manager ユーザーガイド](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-agent.html) の *Linux インスタンスでの SSM Agent のインストールおよび設定* を参照してください。

Windows Server を実行しているインスタンスでの SSM Agent のインストールまたは更新については、[AWS Systems Manager ユーザーガイド](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-win.html) の *Windows インスタンスでの SSM Agent のインストールおよび設定* を参照してください。

### (オプション) Systems Manager の前提条件を確認します。
<a name="install-codedeploy-agent-minimum-requirements"></a>

Systems Manager Run Command を使用して CodeDeploy エージェントをインストールする前に、インスタンスが Systems Manager の最低要件を満たしていることを確認してください。詳細については、[AWS Systems Managerユーザーガイド](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html) の「*AWS Systems Manager のセットアップ*」を参照してください。

### 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 サーバー用の CodeDeploy エージェントをインストールする](codedeploy-agent-operations-install-ubuntu.md)
+ [Windows サーバー用の CodeDeploy エージェントです。](codedeploy-agent-operations-install-windows.md)

# Amazon Linux または RHEL 用の CodeDeploy エージェントをインストールする
<a name="codedeploy-agent-operations-install-linux"></a>

インスタンスにサインインし、次のコマンドを一度に 1 つずつ実行します。コマンド `sudo yum update` を最初に実行するのが、`yum` を使用してパッケージをインストールするときのベストプラクティスと考えられていますが、すべてのパッケージを更新しない場合はこのコマンドをスキップできます。

```
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 バケットの名前です。*リージョン識別子* は、お住まいの地域の識別子です。

例えば、次のようになります。

`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` 」のようなメッセージが表示される場合は、サービスを起動し、次の 2 つのコマンドを一度に 1 つずつ実行します。

```
systemctl start codedeploy-agent
```

```
systemctl status codedeploy-agent
```

# Ubuntu サーバー用の CodeDeploy エージェントをインストールする
<a name="codedeploy-agent-operations-install-ubuntu"></a>

**注記**  
エージェントのスケジュールされた更新を設定 AWS Systems Manager できるように、 で CodeDeploy エージェントをインストールすることをお勧めします。詳細については、「[を使用して CodeDeploy エージェントをインストールする AWS Systems Manager](codedeploy-agent-operations-install-ssm.md)」を参照してください。

**CodeDeploy エージェントを Ubuntu サーバーにインストールするには**

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 バケットの名前です。*リージョン識別子* は、お住まいの地域の識別子です。

   例えば、次のようになります。

   `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. 次のいずれかを行います。
   + CodeDeploy エージェントの最新バージョンをサポートされている 20.04 *以外*の Ubuntu にインストールするには:

     ```
     sudo ./install auto
     ```
   + CodeDeploy エージェントの最新バージョンを Ubuntu Server 20.04 にインストールするには:
**注記**  
出力を一時ログファイルに書き込むことで、Ubuntu Server 20.04 の `install` スクリプトにある既知のバグを回避できます。このバグは現在修正中です。

     ```
     sudo ./install auto > /tmp/logfile
     ```
   + CodeDeploy エージェントの特定のバージョンをサポートされている 20.04 *以外*の Ubuntu Server にインストールするには:
     + リージョンで使用可能なバージョンを一覧表示します。

       ```
       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 です。
   + CodeDeploy エージェントの特定のバージョンを Ubuntu Server 20.04 にインストールするには:
     + リージョンで使用可能なバージョンを一覧表示します。

       ```
       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` 」のようなメッセージが表示される場合は、サービスを起動し、次の 2 つのコマンドを一度に 1 つずつ実行します。

   ```
   systemctl start codedeploy-agent
   ```

   ```
   systemctl status codedeploy-agent
   ```

# Windows サーバー用の CodeDeploy エージェントです。
<a name="codedeploy-agent-operations-install-windows"></a>

Windows サーバーのインスタンスでは、次のいずれかの方法を使用して、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 エージェントをインストールする AWS Systems Manager](codedeploy-agent-operations-install-ssm.md)」の手順に従って CodeDeploy エージェントをインストールします。

## 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 ユーザーガイドにある](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html)「*AWS 認証情報の使用*」を参照してください。

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

   *バケット名* は、リージョンの CodeDeploy リソースキットファイルが含まれている Amazon S3 バケットの名前です。例えば、米国東部 (オハイオ) リージョンの場合、*バケット名* を `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 サーバーのインスタンスのブラウザのセキュリティ設定でアクセス権限 (例えば、`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 サーバーで CodeDeploy エージェントを更新する](codedeploy-agent-operations-update-ubuntu.md)
+ [Windows サーバーで 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 サーバーで 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 サーバーで CodeDeploy エージェントを更新する
<a name="codedeploy-agent-operations-update-windows"></a>

を使用して CodeDeploy エージェントの自動更新を有効にできます AWS Systems Manager。Systems Manager では、Systems Manager State Manager との関連付けを作成して、Amazon EC2 またはオンプレミスインスタンスの更新スケジュールを設定できます。現在のバージョンをアンインストールして新しいバージョンをインストールすることで、CodeDeploy エージェントを手動で更新することもできます。

**Topics**
+ [を使用して CodeDeploy エージェントの自動更新を設定する AWS Systems Manager](#codedeploy-agent-operations-update-windows-ssm)
+ [CodeDeploy エージェントを手動で更新する](#codedeploy-agent-operations-update-windows-manual)
+ [(非推奨) Windows サーバーアップデータを使用して 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 サーバーアップデータを使用して CodeDeploy エージェントを更新する
<a name="codedeploy-agent-operations-update-windows-updater"></a>

**注記**  
Windows サーバー用の CodeDeploy エージェントアップデータは非推奨となり、1.0.1.1597 より後のバージョンには更新されなくりました。

CodeDeploy エージェントの自動更新を有効にするには、新しいインスタンスまたは既存のインスタンスに Windows サーバー用の CodeDeploy エージェントアップデーターをインストールします。アップデータは新しいバージョンを定期的に確認します。新しいバージョンが検出された場合、アップデータは、最新バージョンをインストールする前に、インストールされている場合はエージェントの現在のバージョンをアンインストールします。

アップデータが新しいバージョンが検出したときにデプロイが既に進行中の場合、デプロイは完了するまで続行されます。更新プロセス中にデプロイの開始が試みられた場合、デプロイは失敗します。

CodeDeploy エージェントの更新を強制する場合は、「[Windows サーバー用の CodeDeploy エージェントです。](codedeploy-agent-operations-install-windows.md)」の手順に従います。

Windows サーバーのインスタンスでは、CodeDeploy エージェントアップデーターをダウンロードしてインストールできます。これを行うには、一連の Windows PowerShell コマンドを実行するか、直接ダウンロードリンクを使用するか、または Amazon S3 コピーコマンドを実行します。

**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 で、一度に 1 つずつ次のコマンドを実行します。

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

*バケット名* は、リージョンの CodeDeploy リソースキットファイルが含まれている Amazon S3 バケットの名前です。例えば、米国東部 (オハイオ) リージョンの場合、*バケット名* を `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 サーバーのインスタンスのブラウザのセキュリティ設定で必要なアクセス許可 (例えば、` 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 サーバーから CodeDeploy エージェントをアンインストールする
<a name="codedeploy-agent-operations-uninstall-windows"></a>

CodeDeploy エージェントをアンインストールするには、インスタンスにサインインし、次の 3 つのコマンドを 1 つずつ実行します。

```
wmic
```

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

```
exit
```

または、インスタンスにサインインし、[ **Control Panel (コントロールパネル)** ] で [ **Programs and Features (プログラムと機能)** ] を開き、[ **CodeDeploy Host Agent (CodeDeploy ホストエージェント)** ] を選択してから [ **Uninstall (アンインストール)** ] を選択します。

# CodeDeploy エージェントログを CloudWatch に送信する
<a name="codedeploy-agent-operations-cloudwatch-agent"></a>

CodeDeploy エージェントのメトリクスとログデータを CloudWatch に送信するには、[統合した CloudWatch エージェント](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/UseCloudWatchUnifiedAgent.html)、またはより簡単に CloudWatch エージェントを使用します。

以下の手順に従って CloudWatch エージェントをインストールし、CodeDeploy エージェントで使用するように設定します。

## 前提条件
<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 エージェントを再起動します。