gcp httpロードバランサ運用例

Post on 09-Jan-2017

1.788 Views

Category:

Software

4 Downloads

Preview:

Click to see full reader

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

• ただしコマンドラインの説明!

ちなみに…

オートスケール

• インスタンスグループ

• インスタンステンプレート

• ディスク

• スナップショット

スナップショット

ディスク

インスタンステンプレート

インスタンスグループ

top related