迅速な環境デプロイ、ディザスタリカバリとバックアップ、構成移行などの利用シーンにおいて、Application Load Balancer (ALB) のインスタンスクローン機能を使用することで、ソースインスタンスと同一または類似のインスタンスを迅速に作成できます。これにより、デプロイ効率が向上し、運用保守の複雑さが軽減されます。
ALB インスタンスのクローンの概要
ALB インスタンスのクローン機能を使用すると、リスナー、サーバーグループ、転送ルール、ヘルスチェックなどの主要な設定を含む、既存の ALB インスタンスの構成を迅速にコピーできます。この機能により、面倒な手動での再設定を回避し、新しいインスタンスがソースインスタンスと同一または類似の構成を持つことを保証します。特にディザスタリカバリ、バックアップ、構成移行に役立ちます。
主な利点
迅速なレプリケーション:自動化された Resource Orchestration Service (ROS) プロセスを通じて、ワンクリックで既存の ALB インスタンスの構成をクローンします。この機能により、デプロイ効率が大幅に向上し、運用保守の複雑さが軽減されます。
構成の一貫性:新しいインスタンスがソースインスタンスと同一または類似の構成を持つことを保証します。これにより、手動でのエラーを防ぎ、環境間の運用パリティを確保します。
柔軟なデプロイ:クローンしたインスタンスを異なるリージョンやゾーンにデプロイして、複数リージョンにまたがるビジネス拡大やディザスタリカバリのスイッチオーバーなど、複雑なビジネス要件に対応します。
利用シーン
環境移行:テスト環境から準本番環境または本番環境に構成をクローンします。これにより、複数の環境間で一貫性を確保し、迅速な機能リリースをサポートします。
ディザスタリカバリとバックアップ:ビジネス障害が発生した場合、インスタンスをクローンすることでバックアップのロードバランシングリソースを迅速にデプロイできます。これにより、業務継続性と高可用性が向上します。
構成移行:バージョンアップグレードやアーキテクチャ調整などのシナリオをサポートするために、既存のインスタンスの構成を新しいインスタンスに移行します。これにより、手動での繰り返しの構成作業を回避できます。
制限事項
クローンはソースインスタンスと同じエディションで作成されます。
ALB Ingress はインスタンスのクローンをサポートしていません。
変更保護が有効になっている ALB インスタンスはクローンできません。
ソース ALB インスタンスが共有帯域幅インスタンスに関連付けられている場合、クローンされたインスタンスは自動的に関連付けられません。ALB インスタンスの詳細ページから、新しいインスタンスを共有帯域幅インスタンスに手動で関連付ける必要があります。
デフォルトでは、アップグレードされていない ALB インスタンスをクローンすると、新しいアップグレードされた ALB インスタンスが作成されます。続行する前に、アップグレードされていないバージョンとアップグレードされたバージョンの機能の違いにご注意ください。
利用例
ある企業がテスト環境で新機能をデプロイします。ロードバランシングには ALB インスタンスが使用されます。この ALB インスタンスには、HTTP リクエストを HTTPS リスナーにリダイレクトする転送ルールが設定されており、カスタムドメイン名 www.example.com を使用してテストサービスを提供します。テストクライアントがカスタムドメイン名にアクセスすると、Alibaba Cloud DNS は CNAME レコードを使用してテストトラフィックを ALB インスタンスに誘導します。その後、ALB インスタンスはトラフィックを Elastic Compute Service (ECS) インスタンスの ECS01 と ECS02 に転送して処理します。
デプロイが受け入れテストに合格した後、ALB インスタンスの構成をテスト環境から本番環境に移行する必要があります。本番環境は大量のトラフィックを処理します。手動での ALB 構成は時間がかかるだけでなく、ソース環境と宛先環境の間で不整合が生じ、ビジネス運用に影響を与える可能性があります。
この問題を解決するため、同社は ALB インスタンスのクローン機能を使用して、テスト環境から本番環境へ ALB 構成を迅速にレプリケーションすることにしました。インスタンスのクローン機能を使用することで、同社は本番環境に必要な ALB インスタンスを迅速かつ正常にデプロイできます。これにより、新機能の迅速なリリースとビジネスの安定性が確保されます。
前提条件
ソース ALB インスタンスにリスナーとバックエンドサーバーが設定されていること。ALB インスタンスに CNAME レコードが設定されていること。インスタンスがカスタムドメイン名
www.example.comを使用してテストアクセス可能であること。詳細については、「ALB を使用した IPv4 サービスの負荷分散」をご参照ください。ソース ALB インスタンスに HTTP リスナーと HTTPS リスナーが設定されていること。HTTP リスナーには、HTTP リクエストを HTTPS リスナーにリダイレクトするためのリダイレクト転送ルールが設定されていること。
ソース ALB インスタンスのバックエンドサーバー ECS01 と ECS02 にサービスがデプロイされていること。
この例では、ECS インスタンスは Alibaba Cloud Linux 3 オペレーティングシステムを実行し、ポート 80 を使用して Nginx サービスがデプロイされています。
宛先 ALB インスタンス用にバックエンドサーバーを準備する必要がある場合があります:
宛先 ALB インスタンスとソース ALB インスタンスが同じ VPC にある場合、ソース ALB インスタンスのバックエンドサーバー ECS01 と ECS02 を宛先 ALB インスタンスのバックエンドサーバーとして使用できます。
宛先 ALB インスタンスとソース ALB インスタンスが同じ VPC にない場合、宛先 VPC にバックエンドサーバー ECS03 と ECS04 を準備し、それらにサービスをデプロイします。
クライアントをシミュレートするための ECS インスタンスを準備します:ECS-A は移行前のトラフィック転送のテストに使用し、ECS-B は移行中のトラフィック転送の検証に使用します。両方のインスタンスはインターネットにアクセスできる必要があります。この例では、Alibaba Cloud Linux 3 オペレーティングシステムを実行します。
独自のテストインスタンスがある場合は、ECS-A と ECS-B を作成する必要はありません。
操作手順
ステップ 1: ソース ALB インスタンスのクローン
ALB コンソールの上部メニューバーで、ソース ALB インスタンスがデプロイされているリージョンを選択します。
ALB の [インスタンス] ページで、対象の ALB インスタンスを見つけ、 を選択します。
[インスタンスのクローン] ダイアログボックスで、宛先 ALB インスタンスのパラメーターを設定し、[次へ] をクリックします。
デフォルトでは、宛先 ALB インスタンスはソース ALB インスタンスと同じパラメーター値を使用します。この例では、[クローン先のリージョン] をドイツ (フランクフルト) から米国 (シリコンバレー) に、[VPC] を VPC1 から VPC2 に変更します。次に、宛先のゾーンと vSwitch を選択します。その他のパラメーターはデフォルト値のままにするか、必要に応じて設定します。
クローンがインターネット向けで、ターゲットリージョンが ALB の Anycast EIP をサポートしている場合、[IP タイプ] ([EIP] または [Anycast EIP]) も選択する必要があります。その後、選択した各ゾーンに、選択したタイプのパブリック IP アドレスを割り当てる必要があります。

[プレビューと確認] ステップで、クローンされた ALB インスタンスの基本情報と課金詳細を確認し、[クローン] をクリックします。
クローンの結果を確認します。
最終ステップでステータスが「クローンが正常に作成されました」と表示されたら、タスクは完了です。その後、新しい (クローンされた) ALB インスタンスを元の (ソース) インスタンスと比較して、構成とビジネスデータが正しくコピーされたことを確認できます。
インスタンスのクローン機能は、Resource Orchestration Service (ROS) によって提供されます。クローンの進行中は、ROS コンソールにログインして詳細なステータスをモニターできます。
宛先 ALB インスタンスのサーバーグループに、バックエンドサーバーとして ECS03 と ECS04 を追加します。
ステップ 2: トラフィック転送のテスト
宛先 ALB インスタンスがバックエンドサービスと通信できるようにするため、バックエンドサービスにアクセス ポリシー (iptables ルールやその他のサードパーティ製セキュリティソフトウェアのポリシーなど) がある場合は、ALB インスタンスの vSwitch の CIDR ブロックを許可リストに追加してください。
テストサーバー ECS-A にリモートでログインします。
次のコマンドを実行して hosts ファイルを編集します:
sudo vi /etc/hostshosts ファイルに、宛先 ALB インスタンスの Elastic IP アドレス (EIP) とドメイン名を追加します。ファイルを変更した後、変更を保存して終了します。
47.251.XX.XX www.example.com次のコマンドを実行して、宛先 ALB インスタンスのトラフィック転送をテストします:
curl -v -L www.example.com次の出力が返されます。これは、HTTP リクエストが正常に HTTPS リスナーにリダイレクトされ、ECS03 がリクエストに応答したことを示しています。


コマンドを再度実行すると、応答するバックエンドサーバーが ECS04 に変わります。


ステップ 3: 宛先 ALB インスタンスへのトラフィック移行
トラフィックを移行する前に、ソースと宛先の ALB インスタンスの転送ルールが同一のルーティングパスを定義していることを確認してください。移行中にビジネスに予期せぬ影響を与えないように、すべての構成が包括的な受け入れテストに合格していることを確認してください。
ALB のトラフィックはオフピーク時に移行してください。
ソース ALB インスタンスには CNAME レコードが設定されています。宛先 ALB インスタンスが設定され、受け入れテストに合格した後、任意のタイミングでトラフィックをソース ALB インスタンスから宛先 ALB インスタンスに移行します。
この例では、Alibaba Cloud DNS の重み付けルーティングポリシーが使用されます。ソースと宛先の ALB インスタンスの DNS の重みを動的に調整することで、着信 DNS クエリはソースインスタンスの DNS レコードから新しいインスタンスの DNS レコードへと段階的に移行されます。
パート 1: 宛先 ALB インスタンスの CNAME レコードの追加
左側のナビゲーションウィンドウで、 を選択します。[インスタンス] ページで、宛先の ALB インスタンスの DNS 名をコピーします。
次の操作を実行して CNAME レコードを追加します。
Alibaba Cloud DNS コンソール - パブリックゾーンページに移動し、カスタムドメイン名を見つけます。[操作] 列で、[設定] をクリックします。
説明ドメイン名が Alibaba Cloud に登録されていない場合は、DNS レコードを追加する前に、まずドメイン名を Alibaba Cloud DNS に追加する必要があります。
[設定] タブで [レコードの追加] をクリックし、CNAME レコードを設定して [OK] をクリックします。
この例では、[レコードタイプ] を [CNAME] に、[レコード値] を宛先 ALB インスタンスの DNS 名に設定します。DNS レコードのその他のパラメーターはデフォルト値のままにするか、必要に応じて設定します。

Change Resource Record Confirmation ダイアログボックスで、構成を再確認し、OK をクリックします。
パート 2: 重みの設定とカナリアリリースの開始
解決設定 タブで、パート 1 で作成した CNAME レコードを選択し、変更 の横にある下矢印アイコンをクリックして、レコードセットを変更する を選択します。
Edit Record パネルの レコードコレクション セクションで、ソース ALB インスタンスのレコードの重みを 100 に、ターゲット ALB インスタンスのレコードの重みを 0 に設定します。

ビジネスに影響がないことを確認した場合、ソース ALB インスタンスの DNS レコードの重みを徐々に減らし、宛先 ALB インスタンスの DNS レコードの重みを増やします。
テストサーバー ECS-B にリモートで接続します。
digコマンドを複数回実行して、トラフィックの移行を検証します。dig www.example.com次の図に出力を示します。コマンドを複数回実行すると、設定された重みに基づいてリクエストがソースまたは宛先の ALB インスタンスに分散されることが確認できます。

任意: パート 3: トラフィック移行の完了
トラフィック移行の検証結果に基づいて、ソース ALB インスタンスの DNS レコードの重みを徐々に 0 に減らし、宛先 ALB インスタンスの DNS レコードの重みを 100 に増やします。この時点で、ソース ALB インスタンスから宛先 ALB インスタンスへのトラフィック移行は完了です。
ソース ALB インスタンスへのすべての持続的接続が閉じられ、新しいトラフィックがソース ALB インスタンスに流れなくなった後、インスタンスを一定期間モニターし、必要に応じてリリースできます。
関連ドキュメント
ALB インスタンスをクローンした後、アクセスログを使用して宛先 ALB インスタンスの負荷をモニターし、関連する問題を特定できます。
レイヤー 7 の Classic Load Balancer (CLB) インスタンスを ALB に移行するには、次のガイドをご参照ください:
DNS クエリの制御には、次のサービスや機能の使用を検討してください:
重み設定:この機能は、DNS レコードに対して重み付きラウンドロビンポリシーを有効にします。割り当てた特定の重みに基づいて、着信 DNS クエリを異なるレコード値 (例:IP アドレス) に分散します。これにより、各エンドポイントが受信するトラフィックの割合を制御できます。
インテリジェント DNS 解決:クライアントの地理的な場所とインターネットサービスプロバイダー (ISP) に基づいて、インテリジェントに解決結果を返します。この機能により、解決の遅延が減少し、ウェブサイトのアクセス速度が向上します。サポートされている回線には、ISP 回線、省別 ISP 回線、中国本土以外の回線、中国本土以外の国/地域回線、およびカスタム DNS 解決回線が含まれます。
Global Traffic Manager (GTM):高コンカレンシーのトラフィックに対して、近接アクセスとロードバランシングを実装します。GTM はヘルスチェック結果に基づいてトラフィックを分散することもでき、マルチゾーンアクティブ/アクティブおよびマルチリージョンアクティブ/アクティブサービスの構築に使用できます。