「ブルーグリーンデプロイメントの仕組み」を理解する:OpenStack上に構築する、ブルーグリーンデプロイメント実践入門(2)(3/3 ページ)
本連載では、「OpenStackを基盤としたブルーグリーンデプロイメント」を実現する“現場目線”のノウハウを解説していきます。今回は、「ブルーグリーンデプロイメントの利点とその仕組み」を説明します。
OpenStackを基盤としたブルーグリーンデプロイメント機能の例
それでは、ブルーグリーンデプロイメントをこれから考察していただくための一例として、筆者の所属するユニアデックスが開発した、OpenStackを基盤としたブルーグリーンデプロイメント機能の仕組みを説明します。
図5の左上に示したOpenStackの管理画面に「BGDパネル」が組み込まれます。運用者はこれを操作することで、ブルー系/グリーン系の切り替え操作をワンクリックで行えるようになっています。ブルー系/グリーン系には仮想マシンとして構成されたWebサーバも接続されており、それぞれが青い画面/緑の画面をクライアントに返すことで、どちらが本番系なのかを把握できます。どんな動きをするか、以下の動画もご覧ください(動画1)。
ブルー系/グリーン系がどのように構成されているのかをOpenStackのネットワークトポロジー管理画面(図6)で説明します。
図6では、ブルー系/グリーン系に対応した2つの内部ネットワークがあり、Webサーバとなるインスタンス(仮想マシン)が接続されています。この2つの内部ネットワークは、仮想ルーターを経由して外部ネットワークと接続されます。クライアントは、この外部ネットワークに接続します。Webサーバは各系に2つ存在しています。また、管理画面には表示されていませんが、これらは内部的なロードバランサーで負荷分散されています。
続いて、ブルーグリーンデプロイメントの実現方法を以下の図で示します(図7)。
環境の切り替えは、仮想ルーターに設定される「フローティングIP(FIP)」を利用しています。OpenStackでは、外部ネットワークと独立した内部ネットワークを持つことができます。外部から内部への通信を行うためにFIPを割り当てて、クライアント/ユーザーはこの不変的なFIPに対してアクセスします。
切り替え行程では、ブルー系のロードバランサーにFIPが対応しているのを初期状態とします。この時、クライアントにはブルー系が本番環境であることを示す「青い画面」が表示されます。BGDパネルから環境の切り替え操作を行うと、内部的にはFIPをグリーン系のロードバランサーに対応付けます。これで、クライアントにはグリーン系に移ったことを示す「緑の画面」が表示されます。この切り替えを、OpenStackのFIPを制御するREST API(REpresentational State Transfer Application Programming Interface)を利用して実現しています。
なお、今回は分かりやすく切り替え行程を示すために、ブルーグリーンデプロイメントの切り替え機能をOpenStackの管理画面に組み込みましたが、これは必須ではありません。REST API経由で制御できるため、例えば継続的デリバリーに使う「Jenkins」などのツールを用いて、OpenStackの外部から切り替え操作を行うことも可能です。
終わりに
今回は、ブルーグリーンデプロイメントの概念と必要性、OpenStack環境におけるブルーグリーンデプロイメントを実現する仕組みの一例を紹介しました。
次回はより現場視点に沿った、OpenStackを使ったブルーグリーンデプロイメントの効果と課題について解説する予定です。
筆者紹介
佐々木智一
ユニアデックス株式会社 自社IP電話関連プロダクトなど、ソフトウェア開発を経験した後、近年はSDNやOpenStack、IoTなどに関するR&Dを担当。IKEAでDIYが休日の楽しみ。
共著:田中克弥
ユニアデックス株式会社 パワポと戯れるOpenStack商品企画担当。バックパック片手に世界をぶらり旅。次の旅先を妄想中。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- OpenStackが今求められる理由とは何か? エンジニアにとってなぜ重要なのか?
スピーディなビジネス展開が収益向上の鍵となっている今、システム整備にも一層のスピードと柔軟性が求められている。こうした中、なぜOpenStackが企業の注目を集めているのか? 今あらためてOpenStackのエキスパートに聞く。 - いまさら聞けないOpenStack〜よく知られた「常識」と知っておくべき「常識」
日本OpenStackユーザ会の全面協力を得て、OpenStackを徹底的に深掘りする本特集。第2回はレッドハット クラウドエバンジェリストの中井悦司氏が「OpenStackでできること」「OpenStackを使う上で必要なこと」を分かりやすく解説する。 - いまさら聞けない「DevOps」
最近さまざまなイベントやブログエントリで見かける「DevOps」。この言葉をひもとき、なぜ「Dev」と「Ops」が衝突するのか、その解決に必要な要素とは何かを分かりやすく解説します。 - 継続的デリバリ/デプロイを実現する手法・ツールまとめ
バージョン管理や継続的インテグレーションとも密接に関わる継続的デリバリ/デプロイメントの概要や主なツール、経緯、実践事例を紹介。実践手法として「ブルーグリーン・デプロイメント」「Immutable Infrastructure」が注目だ。 - 現代のソフトウェア/サービス開発で構成管理が重要になった5つの理由
「DevOps」という言葉にもあるように、ソフトウェア構成管理は、インフラ運用に取り入れられるなど、変わりつつある時代だ。本連載では、そのトレンドにフォーカスして、現在のソフトウェア開発に有効な構成管理のノウハウをお伝えする