0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的な備忘録:ダウンタイムなしのデプロイ戦略としてAWSのBlue/Greenデプロイを体系的に整理してみた

Posted at

はじめに

現在、ITスクールで学習しながらAWSのインフラ構築をコード化しています。

その中で、より実践的な運用を試すためにBlue/Greenデプロイに挑戦することにしました。

このデプロイ手法は、ダウンタイムを最小限に抑えつつ、新しいバージョンを安全にリリースできるのが特徴です。

本記事では、Blue/Greenデプロイの概要やメリット・デメリット、AWSにおける実装方法について整理していきます。

書こうと思ったきっかけ

詳細は省略しますが、今回は受講しているITスクールで、以下のようなAWSインフラ構成をコード化しています。

Screenshot 2025-02-03 at 18.50.54.png

その中で時間的に余裕がありますので、追加機能としてBlue/Green デプロイを試したいと思い、現在それに向けてキャッチアップ中になります。

Blue/Green デプロイとは?

Blue/Green デプロイメント は、アプリケーションの新バージョンを安全にリリースするためのデプロイ手法 です。

Screenshot 2025-02-05 at 4.40.58.png
引用画像:https://aws.amazon.com/jp/blogs/news/bluegreen-deployments-with-amazon-ecs/

この方法では、2つの環境(Blue と Green)を用意し、切り替えることでシームレスに新バージョンをリリース できます。

Blue/Green デプロイの流れ

  1. Blue 環境(現行バージョン) を本番環境として稼働させる
  2. Green 環境(新バージョン) をデプロイする(本番にはまだ影響しない)
  3. Green 環境で動作確認やテストを実施
  4. 問題がなければ トラフィックを Blue から Green に切り替える
  5. Blue 環境を削除する or 次のリリース用に残しておく

Blue/Green デプロイのメリット

  • ダウンタイムなし
    新バージョン(Green)を準備してから切り替えるため、ユーザーへの影響が最小限。

  • 即時ロールバック
    もし新バージョンに問題が発生した場合、トラフィックを Blue に戻すだけで元の状態に復旧可能。

  • 本番環境と同じ条件でテストできる
    Green 環境は Blue 環境と同じ構成なので、本番同等の環境で動作確認できる。

  • A/B テストが可能
    Blue と Green の両方を一部のユーザーに振り分け、比較テストを行うことも可能。

Blue/Green デプロイのデメリット

  • コストがかかる
    一時的に 2 つの環境を同時に維持するため、リソースコストが増える。

  • データベースの切り替えが難しい
    DB のスキーマ変更がある場合、両バージョンで互換性を持たせる工夫が必要。

  • 設定・運用が複雑
    トラフィックの切り替えやデータの一貫性を保つための仕組みが必要。

AWS での Blue/Green デプロイ

AWS では、以下のサービスを使うことで Blue/Green デプロイを簡単に実現できます。

サービス 役割
AWS CodeDeploy EC2、ECS の Blue/Green デプロイを管理
AWS Elastic Beanstalk デプロイ中のトラフィック管理機能あり
AWS ECS (Fargate) タスクセットを使った Blue/Green デプロイが可能
AWS Route 53 DNS レベルでの切り替えが可能
AWS ALB (Application Load Balancer) ターゲットグループを使ったトラフィック分割

まとめ

Blue/Greenデプロイは、新しいバージョンを安全にリリースするための強力な手法ですが、コストの増加やデータベースの切り替えなどの課題もあります。

AWSではCodeDeploy・ECS・ALBなどのサービスを活用することで、比較的簡単に導入できます。

今回の学習を通して、より実践的なデプロイ戦略を理解し、今後の開発に活かしていきたいと思います!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?