【追記あり】今すぐ試せる、ブルーグリーンデプロイメント環境の構築手順(構築の仕上げと動作検証方法)OpenStack上に構築する、ブルーグリーンデプロイメント実践入門(5)(1/4 ページ)

本連載では、「OpenStackを基盤としたブルーグリーンデプロイメント」を実現する“現場目線”のノウハウを解説していきます。今回は、「ブルーグリーンデプロイメント環境の構築手順(後編)」をお届けします。

» 2017年02月24日 05時00分 公開
[ユニアデックス株式会社]

連載バックナンバー


 前回は、“GitHubで公開したオリジナルの構築用ファイル”を用いて実践するブルーグリーンデプロイメント(以下、BDG)環境を構築する、ステップ1からステップ3までの手順を解説しました。後編ではその続きとして、ステップ6までの「構築の仕上げ」を行っていきます。

※編集部注(2021年2月9日)

前回記事のGitHubへのリンクは、メンテナンス終了によるサンプルコードの削除に伴い削除させていただきましたが、ご了承ください。


ステップ4:「switchover」機能をセットアップする

4-1:「uniadex/」ディレクトリを「/usr/share/openstack-dashboard/」ディレクトリへ配置する

 ステップ2で展開した「uniadex/」をフォルダごと、「/usr/share/openstack-dashboard/」以下に配置します。

# cp -pr /var/tmp/UNIADEX_BGD-masater/openstack_horizon_bgd-master/uniadex  /usr/share/ openstack-dashboard/
「/usr/share/openstack-dashboard」へ「uniadex/」をコピーする

 「/usr/share/openstack-dashboard/」はWSGI(Web Server Gateway Interface)の機能により、Webサーバ(Apache)の起動時にライブラリパスとして追加されます。この詳細は、「/usr/share/openstack-dashboard/openstack_dashboard/wsgi/」以下にある「django.wsgi」の設定内容を参照してください。端的に言えば、このディレクトリ以下にディレクトリまたはファイル群を配置すれば、ライブラリとして参照されます。ちなみに、ステップ3で作業したディレクトリも同様です。

 「uniadex/」には、以下のディレクトリとファイルが格納されています。概要は以下の通りです(表5)。

表5 「uniadex」ディレクトリに含まれる内容
ディレクトリ/ファイル 内容
__init__.py ライブラリとして使用するための設定ファイル
bgd/ bgdライブラリ群が格納されているディレクトリ
bgd/__init__py bgdディレクトリをライブラリとして使用するための設定ファイル
bgd/setting.py 切り替えるフローティングIPの設定ファイル
bgd/switchover.py switchover機能の実装用ファイル

4-2:「uniadex/」ディレクトリの構成ファイルを確認

 「setting.py」は、ロードバランサーに割り当てるフローティングIPのための設定ファイルです。ファイルは「/etc/openstack-dashboard/bgd_settings/」へのシンボリックリンクになっています。

 「openstack_horizon_bgd-master/」ディレクトリに「bgd_settings」ファイルがあります。これを「/etc/openstack-dashboard/」以下に配置します。

#cp -p /var/tmp/UNIADEX_BGD-master/openstack_horizon_bgd-master/bgd_settings /etc/openstack-dashboard/
「/etc/openstack-dashboard/」へ「bgd_settings」をコピーする

 setting.pyで重要となるパラメータは以下の2つです(表6)。

表6 「setting.py」で重要なパラメータ
パラメータ名 役割
FIP_PRODUCTION 本番環境用のフローティングIPの設定
FIP_STAGING 開発環境用のフローティングIPの設定

 この2つのパラメータ(図11の*1)は、検証環境に応じて変更する値であることは想像できると思いますが、この作業はこの後の「ステップ5」で行います。ここでは中身の確認だけにとどめ、他のパラメータも含めて修正をせずにそのままにしておいてください。

photo 図11 「setting.py」の中身

 「switchover.py」は、Horizonで「swichoverボタン」を押したときに動作する、BGD環境切り替えのための実装部分となります(図12)。switchover.pyでは、「openstack_dashboard API」を利用してフローティングIPアドレスを取得し、ロードバランサーのフローティングIPの付け替えを行う処理が記述されています。フローティングIPはロードバランサーのfixed_ipと対応させるために、実際の処理では「fip_productionのフローティングIP」と「fip_stagingのフローティングIP」に関連した「fixed_ip」を取得して、diassociate(図12の*1)し、対応関係を入れ替えてassociate(図12の*2)するようになっています。

photo 図12 「switchover.py」の中身

4-3:BDGメニュー表示用ファイル「_45_bgddashboard.py」を配置する

 HorizonへBDGメニューを表示させるための設定ファイルである「_45_bgddashboard.py」を、「/usr/share/openstack-dashboard/openstack_dashboard/enabled/」へ配置します。

# cp -p /var/tmp/UNIADEX_BGD-master/openstack_horizon_bgd-master/_45_bgddashboard.py  /usr/share/ openstack-dashboard/openstack_dashboard/enabled
「/usr/share/openstack-dashboard/openstack_dashboard/enabled/」へ「_45_bgddashboard.py」をコピーする

 _45_bgddashboard.pyでは、「DISABLED=False」とすることでBDGメニューの表示が有効になります(図13)。

photo 図13 「_45_bgddashboard.py」の中身

 最後に設定を反映させるためにWebサーバを再起動すれば作業は完了です。HorizonでBDGメニューが正しく表示されるかどうかも併せて確認しておいてください。

#systemctl restart httpd
       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。