web-dev-qa-db-ja.com

AWSでのクラウドアプリの高可用性バックエンドゲートウェイの実装

ラウンドロビンDNSで使用されるクラウドアプリに2つのEIPが割り当てられています。これらのEIPに関連付けられている2つのゲートウェイ(プロキシ)に何らかの高可用性モードを設定したいので、3つのAWSアベイラビリティーゾーンのそれぞれにゲートウェイを配置し、それらの前に2つのNLBを配置することを考えていました。 :EIP1はNLB1に接続されており、ゲートウェイAとゲートウェイCをラウンドロビンします。EIP2はNLB 2に接続され、ゲートウェイBとゲートウェイCをラウンドロビンします。

ドキュメント (NLBセクションを参照)によると:

ネットワークロードバランサーは、アベイラビリティーゾーンごとに静的IPをロードバランサーに自動的に提供し、アベイラビリティーゾーンごとにエラスティックIPをロードバランサーに割り当てることもできます。

このことから、NLBはEIPをアベイラビリティーゾーンにしか関連付けることができないため、セットアップには使用できないと思います。これは正しいです?

3つのゲートウェイインスタンス(1つは冗長)が必要であり、それぞれを個別のアベイラビリティーゾーンに配置したい場合、どのような選択肢がありますか?

2
Mihai Todor

NLBは、 クロスゾーン負荷分散 をサポートするようになったため、このシナリオで使用できることがわかりました。

NLBは組み込みの 高可用性 を提供し、アベイラビリティーゾーン全体が影響を受けてもダウンしないように設計されているため、単一のインスタンスを使用するだけで十分であると判断しました。 EIPは単一のアベイラビリティーゾーンにのみ関連付けることができるため、次の設定になりました。

  • ラウンドロビンDNSで使用される2つのパブリックEIPが割り当てられます
  • eIP_1をAZ_aに関連付け、EIP2をAZ_bに関連付けるように設定された1つのNLB
  • 4つのゲートウェイインスタンス。2つはAZ_aに、2つはAZ_bにデプロイされ、NLBのターゲットグループに関連付けられています。

この設定により、通常の状況で各インスタンスがトラフィックの25%を確実に取得し、NLBでクロスゾーン負荷分散を有効にすることで、NLBがすべてのトラフィックを残りの2つのゲートウェイに転送するため、1つのAZのダウンを許容できます。他の健康なAZで。クロスゾーン負荷分散が有効になっている場合は、地域のデータ転送料金が適用される場合があることに注意してください。詳細については、 ドキュメント を参照してください。

1
Mihai Todor