Classic Load Balancer の移行 - Elastic Load Balancing

Classic Load Balancer の移行

Elastic Load Balancing は、クラシックロードバランサー、Application Load Balancer、および Network Load Balancer の 3 種類のロードバランサーを提供しています。各ロードバランサータイプの機能の違いの詳細については、「Elastic Load Balancing 製品の比較」を参照してください。

移行シナリオ

  1. VPC に既存の Classic Load Balancer がある場合、Application Load Balancer または Network Load Balancer がニーズを満たしていることを確認してから、Classic Load Balancer をこれらのロードバランサータイプのいずれかに移行します。

  2. EC2-Classic に既存の Classic Load Balancer がある場合は、Application Load Balancer または Network Load Balancer がニーズを満たしていることを確認してから、Classic Load Balancer をこれらのロードバランサータイプのいずれかに移行します。それ以外の場合は、VPC の Classic Load Balancer に移行します。インスタンスを EC2-Classic のままにして、ClassicLink を有効にしてインスタンスをロードバランサー VPC にリンクするか、インスタンスを EC2-Classic から VPC に移行できます。

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

移行する Classic Load Balancer と同等の設定でロードバランサーを作成します。移行プロセスを完了すると、新しいロードバランサーの機能を利用できます。

Application Load Balancer または Network Load Balancer を作成して VPC の Classic Load Balancer を置き換える場合、次のいずれかのオプションを使用します。

VPC の Classic Load Balancer を作成し、EC2-Classic の Classic Load Balancer を置き換える場合、次のオプションを使用します。

オプション 1: コンソールで移行ウィザードを使用する

移行ウィザードにより、VPC 内の 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 からのロードバランサーコピーユーティリティを使用する

このロードバランサーコピーユーティリティは GitHub にあります。詳細については、「Elastic Load Balancing ツール」を参照してください。

オプション 3: Application Load Balancerまたは Network Load Balancer に手動で移行する

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

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

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

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

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

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

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

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

以下の情報は、EC2-Classic の Classic Load Balancer に基づいて、新しい VPC 内の Classic Load Balancer を手動で作成する一般的な手順を示します。AWS マネジメントコンソール、AWS CLI、または AWS SDK を使用して移行を実行できます。詳細については、クラシックロードバランサー 用ユーザーガイド の「チュートリアル: Classic Load Balancer の作成」を参照してください。

  1. 次のいずれかを行ってください。

    • VPC で ClassicLink を有効にし、EC2-Classic インスタンスを VPC にリンクします。詳細については、Amazon EC2 ユーザーガイドの「増分移行に ClassicLink を使用する」を参照してください。

    • EC2 リソース (インスタンスやセキュリティグループなど) を EC2-Classic から VPC に移行します。詳細については、Amazon EC2 ユーザーガイドの「リソースを VPC に移行する」を参照してください。

  2. VPC で新しい Classic Load Balancer を作成します。

  3. ロードバランサーを作成するときに、準備した VPC (ClassicLink が有効になっている VPC、または EC2-Classic からインスタンスを移行する際に使用した VPC) を選択します。新しいロードバランサーに登録するインスタンスを含む各アベイラビリティーゾーンから 1 つのサブネットを選択します。

  4. セキュリティグループの割り当てを求めるメッセージが表示されたら、VPC で ClassicLink が有効になっている場合は、ClassicLink を有効にしたときに指定したセキュリティグループと同じものを選択します。

  5. プロンプトが表示されたら、ロードバランサーに登録するインスタンスを選択します。

  6. 古い Classic Load Balancer がタグ付けされている場合は、それらを見直して、関連性のあるタグを新しい Classic Load Balancer に追加します。

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

インスタンスを新しいロードバランサーに登録したら、古いロードバランサーから新しいロードバランサーにトラフィックをリダイレクトするプロセスを開始できます。これにより、アプリケーションの可用性に与えるリスクを最小限に抑えながら、新しいロードバランサーをテストできます。

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

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

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

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

    重要

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

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

ステップ 3: ポリシー、スクリプト、およびコードを更新する

Classic Load Balancer を Application Load Balancer または Network Load Balancer に移行した場合は、次のことを必ず実行してください。

  • API バージョン 2012-06-01 を使用する IAM ポリシーを更新して、バージョン 2015-12-01 を使用します。

  • AWS/ELB 名前空間の CloudWatch メトリクスを使用するプロセスを更新して、AWS/ApplicationELB または AWS/NetworkELB 名前空間のメトリクスを使用します。

  • aws elbAWS CLI コマンドを使用するスクリプトを更新して、aws elbv2AWS CLI コマンドを使用します。

  • AWS::ElasticLoadBalancing::LoadBalancer リソースを使用する AWS CloudFormation テンプレートを更新して、AWS::ElasticLoadBalancingV2 リソースを使用します。

  • Elastic Load Balancing API バージョン 2012-06-01 を使用するコードを更新して、バージョン 2015-12-01 を使用します。

リソース

ステップ 4: 古いロードバランサーを削除する

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

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

  • 古いロードバランサーにルーティングされたすべての既存のリクエストが完了しました。