Elastic Beanstalk

Blue/Green デプロイメント完全ガイド

🍽️ レストランの厨房で学ぶ、安全なアプリケーション更新の仕組み

💡 Blue/Green デプロイメントとは?

アプリケーションを更新する際に、 ダウンタイムゼロ で安全にデプロイできる手法です。

まるで2つの厨房を持つレストランのように、片方で新しい料理を準備している間も、お客様へのサービスは止まりません!

1
現在の環境(Blue環境)でサービス提供中
👨‍🍳

メイン厨房(Blue)

現在のアプリv1.0が稼働中

➡️
👥

お客様

サービス利用中

🔧 AWS環境

Blue環境
本番サービス中
アプリv1.0
Green環境
待機中
(まだ未作成)
2
新しい環境(Green環境)を準備
👨‍🍳

メイン厨房(Blue)

お客様対応継続中

👩‍🍳

サブ厨房(Green)

新メニュー準備中

🔧 AWS環境

Blue環境
本番サービス中
アプリv1.0
Green環境
デプロイ中
アプリv2.0 🚀

💫 Elastic Beanstalkが自動的に新しい環境を作成し、新バージョンをデプロイ

3
テスト・検証フェーズ

Green環境では専用のテスト用URLが発行されるので、本番に影響を与えずに新バージョンをテストできます。

🧪 テスト段階

Blue環境
production.com
お客様利用中 ✅
Green環境
test-abc123.com
内部テスト中 🔍
4
🔄 URL切り替え(Swap Environment URLs)
👩‍🍳

新メイン厨房(Green)

新メニューでサービス開始!

➡️
👥

お客様

新サービス利用中

🔄 切り替え後

Green環境
production.com
新本番サービス中 ✅
Blue環境
test-abc123.com
旧版待機中 💤

数秒で切り替え完了! ユーザーには全く気づかれません

🎯 Blue/Green デプロイメントの特徴

ダウンタイムゼロ

サービス停止なしで更新可能

🔄

即座にロールバック

問題発生時は瞬時に旧版に戻せる

🧪

本番同等環境でテスト

実際の本番環境と同じ構成でテスト

💰

コスト増

2つの環境を一時的に稼働

⏱️

切り替え時間

DNS変更により数分かかる場合も

🔧

設定管理

2つの環境の同期管理が必要

📋 実行手順(AWS Console)

  1. 新環境作成: Elastic Beanstalk Console → "Create Environment"
  2. アプリケーションデプロイ: 新しいバージョンをGreen環境にアップロード
  3. テスト実行: Green環境のURLで動作確認
  4. URL切り替え: Actions → "Swap Environment URLs"
  5. 確認・クリーンアップ: 旧環境(Blue)を必要に応じて削除

Created by SSuzuki1063

AWS SAP Learning Resources