Classic Load Balancer の移行 - Elastic Load Balancing

Classic Load Balancer の移行

VPC に既存の Classic Load Balancer があるが、Application Load Balancer または Network Load Balancer の方がニーズを満たす可能性があると判断した場合は、Classic Load Balancer を移行できます。移行プロセスを完了すると、新しいロードバランサーの機能を利用できます。詳細については、「Elastic Load Balancing 製品の比較」を参照してください。

ステップ 1: 新しいロードバランサーを作成する

Classic Load Balancer と同じ設定で Application Load Balancer または Network Load Balancer を作成します。

次のいずれかの方法を使用して、ロードバランサーとターゲットグループを作成できます。

オプション 1: 移行ウィザードを使用した移行

移行ウィザードにより、Classic Load Balancer の設定に基づいてApplication Load Balancer または Network Load Balancer が作成されます。作成されるロードバランサーのタイプは、Classic Load Balancer の設定によって異なります。

移行ウィザードのリリースノート

  • Classic Load Balancer は VPC 内にある必要があります。

  • Classic Load Balancer に HTTP または HTTPS リスナーがある場合、ウィザードは Application Load Balancer を作成できます。Classic Load Balancer に TCP リスナーがある場合、ウィザードは Network Load Balancer を作成できます。

  • Classic Load Balancer の名前が既存の Application Load Balancer または Network Load Balancer の名前と一致する場合、ウィザードでは、移行中に別の名前を指定する必要があります。

  • Classic Load Balancer に 1 つのサブネットがある場合、ウィザードでは、Application Load Balancer の作成時に 2 番目のサブネットを指定する必要があります。

  • Classic Load Balancer で EC2-Classic に登録されたインスタンスがある場合、新しいロードバランサーのターゲットグループには登録されません。

  • Classic Load Balancer に次のタイプの登録されたインスタンスがある場合は、Network Load Balancer のターゲットグループには登録されません: C1、CC1、CC2、CG1、CG2、CR1、CS1、G1、G2、HI1、HS1、M1、M2、M3、および T1。

  • Classic Load Balancer に HTTP/HTTPS リスナーがあるが、TCP ヘルスチェックを使用する場合、ウィザードは HTTP ヘルスチェックに変更されます。次に、Application Load Balancer の作成時にデフォルトでパスが「/」に設定されます。

  • Classic Load Balancer を Network Load Balancer に移行した場合、ヘルスチェック設定は Network Load Balancer の要件を満たすように変更されます。

  • Classic Load Balancer に複数の HTTPS リスナーがある場合、ウィザードはその 1 つを選択し、証明書とポリシーを使用します。ポート 443 に HTTPS リスナーがある場合、ウィザードはこのリスナーを選択します。選択されたリスナーでカスタムポリシーまたは Application Load Balancer でサポートされていないポリシーを使用する場合、ウィザードはデフォルトのセキュリティポリシーに変更されます。

  • Classic Load Balancer にセキュアな TCP リスナーがある場合、Network Load Balancer は TCP リスナーを使用します。ただし、証明書またはセキュリティポリシーは使用しません。

  • Classic Load Balancer に複数のリスナーがある場合、ウィザードは最も低い値を持つリスナーポートを、ターゲットグループポートとして使用します。これらのリスナーに登録された各インスタンスは、すべてのリスナーのリスナーポートでターゲットグループに登録されます。

  • Classic Load Balancer で、タグ名に aws というプレフィックスの付いたタグがある場合、そのタグは新しいロードバランサーに追加されません。

移行ウィザードを使用して Classic Load Balancer を移行するには

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。

  3. Classic Load Balancer を選択します。

  4. [Migration] タブで、[Launch ALB Migration Wizard] または [Launch NLB Migration Wizard] をクリックします。表示されるボタンは、Classic Load Balancer を調べた後でウィザードによって選択されたロードバランサータイプによって異なります。

  5. [Review] ページで、ウィザードによって選択された設定オプションを確認します。オプションを変更するには、[Edit] を選択します。

  6. 新しいロードバランサーの設定が終了したら、[Create] を選択します。

オプション 2: ロードバランサーコピーユーティリティを使用した移行

このユーティリティは GitHub で入手できます。詳細については、「ロードバランサーコピーユーティリティ」を参照してください。

オプション 3: 手動の移行

次の情報は、Classic Load Balancer に基づいて新しいロードバランサーを手動で作成するための一般的な手順を示しています。AWS マネジメントコンソール、AWS CLI、または AWS SDK を使用して移行を実行できます。詳細については、「Elastic Load Balancing の開始方法」を参照してください。

  • 新しいロードバランサーを、Classic Load Balancer と同じスキーム (インターネット向けまたは内部向け)、サブネット、セキュリティグループを設定して作成します。

  • ロードバランサーの 1 つのターゲットグループを、Classic Load Balancerと同じヘルスチェック設定で作成します。

  • 以下のいずれかを行います。

    • Classic Load Balancer が Auto Scaling グループにアタッチされている場合は、ターゲットグループをその Auto Scaling グループにアタッチします。これにより、Auto Scaling インスタンスがターゲットグループに登録されます。

    • EC2 インスタンスをターゲットグループに登録します。

  • 1 つ以上のリスナーを作成し、各リスナーに、リクエストをターゲットグループに転送するデフォルトのルールを設定します。HTTPS リスナーを作成する場合は、Classic Load Balancer 用に指定したのと同じ証明書を指定できます。デフォルトのセキュリティポリシーを使用することをお勧めします。

  • Classic Load Balancer がタグ付けされている場合は、それらを見直して、関連性のあるタグを新しいロードバランサーに追加します。

ステップ 2: トラフィックを新しいロードバランサーに段階的にリダイレクトする

インスタンスを新しいロードバランサーに登録したら、トラフィックをリダイレクトするプロセスを開始できます。これにより、新しいロードバランサーをテストできます。

トラフィックを新しいロードバランサーに段階的にリダイレクトするには

  1. インターネットに接続したウェブブラウザのアドレスフィールドに、新しいロードバランサーの DNS 名を貼り付けます。すべて適切な場合は、ブラウザにサーバーのデフォルトページが表示されます。

  2. ドメイン名を新しいロードバランサーに関連付ける新しい DNS レコードを作成します。DNS サービスが重み付けをサポートしている場合は、新しい DNS レコードに重み 1 を、Classic Load Balancerの既存の DNS レコードに重み 9 を指定します。これで、トラフィックの 10% が新しいロードバランサーに、90% が Classic Load Balancer にリダイレクトされます。

  3. 新しいロードバランサーをモニタリングして、トラフィックが受信され、リクエストがインスタンスにルーティングされていることを確認します。

    重要

    DNS レコードの有効期限 (TTL) は 60 秒です。つまり、ドメイン名を解決する DNS サーバーは、変更が反映される間、レコード情報を 60 秒間キャッシュに保持します。したがって、これらの DNS サーバーは、前の手順を完了してから最大 60 秒間、トラフィックを引き続き Classic Load Balancer にルーティングできます。伝達の実行中、トラフィックは両方のロードバランサーにリダイレクトされる可能性があります。

  4. すべてのトラフィックが新しいロードバランサーにリダイレクトされるまで、DNS レコードの重みの更新を繰り返します。完了したら、Classic Load Balancerの DNS レコードを削除できます。

ステップ 3:Classic Load Balancer への参照を更新する

Classic Load Balancer の移行が完了したら、以下のような Classic Load Balancer への参照を必ず更新してください。

  • (aws elbv2 コマンドではなく) AWS CLI aws elb コマンドを使用するスクリプト

  • バージョンではなく 2015-12-01) Elastic Load Balancing API バージョン 2012-06-01 を使用するコード

  • API バージョン 2012-06-01 を使用する IAM ポリシー (バージョン 2015-12-01 ではなく)

  • CloudWatch メトリクスを使用するプロセス

  • AWS CloudFormation テンプレート

リソース

ステップ 4: Classic Load Balancer を削除する

Classic Load Balancer は以下の後で削除できます。

  • すべてのトラフィックを新しいロードバランサーにリダイレクトしました。

  • Classic Load Balancer にルーティングされた既存のリクエストはすべて完了しました。