gcp httpロードバランサ運用例
TRANSCRIPT
GCP HTTPロードバランサ 運用例@マナボGCPUG Tokyo February 2016
• 白山 文彦
• 株式会社マナボ 技術者
• @fushiroyama
• Rx Ja Night #1
• http://connpass.com/event/25532/
• Android Testing Bootcamp #1
• http://connpass.com/event/26911/
• GCPUG Tokyo March 2016
• http://eventdots.jp/event/579264
• Firebase祭り
ロードバランサの種類
• HTTP(S) Load Balancing
• Network Load Balancing
Network Load Balancing• いわゆるL4ロードバランサ
• IP、ポート、プロトコルで振り分けを決定
• セッションアフィニティのサポート
• ある程度振り分け先を固定化可能
• WebSocket等も利用可能
• セッションアフィニティ
• 当然NAPTは同一ホストとみなされる
• スマホなどグローバルIPがコロコロ変わる環境では無力
• SSL Terminationがない
• 単一リージョンのみ!
HTTP(S) Load Balancing• HTTPロードバランサ
• いわゆるL7ロードバランサ
• リージョンをまたがるロードバランシングが可能
• 1グローバルIP!
• URLリソースごとの振り分けも可能
• SSL Termination
• proximity(近さ)考慮の自動振り分け
• WebSocket利用不可
• Global Load Balancing
• One Static IP
• DNSベースのラウンドロビンとかではないのでリージョンの障害時にも瞬時にフェイルオーバーできる
• SSL Termination
• 個々のインスタンスに証明書をインストール不要
• Proximity
• リクエスト元と一番近いところに振り分け
• 一番近いリージョンの負荷が高い場合は次に近いところに振り分けみたいなことが出来る
めっちゃ凄い!
早速使ってみよう!
GCPはじめての人は…
• 【2015年版】AWS ユーザが Google Cloud Platform に15分で入門する!
• http://qiita.com/FumihikoSHIROYAMA/items/205fa3aebd20b3a1bace
ファイアウォールルール
インスタンス
複数リージョンで作成
ヘルスチェック
外部IPアドレス
HTTPロードバランサ
グローバル転送ルール
HTTP, HTTPS両方作る
インスタンスグループ
先ほど作った インスタンスを選択
バックエンドサービス
分散モード
• 使用率…CPU使用率
• レート…1秒あたりのリクエスト数
バックエンドを追加で 複数登録する
基本はこれだけ!
ファイアウォールを よりセキュアに
ロードバランサからの アクセスのみ許可
インスタンスの グローバルIPを除去
• https://cloud.google.com/compute/docs/load-balancing/http/cross-region-example
• ロードバランサはインスタンスの内部IPだけあれば通信できるのでExternal IPを取り外せばよりセキュアになる
メンテナンスのTIPS
即座にLBから切り離し
$ sudo iptables -I INPUT 1 -m state --state NEW -s 130.211.0.0/22 \ -p tcp --destination-port 80 -j REJECT \ --reject-with tcp-reset # HTTP load balancing
$ sudo iptables -I INPUT 1 -m state --state NEW -s 130.211.0.0/22 \ -p tcp --destination-port 443 -j REJECT \ --reject-with tcp-reset # HTTPS load balancing
今日やった内容
• Cross-Region Load Balancing
• https://cloud.google.com/compute/docs/load-balancing/http/cross-region-example
• ただしコマンドラインの説明!
ちなみに…
オートスケール
• インスタンスグループ
• インスタンステンプレート
• ディスク
• スナップショット
スナップショット
ディスク
インスタンステンプレート
インスタンスグループ