Classic Load Balancer の移行
Elastic Load Balancing は、クラシックロードバランサー、Application Load Balancer、および Network Load
Balancer の 3 種類のロードバランサーを提供しています。各ロードバランサータイプの機能の違いの詳細については、「Elastic Load Balancing 製品の比較
移行シナリオ
-
VPC に既存の Classic Load Balancer がある場合、Application Load Balancer または Network Load Balancer がニーズを満たしていることを確認してから、Classic Load Balancer をこれらのロードバランサータイプのいずれかに移行します。
-
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 を移行するには
-
https://console.aws.amazon.com/ec2/
で Amazon EC2 コンソールを開きます。 -
ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。
-
Classic Load Balancer を選択します。
-
[Migration] タブで、[Launch ALB Migration Wizard] または [Launch NLB Migration Wizard] をクリックします。表示されるボタンは、Classic Load Balancer を調べた後でウィザードによって選択されたロードバランサータイプによって異なります。
-
[Review] ページで、ウィザードによって選択された設定オプションを確認します。オプションを変更するには、[Edit] を選択します。
-
新しいロードバランサーの設定が終了したら、[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 の開始方法」を参照してください。
-
新しいロードバランサーを、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 がタグ付けされている場合は、それらを見直して、関連性のあるタグを新しいロードバランサーに追加します。
オプション 4: VPC の Classic Load Balancer に手動で移行する
以下の情報は、EC2-Classic の Classic Load Balancer に基づいて、新しい VPC 内の Classic Load Balancer を手動で作成する一般的な手順を示します。AWS マネジメントコンソール、AWS CLI、または AWS SDK を使用して移行を実行できます。詳細については、クラシックロードバランサー 用ユーザーガイド の「チュートリアル: Classic Load Balancer の作成」を参照してください。
-
次のいずれかを行ってください。
-
VPC で ClassicLink を有効にし、EC2-Classic インスタンスを VPC にリンクします。詳細については、Amazon EC2 ユーザーガイドの「増分移行に ClassicLink を使用する」を参照してください。
-
EC2 リソース (インスタンスやセキュリティグループなど) を EC2-Classic から VPC に移行します。詳細については、Amazon EC2 ユーザーガイドの「リソースを VPC に移行する」を参照してください。
-
-
VPC で新しい Classic Load Balancer を作成します。
-
ロードバランサーを作成するときに、準備した VPC (ClassicLink が有効になっている VPC、または EC2-Classic からインスタンスを移行する際に使用した VPC) を選択します。新しいロードバランサーに登録するインスタンスを含む各アベイラビリティーゾーンから 1 つのサブネットを選択します。
-
セキュリティグループの割り当てを求めるメッセージが表示されたら、VPC で ClassicLink が有効になっている場合は、ClassicLink を有効にしたときに指定したセキュリティグループと同じものを選択します。
-
プロンプトが表示されたら、ロードバランサーに登録するインスタンスを選択します。
-
古い Classic Load Balancer がタグ付けされている場合は、それらを見直して、関連性のあるタグを新しい Classic Load Balancer に追加します。
ステップ 2: トラフィックを新しいロードバランサーに段階的にリダイレクトする
インスタンスを新しいロードバランサーに登録したら、古いロードバランサーから新しいロードバランサーにトラフィックをリダイレクトするプロセスを開始できます。これにより、アプリケーションの可用性に与えるリスクを最小限に抑えながら、新しいロードバランサーをテストできます。
トラフィックを新しいロードバランサーに段階的にリダイレクトするには
-
インターネットに接続したウェブブラウザのアドレスフィールドに、新しいロードバランサーの DNS 名を貼り付けます。すべて適切な場合は、ブラウザにアプリケーションのデフォルトページが表示されます。
-
ドメイン名を新しいロードバランサーに関連付ける新しい DNS レコードを作成します。DNS サービスが重み付けをサポートしている場合は、新しい DNS レコードに重み 1 を、古いロードバランサーの既存の DNS レコードに重み 9 を指定します。これで、トラフィックの 10% が新しいロードバランサーに、90% が古いロードバランサーにリダイレクトされます。
-
新しいロードバランサーをモニタリングして、トラフィックが受信され、リクエストがインスタンスにルーティングされていることを確認します。
重要 DNS レコードの有効期限 (TTL) は 60 秒です。つまり、ドメイン名を解決する DNS サーバーは、変更が反映される間、レコード情報を 60 秒間キャッシュに保持します。したがって、これらの DNS サーバーは、前のステップを完了してから最大 60 秒間、トラフィックを引き続き古いロードバランサーにルーティングできます。伝達の実行中、トラフィックは両方のロードバランサーにリダイレクトされる可能性があります。
-
すべてのトラフィックが新しいロードバランサーにリダイレクトされるまで、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 を使用します。
リソース
-
AWS CLI Command Referenceの elbv2
-
Application Load Balancer 用ユーザーガイド のApplication Load Balancer メトリクス
-
Network Load Balancer 用ユーザーガイド のNetwork Load Balancer メトリクス
-
AWS CloudFormation ユーザーガイドの AWS::ElasticLoadBalancingV2::LoadBalancer
ステップ 4: 古いロードバランサーを削除する
古い Classic Load Balancer は以下の後で削除できます。
-
すべてのトラフィックを古いロードバランサーから新しいロードバランサーにリダイレクトしました。
-
古いロードバランサーにルーティングされたすべての既存のリクエストが完了しました。