Edge Node Service (ENS) を使用すると、エンドユーザーの近くでワークロードを実行できますが、近接性だけでは業務継続性は保証されません。このトピックでは、エッジクラウドで利用可能な HA 機能について説明し、シングルノード内および複数ノード間で高可用性アプリケーションを構築する方法を示します。
戦略の選択
ENS は、2 つの補完的な高可用性 (HA) パターンをサポートしています。障害範囲とリカバリ目標に基づいて選択してください。
| パターン | 使用する状況 | 仕組み |
|---|---|---|
| ローカル高可用性 | インスタンスレベルの障害またはトラフィックスパイクが主な懸念事項である場合 | 同じエッジノード上の複数インスタンスにトラフィックとデータを分散します |
| クロスノード高可用性 | シングルノードまたはシングルリージョンの停止を乗り切る必要があるリスクがある場合 | 2 つ以上のエッジノード間でサービスとデータをレプリケートします |
包括的なカバー率を実現するには、両方のパターンを組み合わせて使用してください。
ローカル高可用性
ローカル HA は、シングルエッジノード内のインスタンスレベルの障害やトラフィックスパイクからワークロードを保護します。
複数コンピュートインスタンスのディザスタリカバリ
大量の負荷に耐え、単一障害点 (SPOF) を排除するには、ワークロードを複数 ENS インスタンスに分散し、Edge Load Balancer (ELB) を使用してトラフィックを管理します。
トラフィック分散
ビジネスを複数 ENS インスタンスにデプロイし、ELB を構成して受信トラフィックをそれらに分散します。
ヘルスチェックとフェールオーバー
ELB は、ヘルスチェックを使用してバックエンド ENS インスタンスを継続的に監視します。完全なフェールオーバーライフサイクルは次のとおりです。
ELB は不健全なインスタンスを検出します。
ELB はそのインスタンスへの新しいリクエストのルーティングを停止し、残りの健全なインスタンスにトラフィックをリダイレクトします。
インスタンスが回復すると、ELB は自動的にリクエストの送信を再開します (フェイルバック)。
ELB について詳しくは、「ELB」をご参照ください。
高可用性仮想 IP アドレス (HAVIP)
一部のアプリケーションでは、外部サービスに安定した IP アドレスが必要です。たとえば、Keepalived と Heartbeat は ARP (アドレス解決プロトコル) を使用して IP アドレスを通知し、フェールオーバー中に安定した状態を維持します。
HAVIP はエッジクラウドで同じパターンを可能にします。HAVIP は同じノード上のインスタンス間を浮動するため、アクティブなインスタンスが失敗した場合でも、外部サービスに公開されるプライベート IP アドレスは変更されません。
詳細については、「HAVIP とは何か?
データディザスタリカバリ
ENS は、ディスク、NAS (ネットワークアタッチトストレージ)、および Edge Object Storage (EOS) の 3 つのストレージオプションを提供しており、それぞれに組み込みの冗長性が備わっています。
マルチレプリカ冗長性
ノード内では、ディスクと NAS 上のデータはストレージクラスター全体で 3 つのレプリカに保存され、少なくとも 99.9999% の可用性と信頼性を提供します。EOS は、データ耐久性と可用性のためにイレイジャーコーディングを使用します。
スナップショット
特定の時点のディスクデータをバックアップするためにスナップショットを作成します。スナップショットは、ディスク上のすべてのデータブロックの現在の状態をキャプチャします。これらを使用して、次のことができます。
偶発的な削除または破損後のデータ復元
本番環境をミラーリングする開発およびテスト環境の構築
ノード間でのバッチデプロイメント用のカスタムイメージ作成
クロスノード高可用性
単一のエッジノードは依然として潜在的な単一障害点です。ノードレベルまたはリージョンレベルの停止を乗り切るには、ワークロードを 2 つ以上のエッジノードにデプロイし、それらの間でフェールオーバーを構成します。
全体的なアプローチは次のとおりです。
トポロジーの計画:アクティブ/アクティブまたはアクティブ/スタンバイモードを使用して、業務システムを複数ノードにデプロイします。
ノードの接続:Edge Network Acceleration (ENA) を使用して、ノード間に安全な内部ネットワークを構築します。
トラフィックのルーティング:Alibaba Cloud DNS を使用してパブリックトラフィックを誘導し、DNS for Multicloud Integration を使用して内部サービスフェールオーバーを行います。
データのレプリケート:イメージとスナップショットをノード間でレプリケートし、任意のノードで復元できるようにします。
クロスノードネットワーク接続
ENA は、高速で安全なプライベートネットワークを介して、異なるリージョンとエッジノード間の仮想プライベートクラウド (VPC) を接続します。次の機能をサポートしています。
エッジノード間のアクセラレートされた接続
データセンター間のアクセラレートされた接続
内部ネットワークと Alibaba Cloud 中央クラウド間のアクセラレートされた接続
異なる種類のパブリッククラウド間のアクセラレートされた接続
詳細については、「ENA 製品ページ」をご参照ください。
クロスノードサービス高可用性
デプロイモードの選択
トラフィック管理を構成する前に、要件に適合するモードを選択してください。
| モード | 使用する状況 | トレードオフ |
|---|---|---|
| アクティブ/アクティブ | すべてのノードがトラフィックを同時に処理し、1 つのノードが失敗した場合に部分的な容量損失を許容できる場合 | 最大スループット。アイドル容量なし |
| アクティブ/スタンバイ | 明確で決定的なリカバリパスが必要で、通常の運用中にスタンバイノードがアイドル状態であることを許容できる場合 | よりシンプルなフェールオーバーロジック。スタンバイ容量は予約済み |
Global Traffic Manager を使用したパブリックトラフィックフェールオーバー
Global Traffic Manager (GTM) は、Alibaba Cloud DNS が提供するサービスであり、パブリック DNS がノード間でドメインを解決する方法を制御します。GTM で以下の設定を行います。
ドメイン名:お客様のビジネスが外部ユーザーに公開するドメインです。
アドレスプール:各ノードの Elastic IP アドレス (EIP) を個々のアドレスプールにグループ化します。
負荷分散ポリシー:GTM がプール内でアドレスを選択する方法 (例:重み付け) を設定します。
アドレス動作モード: アドレスごとに [インテリジェントリターン] または [常時オンライン] を選択します。
ヘルスチェック:GTM が各アドレスをプローブするために使用するプロトコルとポートを定義します。
アクセスポリシー:インテリジェント DNS 解決、プライマリおよびスタンバイアドレスプールセット、およびそれらの間のスイッチオーバーポリシーを構成します。
アクティブ/スタンバイ災害復旧の場合:1 つのプールをプライマリとして指定し、もう一方をスタンバイとして指定します。
アクティブ/アクティブ負荷分散の場合:すべてのプールを利用可能なアドレスプールとしてマークします。
GTM には、セットアップを迅速化するための構成テンプレートとして、プライマリ/セカンダリディザスタリカバリとマルチアクティブロードバランシングが用意されています。 詳細については、「Global Traffic Manager 3.0Global Traffic Manager 3.0」をご参照ください。
DNS for Multicloud Integration を使用した内部サービスフェールオーバー
ドメイン名によってアクセスされる内部サービスの場合、DNS for Multicloud Integration をプライベートモードでデプロイします。これは、内部ネットワーク向けのオールインワンのインテリジェント解決サービスを提供し、次の機能を含みます。
内部 DNS 高可用性:ノード間でのプライマリ/セカンダリデプロイメント。プライマリ DNS が失敗した場合、クロスノードセカンダリ DNS が自動的に引き継ぎます。
内部サービスルーティング:DNS 解決レコードとポリシーを構成して、内部サービスのアクティブ/アクティブまたはアクティブ/スタンバイルーティングを実装します。
内部および外部ドメイン名のインテリジェント解決
プライマリ/セカンダリデータセンターのディザスタリカバリとスケジューリング
Alibaba Cloud DNS の統合管理
一般的なオープンソース DNS サービスを置き換えます
クロスノードデータディザスタリカバリ
イメージ
エッジクラウドシステムイメージは Alibaba Cloud 中央クラウドに保存され、その高可用性と信頼性を継承します。カスタムイメージをすべてのエッジノードで利用可能にするには、ENS インスタンスからカスタムイメージを作成します。別のノードに同じサービスをデプロイする場合、中央クラウドからイメージをプルして新しい ENS インスタンスを作成します。
詳細については、「イメージ」をご参照ください。
スナップショット
ローカルディスクバックアップに加えて、ENS はクロスノードスナップショットレプリケーションをサポートしています。ノードが失敗した場合に、別のノードでビジネスとデータを復元できるように、スナップショットをあるノードから別のノードにレプリケートします。
データベース
ENS はネイティブデータベースサービスを提供していません。独自のデータベースをデプロイし、次のいずれかのアプローチを使用して保護してください。
データベースエンジンの組み込みレプリケーションまたは災害復旧メカニズムを使用して、ノード間でデータを同期します。
ENS スナップショットを使用して、データベースデータを他のエッジノードにバックアップします。
共有責任
エッジクラウドの高可用性は共有責任です。
Alibaba Cloud は ENS の安定性を維持し、可用性がサービスレベルアグリーメント (SLA) を満たすことを保証します。
お客様は、障害発生時にフェールオーバーをサポートし、業務継続性を確保するためにアプリケーションアーキテクチャを設計します。
このトピックで説明されているソリューションを実装して、可用性目標を達成してください。