GCP ネットワーク負荷分散とフェイルオーバー:SafeKit farm.safe モジュールのインストール
GCP の高可用性クイックインストールガイド
このガイドでは、SafeKit を使用して GCP 用の farm クラスターをセットアップし、ネットワーク負荷分散と自動フェイルオーバーを確実にする方法について説明します。
ヘルプが必要な場合は、SafeKit AI 🤖をご利用ください。
1. 概要
- アーキテクチャ: 仮想 IP アドレスを使用した、スケーラブルなマルチノードの負荷分散 farm を実装します。
- 高可用性: 自動ヘルスモニタリングとシームレスなフェイルオーバー機能を備え、サービスの継続性を確保します。
2. インストール
- ソフトウェア: すべてのサーバーに SafeKit エンジンをインストールします。
- モジュール: 事前に設定された
farm.safeアプリケーションモジュールをダウンロードします。
3. 設定
- **Web コンソール:**GCP farm クラスターを構成します。
- **監視:**GCP アプリケーションの監視と保護を開始します。
SafeKit High Availability の制限事項
| 制限/要件 | 理由と影響 | 推奨される代替案 |
|---|---|---|
| レプリケーションサイズ:数 TB | 障害発生後の再同期時間(ステップ 3): • 1 Gb/s ネットワーク ≈ 3 時間/TB • 10 Gb/s ネットワーク ≈ 1 時間/TB(ディスクの書き込み性能による) | • 外部共有ストレージを使用する(より高価で、より複雑)。 |
| ファイル数:100 万ファイル未満 | •障害発生後の再同期時間性能(ステップ 3)。 • 両方のノード間で各ファイルを比較するのに必要な時間。 | • 複製する多数のファイルを仮想ハードディスク/仮想マシンに配置します。 • この場合、仮想ハードディスク/仮想マシンを表すファイルのみがレプリケートおよび再同期されます。 |
| フェイルオーバー容量:32 台以下の VM | • 各 VM は、独立した mirror モジュール内で実行されます。 • 同じクラスター上で最大 32 個の mirror モジュールを実行できます。 | • 外部共有ストレージと別の VM クラスタリングソリューションを使用する(より高価で、より複雑)。 |
| ネットワークアーキテクチャ:リモートサイト間の LAN/VLAN ネットワーク | • 同じサブネット内の 2 つのノードで仮想 IP アドレスを自動フェイルオーバーします。 • 再同期のための十分な帯域幅(ステップ 3)。 • 同期レプリケーションの低レイテンシ:通常<5 ミリ秒の RTT。より高い値は、アプリケーションの書き込みレートに対して検証する必要があります。 | • 2 つのノードが異なるサブネットにある場合(クラウドで一般的)、ロードバランサー、クラウドプロバイダーの CLI、BGP、または DNS リダイレクションなどの他のルーティングオプションを使用します。 • 高遅延ネットワークには、非同期レプリケーションに対応したバックアップソリューションを使用してください。 |
SafeKit/GCP ソリューションの概要
解決策はこちらで説明されています:💡 SafeKit : Google GCP ロードバランシング & アプリケーション高可用性 farm クラスター。
Windows および Linux への SafeKit/GCP ソリューションのインストール (farm.safe)
Google GCP ロードバランサーの設定
ロードバランサーは、仮想 IP アドレスで設定する必要があります。
また、ロードバランサーは、ノードに定期的にヘルスパケットを送信するように設定する必要があります。
そのため、SafeKit ノード内で実行されるヘルスチェックを提供します
- farm モジュールの状態が UP(緑)の場合、OK を返します
- その他のすべての状態では、NOT FOUND を返します
Google GCP ロードバランサーを次のように設定する必要があります
- HTTP プロトコル
- ポート 9010、SafeKit ウェブサーバーのポート
- URL /var/modules/farm/ready.txt (farm 後でデプロイするモジュール名です)
詳細については、Google GCP ロードバランサーの構成を参照してください。
⚠️ 以下のステップバイステップ設定のステップ 4 で、仮想 IP アドレスとロードバランシングルールを設定しないでください。仮想 IP アドレスとロードバランシングルールは、Google GCP ロードバランサーにすでに設定されています。ステップ 4 で仮想 IP とロードバランシングルールを設定するのは、オンプレミス設定の場合のみです。
Google GCP ネットワークセキュリティの設定
ネットワークセキュリティは、以下のプロトコルとポートの通信を有効にするように設定する必要があります
- UDP - 4800 (safeadmin サービス用、SafeKit ノード間)
- UDP - 4803 (farm モジュール内のハートビート用 (SafeKit ノード間))
- TCP – 9010 は、ロードバランサーのヘルスチェック用、および http モードで実行されている SafeKit Web コンソール用です
- TCP – 9001 を使用してコンソールの HTTPS モードを設定します
- TCP – 9453 (https モードで実行されている SafeKit ウェブコンソール用)
Windows でのパッケージのインストール
- SafeKit の無料版を 2 台の Windows ノードにダウンロードしてインストールします。
注:無料版には SafeKit のすべての機能が含まれています。試用期間終了後、パッケージをアンインストールせずに永久ライセンスキーを有効化できます。 - パッケージのインストールが完了したら、[コンソール認証情報とファイアウォールルールを今すぐ設定する] を選択し、SafeKit コンソールの admin ユーザーのパスワードを設定します。
すべてのノードに同じパスワードを設定してください。 - C:/safekit/(デフォルトのインストールディレクトリ)および定義するすべてのレプリケートされたフォルダをウイルス対策スキャンから除外します。
SafeKit は OS との緊密な統合、仮想 IP メカニズム、リアルタイムレプリケーション、および重要なサービスの再起動により、ウイルス対策ソフトが検出に課題を抱える可能性があります。
Linux でのパッケージのインストール
- SafeKit の無料版を 2 台の Linux ノードにインストールします。注:無料トライアルには SafeKit のすべての機能が含まれています。トライアル終了後、パッケージをアンインストールせずに永久ライセンスキーを有効化できます。
- safekit_xx.bin パッケージをダウンロードした後、それを実行して rpm と safekitinstall スクリプトを抽出し、safekitinstall スクリプトを実行します
- ファイアウォールの自動設定に 「はい」 と回答します
- Web コンソールとデフォルトユーザー admin のパスワードを設定します。すべてのノードで同じパスワードを設定してください。
注:設定する汎用 farm.safe モジュールは、パッケージ内に同梱されています。
SafeKit/GCP ソリューションのステップバイステップ設定
前提条件
- 少なくとも 2 つのノードに をインストールしてください。
- 仮想 IP ロードバランシングの場合、すべてのノードは同じ LAN または拡張 LAN(レイヤー 2)上にある必要があります。ルーティングされたレイヤー 3 ネットワークには、🛠️ クラウ ドロードバランサーが必要です。
1. SafeKit コンソールを起動します
- いずれかのクラスターノードでブラウザーを開き、
http://localhost:9010に接続します。 - ユーザー名
adminと、インストール時に設定したパスワードでサインインしてください。
コンソールは、クラスター外のワークステーションから開くこともできます。
⚠️ SafeKit で両方のノードを設定するには、単一のブラウザを使用してください。
ℹ️ Web コンソールを保護するには、ユーザーガイドの 🛠️ 11. SafeKit Web サービスの保護を参照してください。

2. ノードアドレスの設定
- 各ノードの IP アドレスを入力します。Tab キーを押して接続を確認し、ノード名を入力します。
node1またはnode2が赤色の場合、ブラウザが両方のノードに到達できることを確認します。各ノードのファイアウォールを確認します。🛠️ シューティングを参照してください。Save and applyをクリックして、設定を保存します。- 両方のノードに ✅
Success。表示されていることを確認します。 - ノードに ❌
Failureと表示されている場合は、▼パネルを展開してメッセージを読んでください。ヘルプが必要な場合は、SafeKit AI 🤖 を使用してください。
ℹ️ 2 番目のハートビートネットワークと専用のレプリケーションネットワークを追加するには、LAN and nodes の最初の ➕ ボタンをクリックします。
ℹ️ Advanced configuration をクリックして、cluster.xml。ファイルを表示します。コンソールはこのファイルを埋めて、両方のノードにデプロイします。

3. モジュールを選択します
New moduleで、モジュールfarm.safeを選択します。
ℹ️ 青いバナーの 🛜 node1 は、コンソールに接続されているノードです。必要に応じて、node2 にリクエストを転送します。
ℹ️ インストール中にモジュールファイル xxx.safe を追加した場合、コンソールは node1 の Application_Modules/generic/ ディレクトリでそれを検索します。

4. モジュールを構成する
Module startup at bootに遅延なく自動的に起動するように設定します。Macros/SERVICESで、アプリケーションサービスを起動順にリストします。名前はコンマで区切ります。Heartbeat networksでは、ステップ 2 で LAN を追加した場合を除き、ハートビートネットワークを 1 つ維持してください。Virtual IP addressesに、両方のノードと同じサブネットの仮想 IP アドレスを入力します。- アプリケーションクライアントがこの仮想 IP アドレスまたはその DNS 名を使用するように設定します。
Load balancing rulesで、負荷分散するサービスポート (例:TCP ポート 9010) を入力します。Load balancing rulesで、Source addressまたはSource portを選択しますSource address: 同じクライアントからのすべての TCP 接続は、farm 内の同じノードに送られます。これにより、そのノード上のクライアントのセッションコンテキストが保持されます。Source port:同じクライアントからの TCP 接続は、farm 内の異なるノードに送信できます。セッションコンテキストはノード間で共有されません。
Checkersでは、必要に応じてチェックを追加します。プロセス監視、カスタムチェック、TCP、ping、またはスプリットブレインチェックなどです。Monitored processes/servicesにリストされているプロセスは、監視され、失敗した場合は再起動されます。プロセス名が正しくないと、モジュールは起動直後に停止します。
ℹ️ Advanced configuration をクリックして、ファイル userconfig.xml を表示します。コンソールは、このファイルを記入し、再起動スクリプトを使用して両方のノードにデプロイします。
ℹ️ 展開では、🛠️ クラウドロードバランサーが仮想 IP アドレスとロードバランシングルールを管理します。SafeKit でそれらを構成しないでください。
ℹ️ 設定を適用すると、SafeKit Windows サービスの起動の種類を Manual に設定します。サービスはシステム起動時ではなく、モジュールと共に起動します。また、SafeKit Linux でこれらのサービスがシステム起動時に起動するのを防ぎます。

5. スクリプトを編集する(任意)
- ほとんどの場合、この手順はスキップできます。スクリプトは、前の手順でリストされたサービスを再起動するように既に設定されています。
- 変更が必要ない場合は、
Next stepをクリックします。 - スクリプト
start_both.ps1、SERVICES。リストの順序でサービスを開始します。 - スクリプト
stop_both.ps1、サービスを逆順に停止します。 - スクリプト
start_both.ps1各サービスもチェックします。サービスが起動に失敗した場合、モジュールを停止します。

6. 通信の暗号化(オプション)
- ノード間の通信暗号化を有効にしたままにしてください。

7. 保存して適用
Save and applyをクリックすると、両方のノードに構成とスクリプトがデプロイされます。

8. 設定結果を確認する
- 両方のノードに ✅
Success。表示されていることを確認します。次に、Monitor modules。クリックします。 - ノードに ❌
Failureと表示されている場合は、▼パネルを展開してメッセージを読んでください。ヘルプが必要な場合は、SafeKit AI 🤖 を使用してください。

9. ノード 1 とノード 2 で farm クラスターを起動します
- 画像のように、⋯メニューを開き、両方のノードで
Startを選択します。

10. 両方のノードが UP(緑色)になるまで待ちます
両方のノードが UP(緑)の状態に達している必要があります。これは、両方のノードで start_both スクリプトが実行されたことを意味します。
⚠️ ノードが UP(緑)に到達しない場合、またはアプリケーションが起動しない場合は、その ログを確認してください 🖼️。
node1またはnode2の 🔍 アイコンをクリックして、モジュールログを開きます。モジュールを停止させたチェックなどのエラーを探します。- ログで
start_bothをクリックします。スクリプトの出力が右側に表示されます。サービス起動エラーがないか確認します。 - ログメッセージについては、SafeKit AI 🤖 をご利用ください。
ℹ️ 🕒タイムライン 🖼️ を使用して、クラスター内のイベントの順序を理解します。

11. テスト
SafeKit にはモザイクテストが組み込まれています。SafeKit farm クラスターにおけるロードバランシング仮想 IP アドレスのテストを参照してください。

ℹ️ 詳細と動画については、SafeKit オンライン研修をご覧ください。
12. サポート
- サポートが必要な場合は、ノードごとに 1 つの SafeKit
Snapshotを作成してください。2 つの .zip ファイルを収集してください。
ℹ️ 詳細については、SafeKit サポートをご覧ください。

SafeKit farm ソリューションのデモンストレーション
SafeKit ビデオ:ネットワーク負荷分散と仮想 IP 管理 (5:03)
このビデオでは、2 ノードクラスターに単一のエントリポイントを提供するために仮想 IP アドレスを実装する方法を説明します。SafeKit は、仮想 IP を自動的に管理することでネットワーク負荷分散を簡素化し、クライアントトラフィックがノード全体に分散され、フェイルオーバー時に即座にリダイレクトされることを保証します。このデモンストレーションでは Windows 上の Apache を使用していますが、このソリューションは他のアプリケーションでも同様に機能します。
章
- 🎬 アーキテクチャ:共有仮想 IP 用に 2 つのノードを準備する (0:13)
- 🎬 設定:farm.safe モジュールと仮想 IP アドレスの設定 (2:20)
- 🎬 検証:サーバークラッシュ時のフェイルオーバーテストと仮想 IP リダイレクト (2:30)
ステップバイステップの実装
- 🛠️ Windows で farm.safe クラスターをセットアップする方法については、ガイドをお読みください
- 🛠️ Linux で farm.safe クラスターをセットアップする方法については、ガイドをお読みください
🔍 SafeKit を探索する
SafeKit の機能、アーキテクチャ、ビデオ、ドキュメント、無料トライアルに関する情報をご覧ください。
| リソース | 説明 | リンク |
|---|---|---|
| 主な機能 | SafeKit がシンプルで費用対効果の高い高可用性ソリューションである理由をご覧ください。 | 主な機能 |
| ユースケース | SafeKit が重要なアプリケーションとインフラストラクチャの可用性を維持する方法をご覧ください。 | ユースケースを探索する |
| デプロイメントモデル | SafeKit は、SAN や共有ストレージなしで高可用性を提供します。 | デプロイモデルを探索する |
| 高可用性戦略 | 仮想マシンの高可用性とアプリケーションの高可用性を比較します。 | 2 つの戦略を比較する |
| 技術仕様 | SafeKit クラスターの技術要件と制限事項を確認してください。 | 技術仕様書を読む |
| 動画 | SafeKit の構成と自動フェイルオーバーのデモンストレーションをご覧ください。 | テクニカルビデオを見る |
| アーキテクチャ | SafeKit mirror クラスターファイルをリアルタイムでレプリケートし、フェイルオーバーを処理する方法について説明します。 | Mirror アーキテクチャを探索する |
| アーキテクチャ | SafeKit farm クラスターネットワークトラフィックを分散し、フェイルオーバーを処理する方法について説明します。 | Farm アーキテクチャを探索する |
| 製品比較 | SafeKit と従来の高可用性クラスターを比較します。 | ソリューションを比較する |
| 技術リソース | 技術ドキュメントの検索、SafeKit のダウンロード、無料トライアルへのアクセスはこちらから。 | ドキュメントと無料トライアルにアクセス |
| アプリケーションモジュール | 事前に設定された SafeKit モジュールを使用して、アプリケーションの高可用性を設定します。 | アプリケーションモジュールを探索する |