GCPを使ってみよう(Webサービス構築)Vol.4 ロードバランサ設定
前回Vol.3では、インスタンスグループの基礎となるインスタンステンプレートの話をしました。
インスタンステンプレートをベースにインスタンスグループが構築される、という環境までできたので、いよいよこのインスタンスグループをWebサーバとして稼働させます。
複数サーバ(インスタンスグループ)へのアクセスを可能にするにはロードバランサを利用します。
ロードバランサとは
負荷分散装置とも呼ばれ、外部からの通信を複数のサーバーに分散する仕組みを提供する装置です。
負荷を分散するだけでなく、サーバの死活も監視し、障害が発生した場合、そのサーバへの振り分けを停止することでサービス全体が停止するのを回避させる役目もあります。
GCPではクラウド上で負荷分散の設定が行える「Cloud Load Balancing」というサービスが提供されていますので、これを利用してインスタンスグループのロードバランサを設定します。
Cloud Load Balancingの使い方
まずメニューの「ネットワークサービス」の「ロードバランシング」を選択します。
HTTP(S) ロード バランシングを選択します。
ロードバランサの基本設定
ロードバランサの設定は大きく分けて3つあります。
フロントエンドの構成・・・ロードバランサからインターネット(外向け)の設定
バックエンドの設定・・・ロードバランサからGCP(内向け)の設定
ルーティングルール・・・外と内をつなぐルールの設定
まずフロントエンドの設定に名前を付けます。
今回は80番ポートで構築するので後の設定はそのままでOKです。
次にバックエンドサービスにも名前を付けます。
バックエンドタイプを「インスタンスグループ」にし、インスタンスグループのプルダウンから作成したインスタンスグループを選択します。
分散モードなどはひとまずディフォルトで大丈夫ですが、ヘルスチェックの設定が必須となります。
ヘルスチェックとは、サーバとの疎通を監視する条件を設定し、それをクリアすれば正常、クリアできなければ異常としてサーバを自動的に切り離す仕組みです。
デフォルトでは5秒おきにチェックを実施、5秒応答がなければNGとして1回カウント、2回連続でNGが出ると異常と診断されます。
今回は特殊なルーティングルールは不要なので、そのまま作成をクリックすると1分ほどでロードバランサが構築されます。
な、なんて簡単な・・・
ロードバランサが構築されると詳細画面にIPがふられるのでそのIPアドレスでアクセスが確認できれば完了!
ドメインでアクセスしたい場合はDNSでそのIPアドレスをAレコードに設定すればOKです。
Cloud Load Balancingを使ってみて
フロントを複数サーバにして、ロードバランサで負荷分散して・・・なんて、ひと昔前だとかなりの労力がかかる仕事でしたが、GCPを使えばすべてブラウザ上で完結できます。
今回はテストとして構築したので、デフォルトの設定を利用しましたが、実際にサービスを提供する場合はさらに細かい設定と検証が必要になると思います。
各設定画面の「詳細」を展開するとそのあたりもブラウザから設定できるのがGCPの魅力の一つかと思います。
私はもともとネットワーク技術者ではないのですが、それでも今回この構築を行ってみて、サーバとロードバランサの関係を学ぶことができました。
書籍などで機能の概要を知ることは容易ですが、それがどのように動作しているかを実際に触って確認ができる点ではGCPは非常に優れたサービスだと思います。
この記事を書いた人
データコンサルティング部 サービスデザイン
宮宇地 政人
香川県高松市のデジタルマーケティング企業です。
お客様のビジネスでの課題にデータを活用し、スマートに解決する方法を共に見つけるパートナー企業です。
あなたのビジネスの水先案内人でありたい。
アド・セイルの「セイル」とは「船の帆」を意味します。晴れの日も嵐の日も、みなさまの未来への航海を、私たちがご一緒させていただきます。