IIJ GIOベストプラクティス - リファレンスアーキテクチャ
Blue-Green Deployment
Blue-Green Deploymentは、検証環境をそのまま本番環境として利用することで、システムの停止時間を最小にするデプロイ手法です。
Blue-Green Deploymentをクラウドで実現するには、容易に検証環境を用意できることや、システムを簡単に切り替えられることが重要です。IIJ GIOインフラストラクチャーP2(以下、IIJ GIO P2)ではBlue-Green Deploymentに最適なクラウドを提供します。
最適な利用シーン
IIJ GIOで実現するBlue-Green Deploymentのインフラ基盤
適用可能なシステム
- Webサービス
アーキテクチャの概要とメリット
- 必要なタイミングで検証環境を作成することができるので、コストを最小限にできます。
- 検証が完了し本番環境に切り替えるときは、ロードバランサのプール切り替えのみで対応できるので、システム停止時間を最小にできます。
- ログなどのサーバ固有のデータはNASのサービスを利用し、サーバとは別に保管することで、切り替えを容易に行えます。
- コンテンツなどの共有データはNAS等共有ストレージ上に配置します。また、データベースなどの切り替えが難しいサーバは共通サーバとして別に用意します。
アーキテクチャ解説
必要な時のみサーバを契約することでコストを最適化
取得したカスタムOSイメージを利用することで、本番環境を検証環境へ容易に複製することができます。
必要なタイミングで検証環境を作成
- バージョンアップや変更作業が必要になったタイミングで、前回作業時に取得したカスタムOSイメージより検証環境を作成します。
- 検証環境はIIJ GIO P2 パブリックリソースの仮想サーバ(ベストエフォートタイプ)を契約します。ベストエフォートタイプの仮想サーバは起動している時間に応じた課金となるため、作業をしない時は電源をOFFにして無駄な課金を避けられます。
- 検証完了後、切り替えの前に検証環境のサーバを本番環境相当の適切なスペックに変更します。
- 切り替え完了後、正常な動作を確認した後に元の環境を解約します。
- [効果]
-
- カスタムOSイメージを利用することで、容易に検証環境を作成できます。
- ベストエフォートタイプの仮想サーバを利用し、夜間などの作業しない時間帯にサーバを停止することで、サーバ利用のコストを最適化できます。

- 対応するデザインパターン
ロードバランサを利用した検証環境と本番環境の切り替え
Blue-Green Deploymentは、検証環境をそのまま新しい本番環境として利用することで、システムの停止時間を最小にします。IIJ GIOではロードバランサを利用して環境の切り替えを行います。
本番環境と検証環境の容易な切り替え
- 切り替えの前に、データベース等検証用の設備を本番用に切り替えます。この作業では、DNSやアプリケーションの設定値変更が必要になる可能性があります。
- ロードバランサの新しいプール設定に検証環境のサーバを登録します。その後、現在設定されている本番プールを新しく作成した検証プールに切り替えます。
- [効果]
-
- 実施する作業はロードバランサのプール切り替えのみとなるので、停止時間を最小限にすることが可能です。
- 切り替え後に問題が発生した場合は、容易に元のプールへの切り戻しができます。

共通のデータは共通の場所に配置
Blue-Green Deploymentでは基本的にサーバは使い捨てとなるため、固有のデータ(コンテンツなど)を仮想サーバに持たせないことが重要となります。
IIJ GIOはBlue-Green Deploymentの基盤として、各種データの格納場所をサービスで提供します。
共有コンテンツ設置先
- 共通となる静的コンテンツなどは、IIJ GIO P2 ストレージリソースのNFSストレージ上に設置します。

- 対応するデザインパターン
切り替えが難しいサーバの対応
- 切り替えが難しいサーバは共通サーバとして切り替え対象にはしないように構成します。
- 例えばデータベースサーバを共通サーバとして用意し、検証系作業時に利用する時はレプリケーションで検証用データベースを作成したうえで検証作業を実施します。
- [効果]
-
- サーバのローカルにはデータを持たせないことで、データを気にすることなくシステムの切り替えが可能です。
- 切り替えが難しいサーバは共通サーバとして切り出すことで、システム全体の切り替えを容易に行えるようになります。

- 対応するデザインパターン
サーバ固有のデータはサーバ外に配置
Blue-Green Deploymentでは基本的にサーバは不変(Immutable)となることが重要であるため、固有のデータ(ログなど)を個々のサーバに持たせないことが重要となります。
これは動作するアプリケーションの工夫も必要ですが、IIJ GIOはBlue-Green Deploymentの基盤としてサービスでデータの格納場所を提供します。
固有のデータ保管先
- IIJ GIO P2 ストレージリソースでは、NFSタイプのNASを提供します。この領域にサーバ固有のデータを配置するようにします。
- 例えばログファイルは通常、一定期間保持しておく必要がありますが、サーバごとにログを保持している場合、切り替えのタイミングでログはすべて失われてしまいます。ログ保管先をNASにすることで、サーバを切り替えた際にもログを失うことはありません。
- [効果]
-
- サーバ固有のデータをNASに外部保管することで、サーバに状態を持たせなくてすみます。これによりサーバを容易に切り替えることが可能になります。

構成サンプル
サンプル例
用途 | サービス品目 | 数量 | 備考 | |
---|---|---|---|---|
本番系Webサーバ | IIJ GIOインフラストラクチャーP2 パブリックリソース | VG4-12 | 2 | |
S30GB/CentOS 7 :64bit | 2 | |||
本番系APサーバ | VG4-12 | 2 | ||
S30GB/CentOS 7 :64bit | 2 | |||
検証系Webサーバ | VB2-6 | 2 | ||
S30GB/CentOS 7 :64bit | 2 | |||
検証系APサーバ | VB2-6 | 2 | ||
S30GB/CentOS 7 :64bit | 2 | |||
データベースサーバ | VG4-24 | 2 | ||
S30GB/CentOS 7 :64bit | 2 | |||
G1000GB:IOPS5000 | 2 | |||
検証用データベースサーバ | VB4-12 | 1 | ||
S30GB/CentOS 7 :64bit | 1 | |||
B1000GB | 1 | |||
FW+LB | FW+LB/D 100Mbps | 1 | ||
ネットワーク | プライベートネットワーク/V | 2 | ||
アーカイブ | ストレージアーカイブオプション | 24 | 1契約あたり10GB分 | |
コンテンツ用NAS | IIJ GIOインフラストラクチャーP2 ストレージリソース | プライマリNFSサーバ | 1 | |
プライマリNFSサーバ(帯域) | 10 | 10Mbps単位 | ||
NFSボリューム PL | 10 | 100GB単位。ローカルバックアップ付。 |
※本構成は実際の性能を保証するものではありません。
関連情報
利用したデザインパターン
ベストプラクティス
その他のベストプラクティスを探す(一覧へ)
- お問い合わせ・見積依頼はお気軽にお客様に最適なサービスをご提案します
-
メールフォームでのお問い合わせお問い合わせ
電話でのお問い合わせ IIJインフォメーションセンター 03-5205-4466
(土日祝日除く 9:30~12:00、13:00~17:30)ログインアカウントをお持ちのお客様はIIJサービスオンラインからお問い合わせください