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 EC2AMIオペレーティングシステムでテストされています。

  • 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.04LTS、20.04LTS、18.04LTS、16.04 LTS

CodeDeploy エージェントは、ニーズに適応するためのオープンソースとして利用できます。他の Amazon EC2AMIオペレーティングシステムで使用できます。詳細については、 のCodeDeploy エージェントリポジトリを参照してください GitHub。

サポートされているオンプレミスオペレーションシステム

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 エージェントは、ニーズに適応するためのオープンソースとして利用できます。他のオンプレミスインスタンスオペレーティングシステムで使用できます。詳細については、 のCodeDeploy エージェントリポジトリを参照してください GitHub。

CodeDeploy エージェントの通信プロトコルとポート

CodeDeploy エージェントは、ポート 443 HTTPS経由でアウトバウンド通信を行います。

CodeDeploy エージェントがEC2インスタンスで実行されると、EC2メタデータエンドポイントを使用してインスタンス関連情報を取得します。詳細については、「インスタンスメタデータサービスの制限」を参照してください。

エージェントのバージョン履歴 CodeDeploy

インスタンスは、サポートされているバージョンの CodeDeploy エージェントを実行している必要があります。現在サポートされている最小バージョンは 1.7.x です。

注記

エージェントの最新バージョンを使用することをお勧めします CodeDeploy 。問題が発生した場合は、 AWS サポートに連絡する前に最新バージョンに更新してください。アップグレード情報については、「 CodeDeploy エージェントを更新する」を参照してください。

次の表に、 CodeDeploy エージェントのすべてのリリースと、各バージョンに含まれる機能と機能強化を示します。

バージョン リリース日 詳細

1.7.0

2024 年 3 月 6 日

を追加: CodeDeploy エージェント:disable_imds_v1:設定ファイルに設定を追加しました。この設定を使用して、IMDSv2エラーが発生したIMDSv1ときに へのフォールバックを無効にします。デフォルトは です false (フォールバックを有効にします)。詳細については、CodeDeploy 「 エージェント設定リファレンス」を参照してください。

を追加: 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 で引き続きデバッグメッセージをログファイルに出力するには、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 をサポートする最後のリリースです。

削除: Ubuntu 14.04LTS、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 レジストリキーを設定し、エージェントを再起動する必要があります。詳細については、「ファイルパスが長いと、「そのようなファイルまたはディレクトリはありません」というエラーが発生します」を参照してください。

修正: ディスクがいっぱいになったときの解凍オペレーションに関する問題を修正しました。 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 をサポートする最後のリリースです。

を削除: Amazon EC2 AMIsLinux 2014.09、2016.03、2016.09、2017.03 での CodeDeploy エージェントのサポート。

1.3.2

2021 年 5 月 6 日

重要

CodeDeploy エージェント 1.3.2 は、エージェントを実行している Windows ホストに影響する CVE-2018-1000201 をアドレス指定します。は、 CodeDeploy エージェントの依存関係である ruby-ffi をCVE引用します。エージェントが Amazon EC2 Systems Manager (SSM) でインストールされ、自動的に更新されるように設定されている場合、アクションは必要ありません。それ以外の場合は、エージェントを手動で更新するためのアクションが必要になります。エージェントをアップグレードするには、「Windows Server で CodeDeploy エージェントを更新する」の手順に従います。

を修正しました: Ubuntu 20.04 以降に CodeDeploy エージェントをインストールする際の問題。

修正: 圧縮ファイルを抽出する際に、相対パスが正しく処理されていないために発生する断続的な問題。

を追加: Windows インスタンスの AWS PrivateLink および VPCエンドポイントのサポート。

以下に説明するように、: AppSpec file の改善を追加しました。

  • ローカルデプロイを作成するときに、 AppSpec ファイルのカスタムファイル名を指定できるようになりました。詳細については、「ローカルのデプロイを作成する。」を参照してください。

  • AppSpec ファイルに.yamlファイル拡張子を付けることができるようになりました。

  • ファイル内の AppSpec新しいオプションfile_exists_behavior設定を使用して、デプロイされたファイルを上書きできるようになりました。詳細については、「AppSpec 'files' セクション (EC2/オンプレミスデプロイのみ)」を参照してください。

アップグレードされた : 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。http IMDSv2 リクエストが失敗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 ローカルゾーンとの互換性を提供します。

追加: ユーザーはサブディレクトリにアーカイブを提供できるようになり、ルートディレクトリに保存する必要はありません。

追加: Rubyzip でメモリリークが発生する可能性のある問題を検出しました。Rubyzip を使用する前に、まずシステムにインストールされている unzip ユーティリティの使用を試みるように、unzip コマンドを更新しました。

追加: エージェント構成設定としての :enable_auth_policy:

変更: Unzip の警告が無視されるようになり、デプロイが継続されるようになりました。

1.1.0

2020 年 6 月 30 日

エージェントのバージョニングが CodeDeploy Ruby 標準バージョニング規則に従うようになりました。

追加: コマンドラインから特定のエージェントバージョンをインストールできる、インストールおよび更新コマンドの新しいパラメータ。

削除済み: Linux および Ubuntu 用の CodeDeploy エージェント Auto Updater を削除しました。 CodeDeploy エージェントの自動更新を設定するには、「 を使用して CodeDeploy エージェントをインストールする AWS Systems Manager」を参照してください。

1.0.1.1597

2018 年 11 月 15 日

拡張機能 : Ubuntu 18.04 CodeDeploy をサポートします。

拡張機能:Ruby 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 日

: このバージョンは現在サポートされていません。このバージョンを使用すると、デプロイに失敗することがあります。

機能 : 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 オペレーションの前後の pushdpopd の使用を元に戻しました。

1.0.1.1045 2016 年 11 月 21 日

: このバージョンは現在サポートされていません。このバージョンを使用すると、デプロイに失敗することがあります。

機能強化: CodeDeploy エージェントを AWS SDK for Ruby (aws-sdk-core 2.6.11) のバージョン 2.6.11 と互換性を持たせました。

1.0.1.1037 2016 年 10 月 19 日

: このバージョンは現在サポートされていません。このバージョンを使用すると、デプロイに失敗することがあります。

Amazon Linux、、および Ubuntu Server インスタンスの CodeDeploy エージェントはRHEL、次の変更で更新されました。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、、および Ubuntu Server インスタンスの CodeDeploy エージェントはRHEL、以下の変更で更新されました。Windows Server インスタンスの場合、最新バージョンは 1.0.1.998 のままです。

機能 : systemd init システムが使用されているオペレーティングシステムで bash シェルを使用して CodeDeploy エージェントを呼び出すためのサポートが追加されました。

拡張機能 : CodeDeploy エージェントと CodeDeploy エージェントアップデーターのすべてのバージョンの Ruby 2.x のサポートを有効にしました。更新された CodeDeploy エージェントは Ruby 2.0 にのみ依存しなくなりました。(Ruby 2.0 は、 CodeDeploy エージェントインストーラの deb バージョンと rpm バージョンでも必要です)。
1.0.1.998 2016 年 7 月 11 日

: このバージョンは現在サポートされていません。このバージョンを使用すると、デプロイに失敗することがあります。

拡張: ルート 以外のユーザープロファイルで CodeDeploy エージェントを実行するためのサポートを修正しました。環境変数の競合を回避するため、USER いう名前の変数は CODEDEPLOY_USER で置き換えられました。

1.0.1.966 2016 年 6 月 16 日

: このバージョンは現在サポートされていません。このバージョンを使用すると、デプロイに失敗することがあります。

機能 : ルート 以外のユーザープロファイルで CodeDeploy エージェントを実行するためのサポートが導入されました。

拡張: エージェントがデプロイグループにアーカイブするアプリケーションリビジョンの数を指定するサポートを修正しました CodeDeploy。

機能強化: CodeDeploy エージェントを AWS SDK for Ruby (2.3) のバージョン 2.3 と互換性を持たせaws-sdk-core ました。

拡張機能 : デプロイ中の 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 (2.2) のバージョン aws-sdk-core 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 ユーティリティを使用することをお勧めします。

例えば、 serviceユーティリティで同等のコマンドsudo systemctl restart codedeploy-agentではなく、 CodeDeploy エージェントの使用を再開します。

アプリケーションリビジョンとログファイルのクリーンアップ

CodeDeploy エージェントは、インスタンスのリビジョンとログファイルをアーカイブします。 CodeDeploy エージェントはこれらのアーティファクトをクリーンアップして、ディスクスペースを節約します。

アプリケーションリビジョンデプロイログ : エージェント設定ファイルの :max_revisions: オプションを使用して、正の整数を入力してアーカイブするアプリケーションリビジョンの数を指定できます。 は、これらのリビジョンのログファイル CodeDeploy もアーカイブします。その他すべては、最後に成功したデプロイのログファイルを除いて削除されます。失敗したデプロイの数が、保持されているバージョンの数を超えた場合でも、そのログファイルは常に保持されます。値を指定しない場合、 は、現在デプロイされているリビジョンに加えて、最新の 5 つのリビジョン CodeDeploy を保持します。

CodeDeploy ログ : Amazon Linux、Ubuntu Server、RHELインスタンスの場合、 CodeDeploy エージェントは /var/log/aws/codedeploy-agentフォルダの下にログファイルをローテーションします。ログファイルは、毎日 00:00:00 (インスタンス時間) にローテーションされます。ログファイルは 7 日を経過した時点で削除されます。ローテーションされたログファイルの名前付けパターンは codedeploy-agent.YYYYMMDD.log です。

CodeDeploy エージェントによってインストールされたファイル

CodeDeploy エージェントは、リビジョン、デプロイ履歴、デプロイスクリプトをインスタンスのルートディレクトリに保存します。このディレクトリのデフォルトの名前と場所:

'/opt/codedeploy-agent/deployment-root' Amazon Linux、Ubuntu Server、RHELインスタンス用。

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)。各デプロイグループのディレクトリには、そのデプロイグループで試みた各デプロイのサブディレクトリ 1 つが含まれています。

    batch-get-deployments コマンドを使用して、デプロイグループ ID を検索できます。

  • デプロイ ID フォルダはデプロイグループの各デプロイを示します。各デプロイディレクトリの名前はその ID です。各フォルダには以下が含まれています。

    • bundle.tar はデプロイのリビジョンのコンテンツを含む圧縮ファイルです。リビジョンを表示する場合は、zip 圧縮解除ユーティリティを使用してください。

    • deployment-archive はデプロイのリビジョンのコンテンツを含むディレクトリです。

    • logsscripts.log ファイルを含むディレクトリです。このファイルには、デプロイの AppSpec ファイルで指定されたすべてのスクリプトの出力が一覧表示されます。

    デプロイのフォルダを見つけたいが、デプロイ ID またはデプロイグループ ID がわからない場合は、AWS CodeDeploy コンソールまたは AWS CLI を使用して見つけることができます。詳細については、「 CodeDeploy デプロイの詳細を表示する 」を参照してください。

    デプロイグループでアーカイブできるデプロイのデフォルト最大数は 5 件です。最大数に達すると、その後のデプロイがアーカイブされ、一番古いアーカイブは削除されます。 CodeDeploy エージェント設定ファイルの max_revisions 設定を使用して、デフォルトを変更できます。詳細については、「CodeDeploy エージェント設定リファレンス」を参照してください。

    注記

    アーカイブしたデプロイが使用したハードディスク容量を復元するには、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 エージェントは古いコンテンツを削除しながら書き込みを続けます。