Classic Load Balancer を Application Load Balancer または Network Load Balancer に移行するにはどうすればよいですか?

所要時間2分
0

Classic Load Balancer を Application Load Balancer または Network Load Balancer に移行したいと考えています。これを実行するにはどうすればよいですか? 移行前に考慮すべきベストプラクティスは何ですか? 移行中にダウンタイムは発生しますか?

解決方法

Classic Load Balancer を Application Load Balancer または Network Load Balancer に移行する

移行ウィザードを使用して、Application Load Balancer または Network Load Balancer を作成および設定します。Classic Load Balancer に TCP リスナーがある場合、ウィザードは Network Load Balancer を作成します。Classic Load Balancer に HTTP(S) リスナーがある場合、ウィザードは Application Load Balancer を作成します。ロードバランサーが作成されたら、新しく作成されたロードバランサーをテストします。新しく作成したロードバランサーが問題なく動作する場合は、Classic Load Balancer から新しく作成されたロードバランサーにトラフィックをリダイレクトします。

注意: ウィザードは新しいロードバランサーを作成します。ウィザードは、既存の Classic Load Balancer を Application Load Balancer または Network Load Balancer に変換しません。新しく作成されたロードバランサーにトラフィックを手動でリダイレクトする必要があります。

その後、ポリシー、スクリプト、およびコードを更新します。すべてのトラフィックを新しいロードバランサーにリダイレクトし、古いロードバランサーの既存のリクエストがすべて完了したら、古いロードバランサーを削除します。

移行に関する考慮事項

  • ロードバランサーにサブネットが 1 つしかない場合は、Application Load Balancer の作成時に 2 つ目のサブネットを指定するようにしてください。Application Load Balancer には、少なくとも 2 つのサブネットが必要です。
  • どのロードバランサーに移行すべきかわからない場合は、Network Load Balancer の使用を検討してください。Classic Load Balancer が HTTP または HTTPS リスナーを使用している場合は、Application Load Balancer に移行します。Classic Load Balancer が TCP リスナーを使用している場合は、Network Load Balancer に移行します。ロードバランサーのさまざまな機能の詳細については、「Elastic Load Balancing の特徴」を参照してください。
  • Classic Load Balancer では、クロスゾーン負荷分散を無効にすることができます。Application Load Balancer ではクロスゾーン負荷分散がデフォルトで有効になっており、その負荷分散を無効にすることはできません。Network Load Balancer では、クロスゾーン負荷分散を無効にすることができます。
  • Application Load Balancer は、ロードバランサー自体でリクエストのリダイレクトをサポートできます。Classic Load Balancer のバックエンド接続が HTTP リダイレクト用に設定されている場合、新しいロードバランサーへの移行中にリダイレクトを無効化または削除できます。
  • Network Load Balancer は、ロードバランサーレベルでセキュリティグループをサポートしません。ターゲットに関連付けられているセキュリティグループを使用して、トラフィックを制限できます。Network Load Balancer のレベルでは、サブネットのネットワークアクセスコントロールリスト (ACL) を使用してトラフィックを制限できます。
  • Network Load Balancer は、クライアント IP アドレスを保持できます。セキュリティグループを使用してターゲット上のトラフィックを制限する場合、パケットの送信元 IP にはクライアント IP アドレスが含まれていることに注意してください。

ロードバランサー移行中のダウンタイム

新しいロードバランサーの設定にエラーがある場合、移行中にダウンタイムが発生する可能性があります。ダウンタイムを最小限に抑える、または減らすには、以下のアプローチを検討してください。

  • 本番稼働トラフィックを移行する前に、新しいロードバランサーに対してテストを実行します。新しいロードバランサーがトラフィックリクエストを処理できることを確認します。
  • Amazon Route 53 の加重ルーティングポリシーを使用して、トラフィックを新しいロードバランサーに徐々にルーティングします。新しいロードバランサーで問題が発生した場合は、トラフィックの重みに「0」の値を割り当てます。
  • Route 53 が DNS プロバイダーとして使用されていない場合は、古いロードバランサーを実行したままにします。既存のレコードの Time to live (TTL) の値を「0」に減らします。その後、以前の TTL 値がリセットされるのを待ち、新しいロードバランサーの DNS 名をポイントするようにレコードを更新します。新しいロードバランサーに問題が発生した場合は、Classic Load Balancer の DNS 名をポイントし直すように DNS レコードを更新します。TTL 値が「0」の場合、レコードはキャッシュされません。問題が解決したら、TTL 値を元の値に戻します。
  • 新しいロードバランサーが問題なく動作している場合は、古いロードバランサーを削除します。

**注意:**新世代のロードバランサーは、HTTP/HTTPS リスナーと TCP リスナーを同時にサポートしません。HTTP/HTTPS リスナーと TCP リスナーを同時に用いる Classic Load Balancer を使用している場合は、TCP/TLS リスナーのみを用いる Network Load Balancer を使用することがベストプラクティスです。この変更により、HTTP/HTTPS レベルのロギングが行われなくなります。NLB にはこれを提供するアプリケーションレベルのルーティングがないからです。代替案として、Classic Load Balancer を引き続き使用することができます。


AWS公式
AWS公式更新しました 2年前