GCP における高度な負荷分散とクラスタリング

カテゴリを表示

GCP における高度な負荷分散とクラスタリング

所要時間

GCP クラスタリングの概要 #

この記事では設定方法を説明します 高度な負荷分散と高可用性 RELIANOID ロードバランサ in Google クラウド プラットフォーム (GCP)。
導入と設定の全プロセスを紹介します。 RELIANOID クラスタ また、 仮想IP(VIP) フェイルオーバーと バックエンドサーバーのファーム HTTP 負荷分散用。
目的は、1 つのノード (マスター) に障害が発生したり、再起動したりした場合に、仮想 IP とサービスが自動的にセカンダリ ノードにフェールオーバーし、中断のないアプリケーションの可用性を確保することです。

クラウドロードバランサのクラスタリング環境 #

これをどのように実装できるかを説明します。 Google Cloud Platform(GCP) ネイティブGCPサービスを使用します。次の図は、Webロードバランシングセットアップを展開するアーキテクチャを示しています。 RELIANOID アプリケーション配信コントローラ GCP で高可用性とフェイルオーバーを実現します。

アーキテクチャ図 #

GCP の Reliadnoid ロードバランサ クラスタ スキーマ

各 RELIANOID VMは1つで構成されます ネットワークインターフェース(nic0) に接続されている VPCネットワーク そして、 内部静的外部 IP。

  • LB1:
    • 内部IP: 10.0.1.9
    • 外部IP: 34.122.145.90
  • LB2:
    • 内部IP: 10.0.1.8
    • 外部IP: 35.233.210.70

追加の セカンダリ内部IP(VIP) LB1 のネットワークインターフェース上に作成されます:

  • VIP(仮想サービス用):10.0.1.11
    • この IP はフェイルオーバー中にノード間 (マスター/スレーブ) で自動的に移動します。
    • 外部の静的IPを通じて公開されます。例: 34.172.119.80、仮想サービスへのユーザーアクセス用。

その バックエンドサーバー (実際のアプリケーション)は同じプライベートネットワークに展開されます(10.0.1.0/24)そして インターネットに直接公開されません。

GCP でクラウド ロードバランサ クラスタリングを実装する #

1.デプロイ RELIANOID ロードバランサインスタンス #

展開することができます RELIANOID ロードバランサイメージを直接 Google Cloud マーケットプレイス。

  1. に行く Google Cloud Console → Compute Engine → VM インスタンス → インスタンスの作成。
  2. まず RELIANOID ロードバランサイメージ 「カスタムイメージ」の下の「マーケットプレイス」をクリックします。
  3. 設定:
    • マシンタイプ: e2-micro(テストには十分ですが、本番環境ではn2-standardを使用してください)
    • 地域/ゾーン: 両ノードで同じリージョン
    • ネットワークインタフェース:
      • ネットワーク: relianoid-vpc
      • サブネットワーク: relianoid_subnet
      • 外部IP: 静的(新しい静的IPを割り当てる)
    • ファイアウォール:TCP 22 (SSH)、TCP 444 (Web GUI)、および TCP 80 (HTTP サービス用) を許可します。
  4. 詳しくはこちら 詳細オプション → セキュリティ → アクセススコープ
    • 選択する すべてのクラウド API へのフルアクセスを許可する or カスタムサービスアカウントを設定する (推奨)。
    • を割り当てます サービスアカウント   Compute Admin の三脚と Compute Network Admin 役割

両方のノード (LB1 と LB2) を同じ VPC とサブネットにデプロイします。

2. サービス アカウント(ID アクセス)を有効にして構成する #

RELIANOID 使用 GoogleクラウドAPI Azure マネージド ID に似たフェールオーバー管理用。

  • に行く IAM と管理 → サービス アカウント。
  • 作る 新しいサービスアカウント 命名 relianoid-cluster-sa.
  • 次のロールを割り当てます。
    • Compute Instance Admin (v1)
    • Compute Network Admin
    • Service Account User

これを添付 サービスアカウント 〜へ LB1とLB2の両方 VM (編集 → サービス アカウントの変更)。

次に、各ノードからのアクセスを確認します。

sudo systemctl status google-guest-agent
gcloud auth list
gcloud projects get-iam-policy <YOUR_PROJECT_ID>

エージェントがインストールされていない場合は、次を実行します。

sudo apt-get install google-cloud-sdk google-compute-engine

3. ネットワークインターフェースと仮想IPを構成する #

GCP では、コンソールまたは CLI を介してセカンダリ内部 IP を手動で追加できます。

LB1(マスターノード)の場合:

  • に行く VPCネットワーク → VMインスタンス → LB1 → 編集 → ネットワークインターフェース → セカンダリ内部IPの追加
  • 割り当てる:
    • IPアドレス: 10.0.1.11
    • 名前: vip-lb
    • 種類: Static

LB2 (バックアップノード) の場合:

  • このセカンダリ IP を割り当てないでください。
  • その RELIANOID クラスター サービスは、フェイルオーバー中にこれを自動的に再割り当てします。

4. セキュリティルール(ファイアウォール構成) #

In VPCネットワーク → ファイアウォール、 以下を許可するルールを作成します。

プロトコル ポート 目的
TCP 22 SSHアクセス
TCP 444 Web GUI
TCP 80 バックエンドHTTPサービス

これらのルールを次のようにタグ付けされたインスタンスに適用します relianoid-lb.

5。 アクティブにする RELIANOID ライセンス #

各ノードにアクセスします。

  • LB1: https://34.122.145.90:444
  • LB2: https://35.233.210.70:444

使用します。

  • ユーザー名: root
  • パスワード: インスタンスID

ホスト名と証明書キーを取得する → アクセス
https://www.relianoid.com/activate-enterprise-edition-cloud-evaluation/
ダウンロードしたものをアップロード .pem 各ノードにライセンス ファイルを送信します。

6。 設定 RELIANOID クラスタ #

LB1 Web GUI → システム → クラスタ、 記入してください:

フィールド
ローカルIP nic0 (10.0.1.9) を選択
リモートIP 10.0.1.8
リモートノードパスワード (LB2インスタンスID)

GCP を使用した Reliaoid ロードバランサ クラスタ構成

詳しくはこちら 生成。

LB1は マスター、 LB2は スレーブ 自動的に。

GCP で負荷分散サービスを作成する #

それでは、簡単な Web 負荷分散ファームを構成してみましょう。
に移動します。
LSLB → 農場 → 農場の作成

パラメーター:

  • 農場名: ウェブファーム
  • VIP: 10.0.1.11
  • ポート: 80
  • アルゴリズム: ラウンドロビン
  • 持続性: ソースIP(60秒)
  • 健康診断: check_tcp

バックエンド サーバーを追加します。

  • バックエンド1: 10.0.1.20:80
  • バックエンド2: 10.0.1.21:80

構成を適用します。

次の仮想サービスにアクセスします:

http://34.172.119.80/

トラフィックは、バックエンドサーバー間で分散されます。 RELIANOID クラスタ。

フェイルオーバーをテストするには:

  • マスターノード (LB1) を再起動します。
  • LB2 がアクティブになり、VIP (10.0.1.11) を制御することを確認します。
  • パブリック IP 経由の接続は中断されません。

トラブルシューティング: このホストにはサービス アカウントが割り当てられていません #

次のメッセージを受信した場合:

    「このホストにはサービスアカウントが割り当てられていません。GCPコンソールで設定してください。」

GCPを示します サービスアカウント 設定されていないか、 Googleゲストエージェント 欠落しています。

検証します:

sudo systemctl status google-guest-agent
gcloud auth login --brief
gcloud auth print-access-token

エージェントまたは SDK が見つからない場合:

sudo apt-get install google-cloud-sdk google-compute-engine

確認しておいて:

  • インスタンスには有効な サービスアカウント 添付。
  • その サービスアカウント があります コンピューティング管理者 の三脚と ネットワーク管理 役割

GCPの高度な負荷分散とクラスタリングをご利用ください RELIANOID! #

📄 この文書をPDF形式でダウンロードする #

    EMAIL: *