CodeDeployでデプロイを簡単にしよう

最終更新日:2026年8月12日

この記事でわかること

今回はAWS(Amazon Web Services)のサービスの一つ「CodeDeploy」について解説していきます。

CodeDeployとは

項目 AWS Microsoft Azure Google Cloud
世界シェア 約33%(首位) 約22% 約11%
強み サービス数・実績 Microsoft製品連携 データ分析・AI
無料枠 12ヶ月+常時無料 12ヶ月無料 常時無料枠あり
主な資格 CLF / SAA / SAP AZ-900 / AZ-104 ACE / PCA

CodeDeployはAWSで提供されている、Amazon EC2、オンプレミス、Lambda 関数、Amazon ECSでアプリケーションのデプロイを自動化するサービスのことを指します。主にAmazon S3 バケット、GitHub リポジトリ、または Bitbucket リポジトリに保存されているアプリケーションコンテンツ、サーバーレス Lambda 関数をデプロイすることができ、既存のコードを変更することなく使用することができます。

CodeDeployの特徴

サーバーアプリケーション、サーバーレスアプリケーション、コンテナアプリケーションをデプロイできる

サーバーアプリケーション、サーバーレスのAWS Lambda関数、またはAmazon ECSを使用したコンテナアプリケーションのいずれにも対応しています。

自動でデプロイしてくれる

開発、テスト、本番稼働環境にまたがるアプリケーションのデプロイを完全に自動化してくれます。インフラストラクチャに合わせてスケールされるので、1 つのインスタンスか数千のインスタンスにデプロイできます。

同時にデプロイしてくれる

EC2、オンプレミスで使用する複数のアプリケーションがある場合でも、CodeDeployは同じインスタンスのセットでこれらを同時にデプロイすることができます。

ダウンタイムを最小化できる

アプリケーションが EC2/オンプレミスを使用している場合、複数の Amazon EC2インスタンスにまたがってローリング更新を実行したり、最新アプリケーションのリビジョンを、置き換え先インスタンスにインストールすることでダウンタイムを最小限に抑えるように設計されています。また、設定したルールに従ってアプリケーションの状態を追跡するので管理がしやすいです。

ロールバックが手軽

エラーが発生した場合は自動か手動でデプロイを停止してロールバックすることができます。

コントロールが一元化されている

CodeDeployコンソールかAWS CLIでデプロイし、そのステータスを追跡することができます。各アプリケーションのリビジョンがいつデプロイされて、どのAmazon EC2インスタンスがリストされているかを示すレポートを受け取れるので管理が容易です。

導入が簡単

CodeDeployは、プラットフォームに依存せず、すべてのアプリケーションで動作可能です。

CodeDeployのデプロイ

CodeDeployではデプロイするタイプが2通りあり、それぞれインプレースデプロイとBlue/Greenデプロイが選択可能です。それぞれデプロイする方式が違うので、ここでは各デプロイタイプについて解説していきます。

インプレースデプロイ

デプロイするグループにある各インスタンス上のアプリケーションを停止し、最新のアプリケーションのリビジョンがインストールされることで、新バージョンのアプリケーションが開始、検証されるデプロイタイプです。※ロードバランサーを使用すれば、各インスタンスがデプロイ中でも登録が解除されて、デプロイ完了後にサービスへ復元されるようにすることが可能です。使用できるプラットフォームはEC2、オンプレミスを使用するデプロイです。

※サーバーにかかる負荷を、平等に振り分けるための装置、仕組みのこと。AWSでも「ELB(Elastic Load Balancing)」としてリリースされている。

Blue/Greenデプロイ

EC2、オンプレミス、Lambda関数、Amazon ECSのすべてのプラットフォームで使用することが可能なデプロイ方法です。動作がプラットフォームによって異なります。またデプロイ設定でデプロイのルール、デプロイの成功条件、デプロイの失敗条件を指定することができます。

EC2、オンプレミス:デプロイグループのインスタンスがインスタンスの別のセットにプロビジョニングされることでデプロイされる。デプロイ設定で正常なインスタンスの最小数を指定できる。

Lambda関数:使用しているサーバーレス環境から、更新されたLambda関数のバージョンへ環境が移行されることでデプロイされる。Blue/Greenデプロイでしか扱えないのでデプロイタイプを指定する必要がない。デプロイ設定でCanary、線形、All-at-onceから設定することができる。

Amazon ECS:Amazon ECSサービス内のアプリケーション元のバージョンのタスクセットから、同じサービスの置き換えタスクセットに移行されることでデプロイされる。デプロイ設定でCanary、線形、All-at-onceから設定することができる。

押さえておきたいポイント

  • CodeDeployはEC2・オンプレミス・Lambda関数・Amazon ECSの4種類のデプロイ先に対応した、AWSのデプロイ自動化サービスです。
  • デプロイ方式は「インプレースデプロイ」(EC2・オンプレミスのみ対応)と「Blue/Greenデプロイ」(全プラットフォーム対応)の2種類から選択できます。
  • Blue/Greenデプロイでは、Lambda関数とAmazon ECSでCanary・線形・All-at-onceのデプロイ設定を選択でき、リスクを抑えた段階的なリリースが可能です。
  • エラー発生時は自動または手動でロールバックできるため、デプロイの安全性を高められます。
  • CodeDeployコンソールやAWS CLIから一元的にデプロイ状況を管理・追跡できます。

よくある質問

Q. CodeDeployの利用に追加費用はかかりますか?

Amazon EC2・Lambda・Amazon ECSへのデプロイでは、CodeDeploy自体の利用に追加料金はかかりません(デプロイ先となるEC2インスタンスなどのリソース利用料金は別途発生します)。一方、オンプレミスインスタンスへのデプロイについては、インスタンスの更新ごとに料金が発生する仕組みになっています。正確な最新の料金体系はAWS公式サイトでご確認ください。

Q. インプレースデプロイとBlue/Greenデプロイはどちらを選ぶべきですか?

インプレースデプロイは既存のインスタンスをそのまま更新するためシンプルで追加のインフラコストがかかりませんが、更新中の一部インスタンスは一時的にサービスから外れます。Blue/Greenデプロイは新しいインスタンスのセットに切り替えるため、旧環境をすぐに残せてロールバックが容易でダウンタイムを抑えやすい一方、切り替え中は一時的に二重のリソースを用意する必要があります。本番環境で可用性を重視する場合はBlue/Greenデプロイ、コストや構成のシンプルさを優先する場合はインプレースデプロイが選ばれる傾向にあります。

Q. CodeDeployはAmazon EKS(Kubernetes)にも対応していますか?

CodeDeployが直接デプロイ対象とするのはEC2・オンプレミス・Lambda関数・Amazon ECSです。Amazon EKS上のアプリケーションについては、CodeDeploy単体ではなく、EKSのネイティブなデプロイ機能や他のツールと組み合わせて運用するのが一般的です。対応状況は変更される可能性があるため、最新情報はAWS公式ドキュメントでご確認ください。

まとめ

この記事のポイント:

  • CodeDeployはEC2・オンプレミス・Lambda・Amazon ECSへのデプロイを自動化するAWSのサービス
  • インプレースデプロイとBlue/Greenデプロイの2方式があり、用途に応じて選択できる
  • エラー時のロールバックやデプロイ状況の一元管理が可能で運用負荷を下げられる

CodeDeployはデプロイを自動化することによって、手動操作の必要を無くし、デプロイする際にも、デプロイ設定を行うことによって、開発における手戻りを減少させることができます。開発効率を上げたいと思っている方は思い切って採用してみるのはいかがでしょうか。

▼ アクロビジョンについて

👔

一緒に働きましょう

一人ひとりのキャリアに向き合い、
活躍できる現場をご紹介します。

採用サイトを見る →
💻

システム開発のご依頼・ご相談

コンサルティングから運用保守まで、
ワンストップで対応します。

まずはお気軽にご相談ください →

前の記事

Amazon Textractについて