GCP クラスタリングの概要 #
この記事では設定方法を説明します 高度な負荷分散と高可用性 RELIANOID ロードバランサ in Google クラウド プラットフォーム (GCP)。
導入と設定の全プロセスを紹介します。 RELIANOID クラスタ また、 仮想IP(VIP) フェイルオーバーと バックエンドサーバーのファーム HTTP 負荷分散用。
目的は、1 つのノード (マスター) に障害が発生したり、再起動したりした場合に、仮想 IP とサービスが自動的にセカンダリ ノードにフェールオーバーし、中断のないアプリケーションの可用性を確保することです。
クラウドロードバランサのクラスタリング環境 #
これをどのように実装できるかを説明します。 Google Cloud Platform(GCP) ネイティブGCPサービスを使用します。次の図は、Webロードバランシングセットアップを展開するアーキテクチャを示しています。 RELIANOID アプリケーション配信コントローラ GCP で高可用性とフェイルオーバーを実現します。
アーキテクチャ図 #
各 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 マーケットプレイス。
- に行く Google Cloud Console → Compute Engine → VM インスタンス → インスタンスの作成。
- まず RELIANOID ロードバランサイメージ 「カスタムイメージ」の下の「マーケットプレイス」をクリックします。
- 設定:
- マシンタイプ: e2-micro(テストには十分ですが、本番環境ではn2-standardを使用してください)
- 地域/ゾーン: 両ノードで同じリージョン
- ネットワークインタフェース:
- ネットワーク:
relianoid-vpc - サブネットワーク:
relianoid_subnet - 外部IP: 静的(新しい静的IPを割り当てる)
- ファイアウォール:TCP 22 (SSH)、TCP 444 (Web GUI)、および TCP 80 (HTTP サービス用) を許可します。
- 詳しくはこちら 詳細オプション → セキュリティ → アクセススコープ
- 選択する すべてのクラウド 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 AdminService 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) |
詳しくはこちら 生成。
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-agentgcloud auth login --briefgcloud auth print-access-token
エージェントまたは SDK が見つからない場合:
sudo apt-get install google-cloud-sdk google-compute-engine
確認しておいて:
- インスタンスには有効な サービスアカウント 添付。
- その サービスアカウント があります コンピューティング管理者 の三脚と ネットワーク管理 役割

