技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

アクセス負荷分散「Cloud Load Balancing」

アクセス負荷分散「Cloud Load Balancing」

現在の案件ではコンテナ管理にk8s(GKE)を利用しています。

Google Kubernetes Engine(GKE)には、一般公開するアプリケーション用に次の 2 種類の Cloud Load Balancing(HTTP(S)負荷分散用のレイヤー7ロードバランサ(GlobalLoadBalancer)) のサポートが組み込まれています。

k8sについて ↓ lhiroki1205.hatenablog.com

HTTP(S) 負荷分散用 GKE Ingress

Google Kubernetes Engine(GKE)では、GKE Ingress と呼ばれる、組み込みのマネージド Ingress コントローラを使用できます。このコントローラは、GKE で HTTP(S) ワークロードを処理する Google Cloud ロードバランサとして Ingress リソースを実装します。

ingressオブジェクトはクラスタ内で実行されるアプリケーションに HTTP(S) トラフィックをルーティングするルールを定義します。

その時にGKE Ingress コントローラによって Cloud HTTP(S) ロードバランサが作成され、Ingress および関連する Service の情報に従ってそれが構成されます。

つまり、アクセス負荷やCPU負荷が高い時に自動でPodを増やしてオートスケールするといったことが可能になるのです。

GlobalLoadBalancer利用方法について

GlobalLoadBalancerはk8sを利用しない場合でも利用することは可能です。

下記参照図のようにGAEの負荷を算出して、負荷が少ない方に自動ルーティングすることが可能になります。 f:id:lhiroki1205:20210418125501p:plain

参考

吉積礼敏. GCPの教科書

https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer