自動デプロイ

反復可能なデプロイ

AWS CodeDeploy では、さまざまなインスタンスグループや AWS Lambda 関数を対象に、簡単にアプリケーションを繰り返しデプロイできます。CodeDeploy はファイルおよびコマンドベースのインストールモデルを使用しているため、すべてのアプリケーションをデプロイでき、既存の設定コードを再利用できます。同じ設定コードを使用することで、Amazon EC2 のインスタンスまたは Lambda 関数のデプロイ、テスト、および本番用リリースのステージ全体にわたって、更新を一貫してデプロイしてテストできます。デプロイから手動のステップを排除することで、ソフトウェア配信プロセスの速度と信頼性を高めています。

自動スケーリング

AWS CodeDeploy を使用すると、ソフトウェアのデプロイとスケーリングアクティビティを統合して、動的に変化する運用環境の中でアプリケーションを常に最新の状態に保つことができます。Amazon EC2 インスタンスの場合、CodeDeploy は Auto Scaling と統合されています。Auto Scaling により、トラフィックの急増など、お客様が定義する条件に応じて EC2 の容量をスケールできます。CodeDeploy は新しいインスタンスが Auto Scaling グループに追加されると通知を受け、そのインスタンスが Elastic Load Balancing のロードバランサーに追加される前に自動的にアプリケーションのデプロイを実行します。AWS Lambda の場合、トラフィックの増加または減少に応じて関数が自動的にスケールされ、CodeDeploy と統合されて最新のコードが確実にデプロイされます。

オンプレミスデプロイ

AWS CodeDeploy を使うと、開発、テスト、運用環境での実行など、あらゆるインスタンス (データセンターのインスタンスを含む) へのソフトウェアのデプロイを自動化できます (インスタンスは AWS パブリックエンドポイントに接続されている必要があります)。1 つのサービスを使用して、ハイブリッド型アーキテクチャ全体にわたるアプリケーションのデプロイを一貫して行えます。

ダウンタイムの最小化

ローリングおよびブルー/グリーンの更新

AWS CodeDeploy では、アプリケーションを新しいリビジョンにアップグレードする際にダウンタイムが発生しません。CodeDeploy は Amazon EC2 のインスタンスグループ全体にローリング更新を実行でき、その際にはどの時点であっても、オフラインになっているインスタンスはごく一部のみです。CodeDeploy はインスタンス全体に段階的に作用するためアプリケーションは利用可能なままであり、トラフィックの提供が中断されません。AWS Lambda 関数の場合、着信トラフィックは古いバージョンから新しいバージョンに徐々にルーティングされます。

AWS CodeDeploy ではブルー/グリーンデプロイも実行できます。これにより、Amazon EC2 の新しいインスタンスセットが最新のリビジョンを使用してプロビジョニングおよびインストールされます。新しいインスタンスに新しいリビジョンがインストールされると、CodeDeploy では本番用インスタンスから新しいインスタンスにトラフィックのルートが変更されます。AWS Lambda の更新は、プロビジョニングする新しいインスタンスが存在しないため、本質的にブルー/グリーン方式です。

デプロイの正常性追跡

デプロイの正常性追跡はローリング更新と連動して実行され、デプロイ中のアプリケーションの可用性を高い状態で維持します。誤った更新がデプロイされると予期しないダウンタイムが発生するおそれがあります。AWS CodeDeploy はデプロイをモニタリングし、失敗した更新が多すぎる場合はデプロイを停止します。

停止とロールバック

アプリケーションの進行中のデプロイは、AWS マネジメントコンソール、AWS CLI、任意の AWS SDK を使用して常に停止できます。停止したデプロイをあとから続行する必要がある場合は、そのリビジョンを再デプロイするだけです。また、以前のリビジョンを再デプロイすることですぐにロールバックできます。

一元管理

モニタリングと管理

AWS マネジメントコンソールから直接、または AWS CLI、SDK、API を使用して、ソフトウェアのデプロイを開始、管理、モニタリングできます。障害が発生した場合は、障害が発生したスクリプトを特定できます。Amazon Simple Notification Service を利用した SMS やメールのメッセージにより、デプロイのステータスをモニタリングするプッシュ通知も設定できます。

デプロイグループ

1 つのアプリケーションを複数のデプロイグループにデプロイできます。デプロイグループは、ステージング環境や運用環境などの特定の環境に構成を一致させるために使用されます。リビジョンをステージング環境でテストし、準備ができたら同じデプロイ手順で同じコードを運用環境にデプロイできます。

デプロイ履歴

AWS CodeDeploy は最近のデプロイの履歴を追跡し、保存します。ターゲットのデプロイグループそれぞれに、現在はアプリケーションのどのバージョンがデプロイされているかを確認できます。特定のデプロイグループに対する過去のデプロイの変更履歴と成功率を調べることができます。また、過去のデプロイのタイムラインを調査して、正常なデプロイとエラーについて詳しく確認することもできます。

導入が容易

言語およびアーキテクチャに依存しない

AWS CodeDeploy はファイルおよびコマンドベースのインストールモデルを使用しているため、任意のアプリケーションをデプロイでき、既存の設定コードを再利用できます。CodeDeploy では、単一の AppSpec 設定ファイルを使用して、アプリケーションファイルをマッピングしたり、置き換える AWS Lambda 関数を指定したりします。AppSpec ファイルを使用して、各ライフサイクルイベント (デプロイの段階) でアクション、テスト、または検証を実行できます。シェルスクリプト、カスタムプログラム、設定管理ツールなど、任意のコードをコマンドとして使用できます。

ツールチェーンの統合

AWS CodeDeploy API を使用することで、アプリケーションのデプロイを既存のソフトウェア配信ツールチェーンと簡単に統合できます。AWS CodePipelineAWS CodeStar、および一部の AWS パートナーでは、継続的インテグレーションと継続的デリバリーのサービスのために、事前に構築された CodeDeploy の統合を提供しているため、簡単に最新のアプリケーションを自動でデプロイできます。

AWS CodeDeploy 料金の詳細

料金ページを見る
構築を始めましょう。
AWS CodeDeploy の開始方法
ご不明な点がおありですか?
お問い合わせ