Ingress ゲートウェイの安定性、パフォーマンス、拡張性、セキュリティを向上させ、より多くのルーティング機能にアクセスするために、サービスを CLB Ingress から ALB Ingress に移行できます。このトピックでは、トラフィックの損失やサービスの中断を防ぐ移行方法について説明します。
1. ALB Ingress の作成
SAE ゲートウェイルート に移動します。ページの上部で、ターゲットリージョンと名前空間を選択し、[ゲートウェイルートの作成] をクリックします。選択したリージョンと名前空間が、元の CLB Ingress のものと同じであることを確認してください。
カスタムの [ルート名] を入力します。
[ゲートウェイタイプ] を [Application Load Balancer (ALB)] に設定します。
[ALB インスタンス] には、既存のインスタンスを選択するか、新しいインスタンスを作成できます。
元の CLB Ingress の構成に従って、残りのパラメーター ([ネットワークタイプ]、[フロントエンドプロトコルタイプ] ([HTTPS] を選択した場合は [SSL 証明書] も構成する必要があります)、[アクセスポート]、[カスタム転送ルール] ([ドメイン名]、[パス]、[バックエンドアプリケーション]、[コンテナポート]、[書き換えポリシー] を含む)、および [デフォルト転送ルール]) を構成します。
[保存] をクリックします。ALB Ingress が作成されるまで待ちます。
ALB Ingress の [ゲートウェイインスタンス] をクリックして、ALB インスタンスの詳細ページを開きます。[インスタンス詳細] タブで、後で使用するために [基本情報] セクションから [DNS 名] を、[ゾーン] セクションからすべての [Elastic IP アドレス] を取得します。
ALB Ingress の [アクション] 列で、[編集] をクリックします。各カスタム転送ルールの [フロントエンドプロトコルタイプ]、[アクセスポート]、および [パス] を取得します。この情報は後で必要になります。
ALB Ingress を検証します (パブリック ALB Ingress のみ):
ローカルの hosts ファイルを変更して、カスタム転送ルールのドメイン名を ALB インスタンスの Elastic IP アドレス (EIP) に解決します:
Windows
C:\Windows\System32\drivers\etc\hostsファイルの末尾に次の内容を追加し、ファイルを保存します。<public_ip>を ALB インスタンスの任意の EIP に、<domain_name>をカスタム転送ルールのドメイン名に置き換えます。<public_ip> <domain_name>hosts ファイルの構成が有効であることを確認します。コマンドラインで次のコマンドを実行し、
<domain_name>をカスタム転送ルールのドメイン名に置き換えます。返された結果に ALB インスタンスの EIP が含まれている場合、構成は有効です。そうでない場合は、システムを再起動して再試行してください。ping <domain_name>
macOS/Linux
/etc/hostsファイルの末尾に次の内容を追加し、ファイルを保存します。<public_ip>を ALB インスタンスの任意の EIP に、<domain_name>をカスタム転送ルールのドメイン名に置き換えます。<public_ip> <domain_name>hosts ファイルの構成が有効であることを確認します。コマンドラインで次のコマンドを実行し、
<domain_name>をカスタム転送ルールのドメイン名に置き換えます。返された結果に ALB インスタンスの EIP が含まれている場合、構成は有効です。そうでない場合は、システムを再起動して再試行してください。ping <domain_name>
ブラウザで、各カスタム転送ルールの URL にアクセスして構成を検証します。URL のフォーマットは
<Frontend Protocol Type>://<Domain Name>:<Access Port><Path>です。例:http://xx.xx.xx:80/test。
2. DNS 解像度の構成
このトピックでは、権威 DNS 解決に Alibaba Cloud DNS を使用する例を示します。権威 DNS に移動し、ターゲットドメイン名の [アクション] 列で [構成] をクリックします。
[構成] タブで、元の CLB Ingress の DNS レコードを見つけます。[アクション] 列で、 を選択します。[レコード値セット] セクションで、[エントリの追加] をクリックし、[レコード値] を ALB インスタンスの [EIP] に設定します。ALB インスタンスに複数の EIP がある場合は、追加の [EIP] ごとに [エントリの追加] をクリックします。
重みを構成します: [レコード値の負荷ポリシー] を [重み] に設定します。たとえば、ALB インスタンスに 2 つの EIP がある場合、両方の EIP レコードの [重み] を
1に設定します。元の CLB インスタンスレコードの [重み] を98に変更します。この構成では、DNS 解決トラフィックの1/100が ALB インスタンスの各 EIP に割り当てられ、ほとんどのトラフィックは当面変更されません。[OK] をクリックし、DNS レコードが有効になるまで待ちます。
DNS 解決トラフィックを ALB インスタンスの EIP に切り替えます: サービスの実行ステータスとトラフィックを監視します。問題が発生しない場合は、CLB インスタンス EIP のレコードの [重み] を徐々に減らし、ALB インスタンス EIP のレコードの [重み] を増やします。すべての ALB インスタンス EIP でレコードの [重み] が同じであることを確認します。すべてのトラフィックが ALB インスタンスに切り替わったら、元の CLB インスタンスのレコードを削除します。
DNS 解決トラフィックを ALB インスタンスの DNS 名に切り替えます: ALB インスタンスの 1 つの EIP の DNS レコードのみを保持し、その他は削除します。残りのレコードの [アクション] 列で、[変更] をクリックします。[レコードタイプ] を [CNAME] に、[レコード値] を ALB インスタンスの [DNS 名] に設定します。[OK] をクリックし、DNS レコードが有効になるまで待ちます。
3. 元の CLB インスタンスと CLB Ingress の削除
SAE ゲートウェイルート に移動します。ページの上部で、ターゲットリージョンと名前空間を選択します。ターゲットゲートウェイルートの [ゲートウェイインスタンス] をクリックして、インスタンスの詳細ページを開きます。右上隅で、 を選択し、画面の指示に従って CLB インスタンスをリリースします。
SAE ゲートウェイルート に移動します。ページの上部で、ターゲットリージョンと名前空間を選択します。ターゲットゲートウェイルートの [アクション] 列で、[削除] をクリックします。画面の指示に従って CLB Ingress を削除します。