gcp httpロードバランサ運用例
TRANSCRIPT
![Page 1: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/1.jpg)
GCP HTTPロードバランサ 運用例@マナボGCPUG Tokyo February 2016
![Page 2: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/2.jpg)
• 白山 文彦
• 株式会社マナボ 技術者
• @fushiroyama
![Page 3: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/3.jpg)
• Rx Ja Night #1
• http://connpass.com/event/25532/
• Android Testing Bootcamp #1
• http://connpass.com/event/26911/
![Page 4: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/4.jpg)
• GCPUG Tokyo March 2016
• http://eventdots.jp/event/579264
• Firebase祭り
![Page 5: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/5.jpg)
ロードバランサの種類
![Page 6: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/6.jpg)
• HTTP(S) Load Balancing
• Network Load Balancing
![Page 7: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/7.jpg)
Network Load Balancing• いわゆるL4ロードバランサ
• IP、ポート、プロトコルで振り分けを決定
• セッションアフィニティのサポート
• ある程度振り分け先を固定化可能
• WebSocket等も利用可能
![Page 8: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/8.jpg)
• セッションアフィニティ
• 当然NAPTは同一ホストとみなされる
• スマホなどグローバルIPがコロコロ変わる環境では無力
• SSL Terminationがない
• 単一リージョンのみ!
![Page 9: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/9.jpg)
HTTP(S) Load Balancing• HTTPロードバランサ
• いわゆるL7ロードバランサ
• リージョンをまたがるロードバランシングが可能
• 1グローバルIP!
• URLリソースごとの振り分けも可能
• SSL Termination
• proximity(近さ)考慮の自動振り分け
• WebSocket利用不可
![Page 10: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/10.jpg)
• Global Load Balancing
• One Static IP
• DNSベースのラウンドロビンとかではないのでリージョンの障害時にも瞬時にフェイルオーバーできる
• SSL Termination
• 個々のインスタンスに証明書をインストール不要
• Proximity
• リクエスト元と一番近いところに振り分け
• 一番近いリージョンの負荷が高い場合は次に近いところに振り分けみたいなことが出来る
![Page 11: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/11.jpg)
めっちゃ凄い!
![Page 12: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/12.jpg)
早速使ってみよう!
![Page 13: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/13.jpg)
GCPはじめての人は…
• 【2015年版】AWS ユーザが Google Cloud Platform に15分で入門する!
• http://qiita.com/FumihikoSHIROYAMA/items/205fa3aebd20b3a1bace
![Page 14: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/14.jpg)
ファイアウォールルール
![Page 15: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/15.jpg)
![Page 16: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/16.jpg)
![Page 17: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/17.jpg)
インスタンス
![Page 18: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/18.jpg)
![Page 19: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/19.jpg)
![Page 20: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/20.jpg)
複数リージョンで作成
![Page 21: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/21.jpg)
ヘルスチェック
![Page 22: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/22.jpg)
![Page 23: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/23.jpg)
![Page 24: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/24.jpg)
外部IPアドレス
![Page 25: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/25.jpg)
![Page 26: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/26.jpg)
![Page 27: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/27.jpg)
HTTPロードバランサ
![Page 28: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/28.jpg)
![Page 29: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/29.jpg)
![Page 30: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/30.jpg)
![Page 31: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/31.jpg)
![Page 32: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/32.jpg)
![Page 33: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/33.jpg)
グローバル転送ルール
![Page 34: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/34.jpg)
![Page 35: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/35.jpg)
![Page 36: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/36.jpg)
HTTP, HTTPS両方作る
![Page 37: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/37.jpg)
インスタンスグループ
![Page 38: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/38.jpg)
![Page 39: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/39.jpg)
![Page 40: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/40.jpg)
先ほど作った インスタンスを選択
![Page 41: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/41.jpg)
バックエンドサービス
![Page 42: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/42.jpg)
![Page 43: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/43.jpg)
分散モード
• 使用率…CPU使用率
• レート…1秒あたりのリクエスト数
![Page 44: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/44.jpg)
![Page 45: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/45.jpg)
バックエンドを追加で 複数登録する
![Page 46: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/46.jpg)
![Page 47: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/47.jpg)
基本はこれだけ!
![Page 48: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/48.jpg)
ファイアウォールを よりセキュアに
![Page 49: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/49.jpg)
ロードバランサからの アクセスのみ許可
![Page 50: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/50.jpg)
![Page 51: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/51.jpg)
インスタンスの グローバルIPを除去
![Page 52: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/52.jpg)
• https://cloud.google.com/compute/docs/load-balancing/http/cross-region-example
• ロードバランサはインスタンスの内部IPだけあれば通信できるのでExternal IPを取り外せばよりセキュアになる
![Page 53: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/53.jpg)
メンテナンスのTIPS
![Page 54: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/54.jpg)
即座に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
![Page 55: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/55.jpg)
今日やった内容
• Cross-Region Load Balancing
• https://cloud.google.com/compute/docs/load-balancing/http/cross-region-example
• ただしコマンドラインの説明!
![Page 56: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/56.jpg)
ちなみに…
![Page 57: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/57.jpg)
オートスケール
![Page 58: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/58.jpg)
• インスタンスグループ
• インスタンステンプレート
• ディスク
• スナップショット
![Page 59: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/59.jpg)
スナップショット
![Page 60: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/60.jpg)
![Page 61: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/61.jpg)
![Page 62: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/62.jpg)
ディスク
![Page 63: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/63.jpg)
![Page 64: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/64.jpg)
![Page 65: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/65.jpg)
インスタンステンプレート
![Page 66: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/66.jpg)
![Page 67: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/67.jpg)
![Page 68: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/68.jpg)
インスタンスグループ
![Page 69: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/69.jpg)
![Page 70: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/70.jpg)
![Page 71: GCP HTTPロードバランサ運用例](https://reader031.vdocuments.net/reader031/viewer/2022021422/5873bda81a28abbc788b5cd7/html5/thumbnails/71.jpg)