Alibaba Cloud Application Load Balancer (ALB) は、アプリケーション層で動作し、HTTP、HTTPS、QUIC プロトコルをサポートし、強力な機能を提供します。このトピックでは、IPv4 ALB インスタンスを作成して、IPv4 クライアントからのリクエストをバックエンドサーバーに転送する方法について説明します。
前提条件
中国 (上海) リージョンに VPC1 という名前の virtual private cloud (VPC) を作成済みであること。この VPC には、上海ゾーン E に VSW1 という名前の vSwitch、上海ゾーン G に VSW2 という名前の vSwitch を作成済みであること。詳細については、「VPC と vSwitch の作成」をご参照ください。
VSW1 と VSW2 に ALB インスタンスをデプロイする場合、次の情報にご注意ください。スペックアップされた ALB インスタンスは、指定された各 vSwitch から 3 つの IP アドレスを使用します。1 つの IP アドレスは、インターネット経由でサービスを提供する仮想 IP アドレス (VIP) で、他の 2 つはバックエンドサーバーとの通信に使用されるローカル IP アドレスです。vSwitch の IP アドレスが不足している場合、インスタンスは作成できず、エラーが報告されます。VSW1 と VSW2 に十分な数の利用可能な IP アドレスがあることを確認してください。この制限は、スペックアップされていない ALB インスタンスには適用されません。
説明スペックアップされた ALB インスタンスのすべての伸縮機能を確実に利用できるようにするには、ALB インスタンスの各 vSwitch に少なくとも 8 つの IP アドレスを予約する必要があります。
スペックアップされた ALB インスタンスがバックエンドサービスに接続できるようにするには、バックエンドサービスが iptables やその他のサードパーティ製セキュリティソフトウェアなどのアクセスポリシーを使用している場合、ALB インスタンスが属する vSwitch の CIDR ブロックからのトラフィックを許可する必要があります。
VSW1 に ECS01 という名前の Elastic Compute Service (ECS) インスタンス、VSW2 に ECS02 という名前の ECS インスタンスを作成し、両方のインスタンスにアプリケーションをデプロイ済みであること。
ECS インスタンスの作成方法の詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。
以下は、ECS01 と ECS02 にテストアプリケーションをデプロイする方法の例です。
ドメイン名を登録し、ICP 登録を完了済みであること。詳細については、「Alibaba Cloud ドメイン名の登録」および「ICP 登録プロセス」をご参照ください。
次の表に、このトピックにおける VPC インスタンスの構成を示します。この構成は参考用です。
次の表に、このトピックにおける ECS インスタンスの構成を示します。この構成は参考用です。
ステップ 1:ALB インスタンスの作成
ALB コンソールにログインします。
[インスタンス] ページで、[Application Load Balancer の作成] をクリックします。
Application Load Balancer (Pay-As-You-Go) International Site 購入ページで、インスタンスのパラメーターを設定します。
このトピックでは、必須の設定項目のみを説明します。その他のすべてのパラメーターについては、デフォルト値を使用します。各パラメーターの詳細については、「ALB インスタンスの作成と管理」をご参照ください。
構成
説明
リージョン
インスタンスを作成するリージョンを選択します。本トピックでは[中国 (上海)]を使用します。
ネットワークタイプ
インスタンスのネットワークタイプを選択します。 選択に基づいて、システムによって非公開エンドポイントまたはパブリックエンドポイントが割り当てられます。 この Topic では、[パブリックネットワーク]を使用します。
VPC
インスタンスがデプロイされる VPC を選択します。
ゾーン
ゾーンを少なくとも 2 つ選択します。本トピックでは、[上海ゾーン E] とその vSwitch VSW1、および [上海ゾーン G] とその vSwitch VSW2 を使用します。
プロトコルバージョン
インスタンスのプロトコルバージョンを選択します。この Topic では [IPv4] を使用します。
エディション (インスタンス料金)
インスタンスのエディションを選択します。このトピックでは[標準]を使用します。
インスタンス名
インスタンスのカスタム名を入力します。
サービスリンクロール
初めて Application Load Balancer インスタンスを作成する場合、[サービスリンクロールを作成] をクリックして、AliyunServiceRoleForAlb という名前のサービスリンクロールを作成します。 システムは、ALB に他のクラウドリソースへのアクセス権限を付与するために、AliyunServiceRolePolicyForAlb ポリシーをそのロールにアタッチします。 詳細については、「Server Load Balancer のシステムポリシー」をご参照ください。
[今すぐ購入] をクリックし、プロンプトに従って支払いを完了します。
[インスタンス] ページに戻り、正しいリージョンを選択して新しいインスタンスを表示します。
ステップ 2:サーバーグループの作成
左側のナビゲーションウィンドウで、 を選択します。
[サーバーグループ] ページで、[サーバーグループの作成] をクリックします。
[サーバーグループの作成] ダイアログボックスで、パラメーターを設定し、[作成] をクリックします。
このトピックでは、必須の設定項目のみを説明します。その他のすべてのパラメーターについては、デフォルト値を使用します。パラメーターの詳細については、「サーバーグループの作成」をご参照ください。
パラメーター
説明
サーバーグループタイプ
サーバーグループタイプを選択します。この Topic では [サーバータイプ] を使用します。
サーバーグループ名
サーバーグループの名前を入力します。
VPC
VPC ドロップダウンリストから、ECS インスタンスが属する VPC を選択します。
説明選択した VPC が ALB インスタンスの VPC と同じであることを確認してください。
バックエンドプロトコルの選択
バックエンドプロトコルを選択します。この Topic では [HTTP] を使用します。
スケジューリングアルゴリズムの選択
スケジューリングアルゴリズムを選択します。この Topic では、[加重ラウンドロビン] を使用します。
セッション維持の有効化
セッション維持を有効または無効にします。このトピックでは、デフォルト設定の無効を使用します。
バックエンドの持続的接続の有効化
バックエンドサーバーへの持続的接続を有効または無効にします。このトピックでは、デフォルト設定の有効を使用します。
ヘルスチェック
ヘルスチェックを有効または無効にします。このトピックではヘルスチェックが有効になっています。
ヘルスチェック設定
ヘルスチェックを有効にした後、[編集] をクリックして詳細設定を行います。
[サーバーグループが作成されました] ダイアログボックスで、[バックエンドサーバーを追加] をクリックします。
[バックエンドサーバー] タブで、[バックエンドサーバーの追加] をクリックします。
[バックエンドサーバーの追加] パネルで、ECS01 と ECS02 インスタンスを選択し、[次へ] をクリックします。
「[ポートとウェイトの設定]」 ウィザードで、追加されたサーバーの [ポート] と [ウェイト] を設定し、[OK] をクリックします。
このトピックでは、ECS インスタンスのポートは 80 に設定され、重みはデフォルト値の 100 に設定されています。
ステップ 3:リスナーの設定
左側のナビゲーションウィンドウで、を選択し、インスタンス ID をクリックします。
[リスナー] タブで、リスナーの作成 をクリックします。
[リスナーの設定] ウィザードで、次のパラメーターを設定し、[次へ] をクリックします。
このトピックでは、必須の設定項目のみを説明します。その他のすべてのパラメーターについては、デフォルト値を使用します。リスナーの設定方法の詳細については、「HTTP および HTTPS リスナー」をご参照ください。
パラメーター
説明
リスナープロトコルの選択
リスナーのプロトコルを選択します。このトピックでは [HTTP] を使用します。
リスナーポート
リクエストを受信し、バックエンドサーバーに転送するために使用されるリスナーポートです。このトピックでは 80 を使用します。
リスナー名
リスナーのカスタム名を入力します。
詳細設定
この Topic では、デフォルト設定を使用します。設定を変更するには、[変更] をクリックします。
サーバーグループ ウィザードで、サーバータイプ と サーバータイプ の下にリストされているターゲットサーバーグループを選択し、バックエンドサーバー情報を表示して、次に [次へ] をクリックします。
[構成レビュー] ウィザードページで、リスナーの構成を確認し、[送信] をクリックします。
OK をクリックして [リスナー] タブに戻ります。リスナーの ヘルスチェックステータス 列の値が [正常] に変わると、バックエンドの ECS01 および ECS02 インスタンスは、ALB インスタンスによって転送されたリクエストを処理できるようになります。
ステップ 4:名前解決の設定
実際のシナリオでは、カスタムドメイン名を使用し、CNAME レコードを作成してカスタムドメイン名を ALB インスタンスの DNS 名にマッピングする必要があります。
ロードバランサーの DNS 名はアップグレードされています。ALB インスタンスの DNS 名を直接アクセスに使用することはできません。
左側のナビゲーションウィンドウで、を選択します。
[インスタンス] ページで、ALB インスタンスの DNS 名をコピーします。
次の手順を実行して CNAME レコードを追加します。
説明ドメイン名が Alibaba Cloud で登録されていない場合は、DNS レコードを設定する前に Cloud DNS コンソールにドメイン名を追加する必要があります。詳細については、「ドメイン名の管理」をご参照ください。ドメイン名が Alibaba Cloud で登録されている場合は、次の手順に進むことができます。
Cloud DNS コンソールにログインします。
[権威ドメイン名] ページで、対象のドメイン名を見つけ、[操作] 列の [DNS 設定] をクリックします。
[DNS 設定] ページで、[レコードの追加] をクリックします。
[レコードの追加] パネルで、CNAME レコードを設定し、[OK] をクリックします。
構成
説明
レコードタイプ
ドロップダウンリストから [CNAME] を選択します。
ホスト名
ドメイン名のプレフィックスです。このトピックでは @ を使用します。
説明ルートドメインを作成する場合、ホスト名を
@に設定します。解析リクエストソース
デフォルトを選択します。
レコード値
ドメイン名に対応する CNAME アドレスを入力します。これは、コピーした ALB インスタンスの DNS 名です。
TTL
Time To Live (TTL) は、DNS レコードが DNS サーバにキャッシュされる時間です。このトピックではデフォルト値を使用します。
ステップ 5:接続性のテスト
設定が完了したら、クライアントとバックエンド ECS インスタンス間の接続性をテストできます。この例では、インターネットにアクセスできるクライアントを使用します。
ブラウザにドメイン名を入力します。例:http://<your domain name>。ページを複数回更新します。クライアントリクエストは、ECS01 と ECS02 インスタンスに順番に転送されます。


これにより、クライアントは ALB を介して、ラウンドロビン方式で異なるバックエンドサービスにアクセスできます。
リソースのリリース
ECS インスタンスやセキュリティグループなどのリソースを削除します。
ECS01 インスタンスとそのセキュリティグループを削除します。
Elastic Compute Service (ECS) コンソールにログインします。上部のナビゲーションバーで、インスタンスが配置されているリージョンを選択します。ECS01 インスタンスの右側にある
アイコンをクリックします。表示されたウィンドウで、[リリース] を選択し、プロンプトに従ってインスタンスをすぐにリリースします。ECS セキュリティグループコンソールにログインします。上部のナビゲーションバーで、インスタンスが配置されているリージョンを選択します。ECS01 のカスタムセキュリティグループを選択し、[削除]をクリックします。
上記の手順を繰り返して、ECS02 インスタンスとそれに関連するセキュリティグループを削除します。
DNS レコードの削除
DNS レコードの削除方法の詳細については、「DNS レコードの削除」をご参照ください。
ALB リソースの削除:
Application Load Balancer コンソールにログインします。トップナビゲーションバーで、インスタンスが存在するリージョンを選択します。インスタンスの右側にある
アイコンをクリックします。表示されたウィンドウで、[リリース] を選択し、リリースを確定します。バックエンドサーバーの削除方法の詳細については、「バックエンドサーバーの削除」をご参照ください。
サーバーグループの削除方法の詳細については、「サーバーグループの削除」をご参照ください。
VPC リソースの削除:
VPC コンソールにログインします。上部のナビゲーションバーで、インスタンスのリージョンを選択します。
インスタンスの右側にある[削除]をクリックします。システムは依存リソースをチェックします。依存リソースが存在する場合、VPC と vSwitch を削除する前にそれらをリリースする必要があります。
関連ドキュメント
ALB のシナリオとコンポーネントについては、「Application Load Balancer とは」をご参照ください。
ALB の機能については、「機能」をご参照ください。
ALB がサポートするリージョンについては、「ALB をサポートするリージョンとゾーン」をご参照ください。
ALB のクォータとそれを引き上げる方法については、「制限事項」をご参照ください。
ALB の課金については、「ALB の課金」をご参照ください。