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

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

他の AWS サービスとの統合

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

Amazon CloudWatch

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

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

    詳細はこちら:

  • インスタンスの状態の変化や CodeDeploy オペレーション内のデプロイを検出して対応するための Amazon CloudWatch イベント。次に、作成したルールに基づいて、デプロイまたはインスタンスがルールで指定した状態になると、 CloudWatch イベントは 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 は、元のアプリケーションタスクセットから代替タスクセットに本番トラフィックをルーティングします。デプロイが正常に完了すると、元のタスクセットは削除されます。Amazon の詳細についてはECS、「Amazon Elastic Container Service」を参照してください。

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

AWS CloudTrail

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

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

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

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

  • 行われた時刻。

詳細はこちら:

AWS Cloud9

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

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

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

の詳細については AWS Cloud9、「 とは AWS Cloud9」と「 の開始方法 AWS Cloud9」を参照してください。

AWS CodePipeline

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

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

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

  • Serverless AWS Lambda 関数のバージョン。

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

詳細はこちら:

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

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

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

Elastic Load Balancing

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

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

詳細はこちら: