を使用した作業 CodeDeploy エージェント - AWS CodeDeploy

を使用した作業 CodeDeploy エージェント

は、 CodeDeploy エージェントは、インスタンスにインストールおよび構成すると、そのインスタンスを CodeDeploy 展開。バージョン 1.0.1.1458 以降を使用する必要があります。それ以前のバージョンを使用している場合、インスタンスへのデプロイが失敗する可能性があります。

注記

エージェントは、CodeDeploy にデプロイする場合にのみ必要です。EC2/オンプレミス compute platform. エージェントは、 Amazon ECS または AWS Lambda compute platform.

エージェントがインストールされている場合、設定ファイルはインスタンスに配置されます。このファイルは、エージェントの動作を指定するために使用されます。この設定ファイルは、インスタンスとやり取りするときに使用する AWS CodeDeploy のディレクトリパスおよびその他の設定を指定します。ファイルの一部の設定オプションは変更できます。 エージェント設定ファイルの使用の詳細については、「CodeDeploy」を参照してください。CodeDeploy エージェント構成リファレンス.

エージェントの使用の詳細 (インストール、更新、バージョン検証の各ステップなど) については、「CodeDeploy」を参照してください。管理 CodeDeploy エージェント操作.

がサポートするオペレーティング・システム CodeDeploy エージェント

サポート対象 Amazon EC2 AMIオペレーティングシステム

は、 CodeDeploy 麻酔ガスが次の条件でテストされました Amazon EC2 AMIオペレーティングシステム:

  • Amazon Linux 2018.03.x、2017.03.x、2016.09.x、2016.03.x、2014.09.x

  • Amazon Linux 2 (ARM、x86)

  • Ubuntu Server 20.04 LTS、19.10、18.04 LTS、16.04 LTS、および14.04 LTS

  • Microsoft Windows Server 2019、2016、2012 R2、および 2008 R2

  • Red Hat Enterprise Linux (RHEL) 7.x

は、 CodeDeploy エージェントは、お客様のニーズに合わせてオープンソースとしてご利用いただけます。他の Amazon EC2 AMI オペレーティングシステムで使用できます。詳細については、 CodeDeploy エージェント GitHubのリポジトリです。

サポート対象のオンプレミスオペレーティングシステム

は、 CodeDeploy エージェントは、以下のオンプレミスオペレーティングシステムでテストされています。

  • Ubuntu Server 20.04 LTS、19.10、18.04 LTS、16.04 LTS、および14.04 LTS

  • Microsoft Windows Server 2019、2016、2012 R2、および 2008 R2

  • Red Hat Enterprise Linux (RHEL) 7.x

は、 CodeDeploy エージェントは、お客様のニーズに合わせてオープンソースとしてご利用いただけます。他のオンプレミスインスタンスオペレーティングシステムで使用できます。詳細については、 CodeDeploy エージェント GitHubのリポジトリです。

の通信プロトコルおよびポート CodeDeploy エージェント

は、 CodeDeploy エージェントはポート443を介してHTTPSを使用してアウトバウンドと通信します。

が CodeDeploy エージェントはEC2インスタンス上で実行され、 EC2メタデータ インスタンス関連情報を取得するエンドポイント。詳細はこちら インスタンス メタデータ サービス アクセスの制限と許可.

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

インスタンスが CodeDeploy エージェントのサポートされているバージョンを実行している必要があります。現在サポートされている最小バージョンは です。1.0.1.1458. それ以前のバージョンを実行している場合、インスタンスへのデプロイが失敗する可能性があります。

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

Version リリース日 詳細

1.1.2

2020年8月4日

「」を追加: のサポート Ubuntu Server 19.10および20.04。

「」を追加: Linux と Ubuntu のメモリ効率の改善により、予約メモリをよりタイムリーにリリースできるようになりました。

「」を追加: との互換性 Windows Server 「サイレントクリーンアップ」により、薬剤が反応しなくなった例があった。

「」を追加: 展開時に障害が発生しないように、クリーンアップ中に空でないディレクトリを無視します。

「」を追加: のサポート AWS ロサンゼルス(LA)のローカルゾーン

「」を追加: インスタンス メタデータから AZ を抽出し、 AWS ローカルゾーン。

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

「」を追加: Rubyzipでメモリリークを引き起こす可能性のある問題が検出されました。Rubyzipを使用する前に、最初にシステムインストールのunzipユーティリティを使用するようにunzipコマンドを更新。

「」を追加: :deploy_control_endpoint::s3_endpoint_override:、および :enable_auth_policy: 設定可能な変数として

: 展開を続行するため、解凍警告は無視されます。

1.1.0

2020 年 6 月 30 日

: のバージョン管理 CodeDeploy エージェントは現在、Rubyの標準バージョン規則に従っています。

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

削除済み: 削除済み CodeDeploy エージェントの Auto Updater for Linux および Ubuntu。の自動更新を設定するには CodeDeploy エージェント、を参照 のインストール CodeDeploy エージェントの使用 AWS Systems Manager.

1.0.1.1597

2018 年 11 月 15 日

エンハンスメント: CodeDeploy Ubuntu 18.04をサポートします。

エンハンスメント: CodeDeploy はRuby 2.5をサポートしています。

エンハンスメント: CodeDeploy は、FIPSエンドポイントをサポートしています。FIPSエンドポイントの詳細については、以下を参照してください。 FIPS 140-2の概要. 使用できるエンドポイントの場合 CodeBuild、を参照 CodeDeploy 領域とエンドポイント.

1.0.1.1518

2018 年 6 月 12 日

機能拡張: エラーの原因となった問題が修正されました。 CodeDeploy エージェントは、ポーリング要求の受け入れ中に閉じられます。

機能拡張: 展開追跡機能を追加しました。 CodeDeploy エージェントは、デプロイが進行中のときに閉じられることから解放されます。

機能拡張: ファイル削除時のパフォーマンスの向上。

1.0.1.1458

2018 年 3 月 6 日

重要

CodeDeploy エージェントでサポートされている最小バージョンは 1.0.1.1458 です。以前のバージョンの CodeDeploy エージェントを使用すると、デプロイが失敗することがあります。

機能拡張: 証明書の検証を改善し、より信頼できる機関をサポート。

機能拡張: インストール前のライフサイクル イベントを含む展開中にローカル CLI に障害が発生する問題を修正しました。

機能拡張: アクティブなデプロイが失敗する原因となった問題が修正されました。 CodeDeploy エージェントが更新されました。

1.0.1.1352

2017 年 11 月 16 日

注意: このバージョンはサポートされなくなりました。このバージョンを使用すると、デプロイに失敗することがあります。

機能: をテストおよびデバッグするための新機能を導入しました。 EC2/オンプレミス ローカル マシンまたはインスタンスにデプロイされます。 CodeDeploy エージェントがインストールされています。

1.0.1.1106

2017 年 5 月 16 日

注意: このバージョンはサポートされなくなりました。このバージョンを使用すると、デプロイに失敗することがあります。

機能: 直近の正常な導入からのアプリケーションリビジョンの一部ではない、ターゲットロケーションでのコンテンツ処理のための新しいサポートを導入。既存のコンテンツのデプロイオプションとして、コンテンツの保持、コンテンツの上書き、またはデプロイの失敗が追加されました。

機能拡張: は、 CodeDeploy エージェントは、 AWS SDK for Ruby (aws-sdk-core 2.9.2)。

1.0.1.1095

2017 年 3 月 29 日

注意: このバージョンはサポートされなくなりました。このバージョンを使用すると、デプロイに失敗することがあります。

機能拡張: 支援導入 CodeDeploy のエージェント 中国 (北京) リージョン.

機能拡張: Puppet の実行を有効化 Windows Server ライフサイクルイベントフックによって呼び出された場合のインスタンス。

機能拡張: 対応改善 untar 操作。

1.0.1.1067 2017 年 1 月 6 日

注意: このバージョンはサポートされなくなりました。このバージョンを使用すると、デプロイに失敗することがあります。

機能拡張: 多数のエラーメッセージを改訂し、展開失敗のより具体的な原因を含めた。

機能拡張: 問題を修正し、 CodeDeploy エージェントは、一部の導入時に導入する正しいアプリケーションリビジョンの特定から解放されます。

機能拡張: の使用を元に戻しました pushd および popd 使用前と使用後 untar 操作。

1.0.1.1045 2016 年 11 月 21 日

注意: このバージョンはサポートされなくなりました。このバージョンを使用すると、デプロイに失敗することがあります。

機能拡張: は、 CodeDeploy エージェントは、 AWS SDK for Ruby (aws-sdk-core 2.6.11)。

1.0.1.1037 2016 年 10 月 19 日

注意: このバージョンはサポートされなくなりました。このバージョンを使用すると、デプロイに失敗することがあります。

は、 CodeDeploy のエージェント Amazon Linux、 RHEL、および Ubuntu Server インスタンスが以下の変更で更新されました。対象: 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 日

注意: このバージョンはサポートされなくなりました。このバージョンを使用すると、デプロイに失敗することがあります。

は、 CodeDeploy のエージェント Amazon Linux、 RHEL、および Ubuntu Server インスタンスが以下の変更で更新されました。対象: Windows Server 最新バージョンは1.0.1.998のままです。

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

機能拡張: のRuby 2.xのすべてのバージョンをサポート CodeDeploy エージェントおよび CodeDeploy エージェント更新プログラム。更新された CodeDeploy エージェントは、Ruby 2.0 のみに依存しなくなりました (deb および rpm バージョンの CodeDeploy エージェントインストーラでは、Ruby 2.0 が引き続き必要です)。
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 (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 エージェントは、 AWS SDK for Ruby (aws-sdk-core 2.2)。バージョン 2.1.2 は引き続きサポートされます。

1.0.1.854 2015 年 11 月 17 日

注意: このバージョンはサポートされなくなりました。このバージョンを使用すると、デプロイに失敗することがあります。

機能: SHA-256ハッシュアルゴリズムのサポートを導入。

機能: のバージョン追跡サポートの導入 .version ファイル。

機能: 環境変数を使用して、展開グループ ID を使用できるようになりました。

機能拡張: 監視のサポートを追加 CodeDeploy エージェント ログの使用 Amazon CloudWatch Logs.

関連情報については、以下を参照してください。

の沿革 CodeDeploy エージェントのバージョンについては、 GitHubのリリースリポジトリ.

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

は、 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 エージェント

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

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

'C:\ProgramData\Amazon\CodeDeploy' 用 Windows Server インスタンス。

以下を使用できます。 ルート_ディレクトリ 設定、 CodeDeploy ディレクトリの名前と場所を構成するエージェント構成ファイル。詳細については、「」を参照してください。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
  • 配布グループ ID フォルダは、各展開グループを表します。デプロイグループのディレクトリ名は、その ID です (例: acde1916-9099-7caf-fd21-012345abcdef). 各デプロイグループのディレクトリには、そのデプロイグループで試みた各デプロイのサブディレクトリ 1 つが含まれています。

    以下を使用できます。 batch-get-deployments コマンドで、配布グループ ID を検索します。

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

    • バンドル.tarは、配布のリビジョンの内容を含む圧縮ファイルです。リビジョンを表示する場合は、zip 圧縮解除ユーティリティを使用してください。

    • 展開-アーカイブ配置のリビジョンの内容を含むディレクトリ。

    • ログscripts.log ファイル。このファイルはデプロイの で指定されたスクリプトすべての出力をリストにしています。AppSpec file.

    配置のフォルダーを検索したいが、配置 ID または配置グループ ID がわからない場合は、 AWS CodeDeploy コンソール または AWS CLI 探してください。詳細については、「」を参照してください。表示 CodeDeploy展開の詳細 .

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

    注記

    アーカイブされたデプロイで使用されるハードディスク容量をリカバリする場合は、 max_revisions(最大レビジョン数) 1 または 2 などの小さい数値に設定します。次のデプロイがアーカイブ済みのデプロイを削除するので、指定した数値と同じになります。

  • 導入手順 には、各展開グループに対して 4 つのテキストファイルが含まれています。

    • [Deployment Group ID]-クリーンアップ、配置中に実行される各コマンドの復元確認を含むテキスト ファイル。サンプルファイルの名前は です。acde1916-9099-7caf-fd21-012345abcdef-cleanup.

    • [Deployment Group ID]-install.json、最新の展開中に作成されたJSONファイル。これにはデプロイ中に実行するコマンドが含まれています。サンプルファイルの名前は です。acde1916-9099-7caf-fd21-012345abcdef-install.json.

    • [Deployment Group ID]_last_successfull_installは、最後に正常に展開された場所のアーカイブ ディレクトリをリストするテキスト ファイルです。これは CodeDeploy エージェントがデプロイアプリケーションのファイルすべてをインスタンスにコピーした時に作成されたファイルです。これは、 CodeDeploy 次のデプロイ中に、どの ApplicationStop および BeforeInstall 実行するスクリプト。サンプルファイルの名前は です。acde1916-9099-7caf-fd21-012345abcdef_last_successfull_install.

    • [Deployment Group ID]_most_recent_install(展開グループID)は、最新の配置のアーカイブ ディレクトリの名前をリストするテキスト ファイルです。このファイルはデプロイ内のファイルが正常にダウンロードされた時に作成されます。ダウンロードしたファイルが最終的な場所にコピーされると、このファイルの後に [deployment group ID]_last_successfull_install ファイルが作成されます。サンプルファイルの名前は です。acde1916-9099-7caf-fd21-012345abcdef_most_recent_install.

  • デプロイメント-ログ には、次のログ ファイルが含まれています。

    • codedeploy-agent.yyyymmdd.log コードデプロイエージェント.yyyymmdd.log ファイルは、デプロイがある日ごとに作成されます。各ログファイルには、その日のデプロイに関する情報が含まれています。アクセス権限の問題などをデバッグする場合に、こうしたログファイルが役に立ちます。ログ ファイルの名前は、 codedeploy-agent.log。 翌日、展開日がファイル名に挿入されます。たとえば、今日が2018年1月3日の場合、 codedeploy-agent.log。 明日、2018年1月4日にログ ファイルの名前が変更されます。 codedeploy-agent.20180103.log.

    • codedeploy-agent-deployments.log コードデプロイエージェントデプロイ.log は、 scripts.log 配布ごとにファイルを作成します。は、 scripts.log ファイルは logs サブフォルダー Deployment ID フォルダ。このファイル内のエントリにはデプロイ ID が付いています。たとえば、"[d-ABCDEF123]LifecycleEvent - BeforeInstall"は、 の ID を持つデプロイ中に書き込まれる可能性があります。 d-ABCDEF123。 いつ codedeploy-agent-deployments.log 最大サイズに達すると、 CodeDeploy エージェントは、古いコンテンツの削除中に引き続き書き込みを行います。