
情報論的学習理論ワークショップ(IBIS2016)参加レポート(その1)
こんにちは、アドテク本部でネットワークエンジニアをしている菊地です。
マルチリージョン対応のロードバランシングは現時点でGCPのみ可能という点に興味を持ち、実際に設定をして動作検証も試しました。
今記事では、マルチリージョン対応のロードバランシングで実現可能なことを紹介します。
記事の流れはこのよう以下のようになっております。
このような流れで説明していきたいと思います。
GCPのロードバランシングの特徴についていくつか挙げておきます。
これらの特徴のうち、特に複数リージョンをまたぐ負荷分散や障害時の切り替えについて正しく動作するのか気になりました。
作成手順:
– ネットワーキング→ファイアウォール ルール→ファイアウォール ルールの作成
今回はHTTP通信をバランシングしたいため、全ての宛先からのHTTP通信を許可するルールを作成
ターゲットタグの名前も忘れずに設定
予約手順:
– ネットワーキング→外部IPアドレスの静的アドレス予約を押す→名前を入力、タイプはグローバルを指定
作成手順:
– Compute Engine→ヘルスチェック→ヘルスチェックの作成
ヘルスチェックの作成の設定項目
設定項目 | 設定内容 |
名前 | 任意の名前 |
プロトコル | 今回はHTTPを選択 |
ポート | 今回は80番を選択 |
リクエストパス | 任意のパスを記述 |
ヘルスチェックの条件 | チェック間隔(秒)、タイムアウト(秒)、正常しきい値、異常しきい値 |
作成手順:
– Compute Engine→VMインスタンス→インスタンスの作成
新しいVMインスタンスの作成画面の設定項目
設定項目 | 設定内容 |
名前 | 任意の名前 |
ゾーン | 任意のゾーンを選択 |
マシンタイプ | 任意のマシンタイプを選択 |
※ファイアウォールルールでhttp通信を許可するルールを割り当てる必要あり
作成手順:
– Compute Engine→インスタンス グループ→インスタンス グループを作成
新しいインスタンス グループの作成画面の設定項目
設定項目 | 設定内容 |
名前 | 任意の名前 |
場所 | シングルゾーン |
ゾーン | バランシング対象のVMインスタンスと同じゾーンを選択 |
作成方法 | 既存のインスタンスを選択 |
ネットワーク | バランシング対象のVMのインスタンスの設定を参考に |
VMインスタンス | バランシング対象のVMインスタンスを指定(同じリージョンであれば複数指定可) |
※マルチリージョンに対応したい場合、リージョンの種類ごとにインスタンスグループを作成する必要があります
設定手順:
– ネットワーキング→負荷分散→ロードバランサを作成
– 今回はHTTP(S)負荷分散を選択(設定の開始を選択)
– HTTP(S)負荷分散の編集
– バックエンドをインスタンスグループごとに作成(マルチリージョン対応の場合、複数選択)
設定項目
設定項目 | 設定内容 |
インスタンスグループの選択 | 手順4で作成したインスタンスグループを選択 |
ポート番号 | 今回は80番を選択 |
分散モード | 使用率(CPU使用率を選択) |
最大CPU使用率 | 数値は自由選択 |
ヘルスチェックの選択 | 手順3で作成したヘルスチェックを選択 |
6.1で作成したバックエンドを指定
設定項目 | 設定内容 |
プロトコル | HTTP |
IP | 手順2で予約したIPアドレス |
ポート | 今回は80番を指定 |
最後に更新を選択
設定後、ロードバランサの詳細と監視の図は以下のようになります
以上で設定完了です
設定終了後、動作確認を行いました。その際に分かったことについてまとめてみました。
– ローカルのクライアントからロードバランサへのHTTP通信
Asiaリージョン用のインスタンスグループ下の対象インスタンスに対して常に通信する
– USリージョンのインスタンスからロードバランサへのHTTP通信
USリージョン用のインスタンスグループ下の対象インスタンスに対して常に通信する
動作確認環境が所属する地域に関わらず、もう片方の他のリージョンのインスタンスグループへの通信に切り替わることが分かりました
各ゾーンにおけるバランシング対象となるVMインスタンスの選択方法が異なります
– シングルゾーンの場合
バランシング対象の決め方:インスタンステンプレートの利用と既存のVMを両方選択可能です
– マルチゾーンの場合
バランシング対象の決め方:インスタンステンプレートの利用はできます
ただし、既存のVMを選択をすることはできません
これらの動作結果により
今回、GCPのマルチリージョン対応のロードバランシングに触れるよい機会でした。動作環境のリージョンに応じて、より近いリージョンのVMインスタンスと通信を行う仕組みになっており、レスポンス速度を向上させることが可能です。また障害時にリージョンが異なるVMインスタンスへの切り替える事が可能であると分かりました。これらのマルチリージョン対応のロードバランシングの強みを実感しました。
Author