今回はGCPのロードバランサの設定をわくわく御紹介します。
ぽちぽちブラウザをクリックして設定していくだけで、高性能なロードバランサを調達できる時代になりました。
事前準備 サーバインスタンスを用意しておこう!
サーバを用意してね、ゾーンが”asia-northeast1-a”、という場所にサーバがあるってことだよ。これはしっかり覚えておこうね、後で設定にしっかり必要になるよ!
一応CentOS7での簡単なWEBサーバの設定は書いておくよ。
ApacheなWEBサーバをインストールしようね。
1 2 3 4 |
# yum install httpd php # systemctl start httpd # systemctl enable httpd |
おまじない1だよ。
1 2 3 4 |
# vi /etc/httpd/conf.d/Healthcheck.conf Alias /healthy.php /var/www/html/healthy.php |
おまじない2だよ。
1 2 3 4 |
# vi /etc/httpd/conf.d/KeepAlive.conf KeepAliveTimeout 650 MaxKeepAliveRequests 10000 |
設定を反映させよう。
1 2 3 |
# httpd -t # systemctl enable httpd # systemctl start httpd |
ヘルスチェックファイルを設置するよ。
1 2 3 4 5 6 7 |
# vi /var/www/html/healthy.php <?php echo "<h1>Don'T Remove!!</h1><br/>"; echo "<h2>LoadBalanser HealthCheck File</h2><br/>"; |
アクセスした時に違いを出す為に、ホスト名を出力するプログラムを書き込むよ。
1 2 3 4 5 6 |
# vi /var/www/html/index.php <?php echo gethostname(); |
できたかな、ここまで設定できたら、後はブラウザとマウスをクリックしてすすめるだけだよ。頑張ろう!
インスタンスグループを作成しよう
さっきの2つのサーバインスタンスをグループ化するんだよ。
【インスタンスグループを作成】をクリックしようね。
ゾーンはインスタンスがあるゾーンを選らんでね。
今回は【非マネージドインスタンスグループ】にチェックを入れよう
VMインスタンスで、インスタンスを選択して、【作成】をクリックしようね。
やったぁ!
これでインスタンスグループが出来たよ、簡単だったね。
どきどき!ロードバランサーを作っちゃおう
いよいよお待ちかねのロードバランサだよ、
【ネットワークサービス】>> 【負荷分散】をクリックしようね。
【ロードバランサを作成】をクリックしよう。
たくさんあるね、今回はWEBサーバ用の負荷分散をしたいから、HTTP(S)負荷分散の【設定を開始】を選らんでね。
名前は任意のものを設定してね。
【バックエンドの設定】>> 【バックエンドサービスとバックエンドパケットの作成または選択】>> 【バックエンドサービス】>> 【バックエンドサービスを作成】をクリックしてね。
- 名前:任意のもの
- インスタンスグループ:さっき作成したインスタンスグループ名
入力したら【完了】をクリックしてね。
ヘルスチェックを設定しよう!
サーバが動いているのか、ダウンしているのかをロードバランサが判定して、ダウンしているサーバにはアクセスを向けないようにする設定だよ。とっても大切な設定だから、是非設定しようね。
【ヘルスチェックを作成】をクリックしようね。
- 名前:任意のもの
- プロトコル:HTTP
- リクエストパス:ヘルスチェックファイルのパス
【保存して次へ】をクリックしようね。
今回はセッションアフィニティを設定しないけれど、ユーザのアクセスをロードバランサが覚えて固定してくれるとても便利な機能だよ。ログインが伴うようなセッションを扱うアプリが動いているサーバだったらセッションアフィニティを利用するのも手だね。AWSや他のクラウドだと”スティッキーセッション”って言ったりもするよ。
次は【ホストとパスのルール】だよ。
URLによってインスタンスグループへの振り分けができるんだ、
- ホスト名:任意のもの
- パス:/*
- バックエンド:バックエンドサービスで設定した名前
凄い機能だね。
でも今回はインスタンスグループが1つしかないから/*でいいよ。興味があったら、インスタンスグループを複数つくって、パスに割り当てて動かしてみたらきっと楽しいよ。
【確認と完了】をクリックして、問題なかったら【更新】をクリックしようね。
ロードバランサが作成されたよ、ロードバランサの名前をクリックしよう。
IPがでてくるから、覚えておこうね。
後はDNSにドメイン名とこのIPを紐づければいいんだ。
アクセスしてみよう
はい、
はい。
アクセスするたびにホスト名の表示が変わったね~!これは、ロードバランサがアクセス毎に、異なるサーバに振り分けしているってことがわかるね。凄いね!まだまだGCPはたくさん機能があるから遊んでみてね。
お疲れ様。