AWS の他のサービスとの統合 - AWS CodeDeploy

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

AWS の他のサービスとの統合

CodeDeploy は、次の AWSサービスと統合されています。

Amazon CloudWatch

Amazon CloudWatch は、AWSクラウドリソースと で実行するアプリケーションのモニタリングサービスですAWS。Amazon を使用して、メトリクス CloudWatch の収集と追跡、ログファイルの収集とモニタリング、アラームの設定を行うことができます。 は次の CloudWatch ツール CodeDeploy をサポートしています。

  • CloudWatch アラームは、指定したモニタリングメトリクスがアラームルールで指定したしきい値を超えたとき、または下回ったときに、デプロイをモニタリングし、停止するための CloudWatch アラームです。アラームモニタリングを使用するには、まず でアラームを設定し CloudWatch、次にアラームがアクティブ化されたときにデプロイを停止するアプリケーションまたはデプロイグループ CodeDeploy に追加します。

    詳細はこちら:

  • Amazon CloudWatch Events は、インスタンスの状態の変化や CodeDeploy オペレーションのデプロイを検出して対応します。次に、作成したルールに基づいて、デプロイまたはインスタンスがルールで指定した状態になると、 CloudWatch Events は 1 つ以上のターゲットアクションを呼び出します。

    詳細はこちら:

  • Amazon CloudWatch Logs を使用すると、一度に 1 つずつインスタンスにサインインすることなく、 CodeDeploy エージェントによって作成された 3 種類のログをモニタリングできます。

    詳細はこちら:

Amazon EC2 Auto Scaling

CodeDeploy は Amazon EC2 Auto Scaling をサポートします。この AWS サービスを使用して、以下の例のように、指定した条件に基づいて Amazon EC2 インスタンスを自動的に起動できます。

  • 指定された CPU 使用率の制限を超えた。

  • ディスクの読み書き。

  • 指定された期間のインバウンドまたはアウトバウンドのネットワークトラフィック。

Amazon EC2 インスタンスのグループは、必要なときにスケールアウトし、 CodeDeploy を使用してアプリケーションリビジョンを自動的にデプロイできます。Amazon EC2 Auto Scaling は、Amazon EC2 インスタンスが不要になったときに、それを終了します。

詳細はこちら:

Amazon Elastic Container Service

CodeDeploy を使用して、Amazon ECS コンテナ化されたアプリケーションをタスクセットとしてデプロイできます。アプリケーションの更新されたバージョンを新しい置き換えタスクセットとしてインストールすることで、ブルー/グリーンデプロイ CodeDeploy を実行できます。 CodeDeploy rerout は、元のアプリケーションタスクセットから置き換えタスクセットへの本番トラフィックを本番環境にインストールします。デプロイが正常に完了すると、元のタスクセットは削除されます。Amazon ECS の詳細については、「Amazon Elastic Container Service」を参照してください。

Canary、Linear、または all-at-once 設定を選択して、デプロイ中に更新されたタスクセットにトラフィックを移行する方法を管理できます。Amazon ECS デプロイの詳細については、「Amazon ECS コンピューティングプラットフォームでのデプロイ」を参照してください。

AWS CloudTrail

CodeDeploy は と統合されていますAWS CloudTrail。このサービスは、 AWSアカウント CodeDeploy で または に代わって行われた API コールをキャプチャし、指定した Amazon S3 バケットにログファイルを配信します。 CloudTrail は、 CodeDeploy コンソールから、 経由で CodeDeploy コマンドからAWS CLI、または CodeDeploy APIs から直接 API コールをキャプチャします。 CloudTrail により収集された情報を使用して、以下を判断できます。

  • に対して行われたリクエスト CodeDeploy。

  • リクエストが行われたソース IP アドレス。

  • 誰がリクエストを行ったか。

  • 行われた時刻。

詳細はこちら:

AWS Cloud9

AWS Cloud9 は、インターネットに接続したマシンからブラウザを使用するだけで、コードの記述、実行、デバッグ、デプロイを実行できるクラウドベースの統合開発環境 (IDE) です。AWS Cloud9 には、コードエディタ、デバッガー、ターミナル、および AWS CLI や Git などの主要ツールが含まれています。

  • AWS Cloud9 IDE を使用して、 GitHub リポジトリ内のコードを実行、デバッグ、構築できます。IDE Environment ウィンドウおよびエディタのタブを使用して、コードの表示、変更、保存を行うことができます。準備ができたら、AWS Cloud9ターミナルセッションで Git を使用してコードの変更を GitHub リポジトリにプッシュし、 AWS CodeDeployを使用して更新をデプロイできます。AWS Cloud9 で を使用する方法の詳細については GitHub、GitHub 「 のサンプルAWS Cloud9」を参照してください。

  • AWS Cloud9 IDE を使用して AWS Lambda 関数を更新できます。次に AWS CodeDeploy を使用して、トラフィックを新しいバージョンの AWS Lambda 関数に移行するデプロイを作成できます。詳細については、「AWS Lambda Integrated Development Environment (IDE) で AWS Cloud9 関数を操作する」を参照してください。

AWS Cloud9 の詳細については「AWS Cloud9 とは」と「AWS Cloud9 の開始方法」をご覧ください。

AWS CodePipeline

AWS CodePipeline は、継続的な配信プロセスでソフトウェアをリリースするために必要な手順のモデル化、可視化、および自動化に使用できる継続的な配信サービスです。AWS CodePipeline を使用して、コード変更のたびにサービスが構築、テスト、デプロイを行うよう独自のプロセスを定義できます。例えば、ベータ、ガンマ、本番の 3 つのアプリケーションのデプロイグループがあるとします。ソースコードが変更されるたびに、各デプロイグループに 1 つずつ更新をデプロイするようにパイプラインを設定できます。

を使用して以下 CodeDeploy をデプロイAWS CodePipelineするように を設定できます。

  • Amazon EC2 インスタンス、オンプレミスインスタンス、または両方へのコード。

  • サーバーレス AWS Lambda 関数のバージョン。

パイプラインを作成する前、またはパイプラインの作成ウィザードで、ステージのデプロイアクションで使用する CodeDeploy アプリケーション、デプロイ、デプロイグループを作成できます。

詳細はこちら:

AWS サーバーレスアプリケーションモデル

AWS サーバーレスアプリケーションモデル (AWS SAM) はサーバーレスアプリケーションを定義するモデルです。AWS CloudFormation を拡張し、サーバーレスアプリケーションに必要な AWS Lambda 関数、Amazon API Gateway API、および Amazon DynamoDB テーブルを定義するための簡略化された方法を提供します。AWS SAM を既に使用している場合は、デプロイ設定を追加して の使用を開始し、AWSLambda アプリケーションのデプロイ中にトラフィックを移行する方法 CodeDeploy を管理できます。

詳細については、「AWS サーバーレスアプリケーションモデル」を参照してください。

Elastic Load Balancing

CodeDeploy は、受信アプリケーショントラフィックを複数の Amazon EC2 インスタンスに分散するサービスである Elastic Load Balancing をサポートします。

CodeDeploy デプロイの場合、ロードバランサーは、準備が完了していない、現在デプロイされている、または環境の一部として不要になったときに、トラフィックがインスタンスにルーティングされるのを防ぎます。

詳細はこちら: