最初に、GCPには2種類のロードバランサ、つまりネットワークとHTTPのロードバランサが用意されています。 ネットワーク対HTTPロードバランサhereの違いを見つけることができます。この時点から、HTTPロードバランサをとして、HLBと呼ぶことにします(長すぎます)。ここで
がGCPから取られたHLBのアーキテクチャです:
あなたは上記のアーキテクチャから見てきたように、HLBを設定するための可動部品がたくさんあります。ここでは、インスタンステンプレート、インスタンスグループ、転送ルールから順に作成します。
1.インスタンステンプレート:アンマネージドインスタンスグループを使用してHLBでアタッチできるため、インスタンステンプレートはHLBの設定には必要ありませんが、私は、インスタンステンプレートと管理されたインスタンスグループを持つことを好みます。そのため、自動拡張機能を同種のインスタンスのグループに追加することもできます。 インスタンステンプレートhereを作成する手順を記述しました。インスタンスグループ管理
Lets assume the instance template to be sample-template.
2:管理インスタンス・グループを作成し、hereを自動スケーリングのための手順を行ってください。オートスケーリングとロードバランシングは互いに独立しています。どちらもヘルスチェックを提供します。私の見解では、ロードバランサとオートスケーリングの両方についてヘルスチェックを設定することは冗長であり、ロードバランサのヘルスチェックだけではうまくいくと思います。
Lets assume the managed instance group to be autoscale-managed-instance group, which is autoscaled and created based on sample-template.
3.サービスエンドポイント:あなたはHLBによって使用されるサービスのエンドポイントを指定する必要があります。 gcloudにサービス・エンドポイントを設定するためのコマンド:
gcloud compute instance-groups managed \
set-named-ports \
autoscale-managed-instance group \
--named-ports http:80 \
--region asia-northeast1
上記のコマンドは、HLBは、グループ内の均一なインスタンスと通信するのに役立つインスタンス・グループ内のサービス・エンドポイントを作成します。
4.正常性チェック:これは、HLBが正常なインスタンスにのみトラフィックをルーティングするために不可欠です。インスタンスグループ内のインスタンスすなわちすべてのバックエンドインスタンスにこのサービスルーティングトラフィック:
gcloud compute http-health-checks create sample-health-check
5.バックエンドサービス:ヘルスチェックを作成するコマンド。また、インスタンスのヘルスチェックを関連付けて、正常なインスタンスにのみトラフィックをルーティングするようにします。バックエンドサービスを作成するためのコマンド:
gcloud compute backend-services create \
sample-backend-service \
--http-health-checks sample-health-check
上記のコマンドは、バックエンドサービスを作成し、前のステップで作成したヘルスチェックに自分自身を関連付けます。今、次のコマンドを実行して、バックエンドサービスにインスタンス・グループを追加する:
gcloud compute backend-services add-backend sample-backend-service \
--instance-group \
sample-managed-instance-group \
--balancing-mode RATE \
--max-rate-per-instance 100 \
--instance-group-region asia-northeast1
上記のコマンドは、バックエンドサービスへのインスタンスのグループを添付してもbalancing-を使用して要求の数に基づいて負荷を分散しましたモードフラグ。 ロードバランサ使用率に基づいて自動スケーラビリティポリシーを設定していた場合、最大速度 - インスタンスがオートスケーラで使用されます。
6. URLマップ: HTTPリクエストURLをバックエンドサービスにマップするURLマップを作成します。 URLマップを作成するためのコマンド:あなたはコンテンツベースのロードバランサを選択すると
gcloud compute url-maps create sample-map \
--default-service sample-backend-service
が、あなたは、URLマップに多くのエントリを追加する必要があり、それのルート適切なバックエンドサービスに要求するように。
7.ターゲットHTTPプロキシ:この手順では、ターゲットプロキシをURLマップに関連付けます。ターゲットHTTPプロキシを作成するためのコマンド:
gcloud compute target-http-proxies \
create sample-target-proxy \
--url-map sample-map
8.転送ルール:これはHLBのグローバル外部IPアドレスを与える最後のステップです。
gcloud compute forwarding-rules \
create sample-forward \
--global \
--ports 80 \
--target-http-proxy sample-target-proxy
ここで、ブラウザでHLBのIPアドレスにアクセスすると、インスタンスグループ内のインスタンスによって処理されるWebページが提供されます。これは最終的に、自動スケーリングとロードバランスの両方を行うスケーラビリティの高いWebアプリケーションを設定します。
これは、自動的に負荷分散されたバックエンドを構築することに関するパート3の3-part seriesです。