IT用語: ブルー/グリーンデプロイとは|ダウンタイムゼロのリリース手法
本番環境(Blue)と新バージョン環境(Green)を並列稼働させ、瞬時に切り替えるブルー/グリーンデプロイの仕組みを解説。
ブルー/グリーンデプロイとは
ブルー/グリーンデプロイは、現行稼働中の環境(Blue)と新バージョンの環境(Green)を同時に用意し、準備完了後にロードバランサーのトラフィックを一瞬でGreenに切り替えるデプロイ手法です。ダウンタイムがなく、問題発生時にBlueに即座に戻せるのが最大の特徴です。
手順
- Blue(現行)が本番稼働中
- Green(新バージョン)をBlueと同じ構成で起動
- Greenでテスト・動作確認
- ロードバランサーをBlue→Greenに切り替え
- 問題なければBlueを削除、問題あればBlueに戻す
AWSでの実装
AWS CodeDeployやECS(Elastic Container Service)はブルー/グリーンデプロイをネイティブでサポートします。Route 53の加重ルーティングを使えばトラフィックを徐々に移行する「カナリアリリース」も可能です。
関連する用語 (DevOps)
全58件を見るAnsible
構成管理・プロビジョニング自動化ツール。YAMLで記述したPlaybookをエージェントレスで実行し、サーバーの設定を一元管理できる。インフラの自動化とべき等性の確保が特徴。
Blue-Green Deployment
ゼロダウンタイムデプロイ戦略の一つ。本番環境(Blue)と新バージョン(Green)を並行して稼働させ、トラフィックを切り替えてデプロイする。問題発生時に即座に切り戻せる。
SRE
Site Reliability Engineering(サイト信頼性エンジニアリング)の略。Googleが提唱した、ソフトウェアエンジニアリングの手法を運用・インフラに適用するアプローチ。SLO・エラーバジェット・トイルの削減が核心概念。
Dockerfile
Dockerイメージをビルドするための設計書ファイル。FROM・RUN・COPY・CMD等の命令を書くことで、ベースOSからアプリのセットアップまでを自動化できる。docker buildコマンドで実行される。
Docker Compose
複数のDockerコンテナを一括定義・実行するツール。docker-compose.ymlに各サービスの設定を記述し、docker compose upコマンドで全コンテナを起動できる。ローカル開発環境の構築に特に有用。
Kubernetes
Googleが開発したコンテナオーケストレーションシステム(通称K8s)。複数のDockerコンテナを自動デプロイ・スケーリング・管理する。Pod・Service・Deploymentなどのリソースで構成される。大規模サービスの運用に不可欠