##目的
IBMCloud InternetServicesを活用して、CISを経由したWebサーバへのロードバランスを試す。
今回は、マルチAZ環境でCISのグローバルロードバランサ(GLB)の機能を利用する。
最終的にはTOK05およびTOK04配下にいるサーバまでアクセスできることを確認する。
CISは30日間無料でお試しできるので是非やってみましょう
六部に分けて記載する予定です。
- 初期導入編:IBM Cloud CISの動作確認(1) -初期導入編-
- 証明書設定編:IBM Cloud CISの動作確認(2) -証明書編-
- 動作確認編:IBM Cloud CISの動作確認(3) -動作確認編-
- GLB編:(本ページ)
- cache編:IBM Cloud CISの動作確認(5) -cache編-
- セキュリティ編:IBM Cloud CISの動作確認(6) -Security編-
##環境
- ローカル端末:macOS Catalina 10.15.6 1台
- プラットフォーム:IBMCloud
- CDNサービス:IBM Cloud Internet Services 1サービス(Freeプラン)
- ロードバランシングサービス:IBM Cloud Load Balancer 1サービス(Public to Private)
- TOK04サーバ:CentOS 7.7.1908(Virtual Server for Classic) 2台
- TOK05サーバ:CentOS 7.7.1908(Virtual Server for Classic) 1台
###通信経路
TOK05
Client -> CIS Edge -> Orgin(kou-cent01) -> CIS Edge -> Client
TOK04
Client -> CIS Edge -> origin(kou-iclb) -> 分散先Server -> kou-iclb -> CIS Edge -> Client
1.インターネット端末より「www.m365.work」へアクセスする。 -> https://www.m365.work
2.CIS NSサーバからアクセス先アドレスを取得する。
3.インターネット端末とCIS Edge間でTLS(SSL)接続を確立する。
4.リクエストコンテンツのキャッシュがない場合、CISEdgeとオリジンサーバ間でTLS(SSL)接続を確立する。
5.OriginサーバがコンテンツをCISEdgeに返す。
6.CISEdgeがコンテンツをリクエスト元のインターネット端末に返す。
##分散対象プールの作成
IBM Cloudポータルでの作業
分散対象のサーバプールを作成する。
今回は、TOK05のサーバとTOK04のICLBを指定する。
信頼性 -> グローバル・ロードバランサー -> プールの作成を選択する
- 名前:プール名を任意で設定
- ヘルスチェック:ヘルスチェック先のオリジンコンテンツパスを設定
- 正常な起点のしきい値:この値以上であればプールを利用可能とする値を設定
- ヘルスチェック地域:ヘルスチェック元の地域を設定
- 通知Eメール:プール内オリジンがヘルスチェックに失敗および成功したときにメール通知するアドレス
- 起点:プールに含めるオリジンサーバの情報を設定
- 重み:プール内でアクセス分散させる場合の比率を設定(オリジンサーバのリソースに隔たりがある場合などにつかう)
##ヘルスチェックの変更
IBM Cloudポータルでの作業
信頼性 -> グローバル・ロードバランサー -> **ヘルス・チェックの「・・・」**を選択し、編集を選択する
##GLBの作成
IBM Cloudポータルでの作業
ここまででGLBの作成準備ができたので、実際に作成する。
信頼性 -> グローバル・ロードバランサー -> ロード・バランサーの作成を選択する。
バランサーホスト名は、GLB経由でアクセスさせたいFQDNになるので証明書もこの名前で発行しておく必要がある。
もちろんオリジン側への証明書もこの名前で発行して登録しておくこと。
先程作成したプールを追加する
プールの追加 -> 追加を選択し、作成を選択する。
ここまでで、グローバルロードバランサおよびプールが正常になっているか確認する。
正常になっていない場合、オリジン間との接続性や、証明書の問題が考えられるので対処する。
下記はエラー時のサンプル
##アクセス確認
ローカル端末での作業
TOK05/TOK04間で綺麗に分散されている。
% while true; do curl -w "gettime:%{time_total} " https://glb.m365.work; done
gettime:0.522087 TOK05-SV01
gettime:0.609117 TOK04-SV12
gettime:0.526435 TOK04-SV11
gettime:0.517818 TOK05-SV01
gettime:0.609117 TOK04-SV12
gettime:0.526435 TOK04-SV11
gettime:0.475923 TOK05-SV01
gettime:0.609117 TOK04-SV12
gettime:0.526435 TOK04-SV11
gettime:0.394231 TOK05-SV01
gettime:0.609117 TOK04-SV12
gettime:0.526435 TOK04-SV11
##続きはこちら
IBM Cloud CISの動作確認(5) -cache編-