すべてのプロダクト
Search
ドキュメントセンター

:ALBインスタンスを使用してIPv4サービスの負荷を分散する

最終更新日:Sep 18, 2024

Application Load Balancer (ALB) は、HTTP、HTTPS、およびQuick UDP Internet Connections (QUIC) プロトコルをサポートし、レイヤー7でアプリケーションの負荷を分散するように設計されています。 このトピックでは、IPv4をサポートするALBインスタンスを作成して、IPv4クライアントからバックエンドサーバーにリクエストを転送する方法について説明します。

前提条件

  • 仮想プライベートクラウド (VPC) が中国 (上海) リージョンにデプロイされています。 VPCの名前はVPC1です。 vSwitch (VSW1) はゾーンEにデプロイされ、別のvSwitch (VSW2) はゾーンGにデプロイされます。詳細については、「VPCとvSwitchの作成」をご参照ください。

  • Elastic Compute Service (ECS) インスタンス (ECS01) がVSW1にデプロイされ、別のECSインスタンス (ECS02) がVSW2にデプロイされています。

    • ECSインスタンスの作成方法の詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。

    • 次のコードブロックは、ECS01およびECS02にアプリケーションをデプロイする方法を示しています。

      ECS01にアプリケーションをデプロイするためのコマンド

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS01." > index.html

      ECS02にアプリケーションをデプロイするためのコマンド

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS02." > index.html

次の表に、VPC1の設定を示します。 構成は参照だけのためです。

クリックしてVPC設定を表示

パラメーター

説明

名前

VPC1

リージョン

中国 (上海)

IPv4 CIDRブロック

192.168.0.0/12

vSwitch

名前: VSW1

ゾーン: ゾーンE

IPv4 CIDRブロック: 192.168.5.0/24

名前: VSW2

ゾーン: ゾーンG

IPv4 CIDRブロック: 192.168.6.0/24

次の表に、ECS01およびECS02の設定を示します。 構成は参照だけのためです。

クリックしてECSインスタンス設定を表示

名前

リージョン

[VPC]

ゾーンとvSwitch

ECS設定

ECS01

中国 (上海)

VPC1

ゾーンE | VSW1

  • インスタンスタイプ: ecs.e-c1m1.large

  • CPUとメモリ: 2コア (vCPU) 、2-GiB

  • イメージ: Alibaba Cloud Linux 3.2104 LTS 64ビット

ECS02

ゾーンG | VSW2

手順1: ALBインスタンスの作成

  1. ALBコンソールにログインします。

  2. インスタンスページで、ALBの作成をクリックします。

  3. Application Load Balancer購入ページで、次の表で説明するパラメーターを設定します。

    次の表に、一部のパラメーターのみを示します。 他のパラメーターにはデフォルト値を使用します。 パラメーターの詳細については、「ECSインスタンスの作成」をご参照ください。

    パラメーター

    説明

    リージョン

    ALBインスタンスを作成するリージョン。 この例では、中国 (上海) が選択されています。

    ネットワークタイプ

    ALBインスタンスのネットワークタイプを選択します。 選択したネットワークタイプに基づいて、ALBインスタンスにパブリックIPアドレスまたはプライベートIPアドレスが割り当てられます。 この例では、インターネットが選択されています。

    [VPC]

    ALBインスタンスをデプロイするVPCを選択します。

    Zone

    少なくとも2つのゾーンを選択します。 この例では、上海ゾーンE上海ゾーンGが選択され、ゾーンEのVSW1とゾーンGのVSW2が選択されています。

    IPモード

    ALBインスタンスのIPモードを選択します。 この例では、[静的IP] が選択されています。

    IPバージョン

    ALBインスタンスのIPバージョンを選択します。 この例では、IPv4が選択されています。

    エディション

    ALBインスタンスのエディションを選択します。 この例では、[標準] が選択されています。

    [インスタンス名]

    ALBインスタンスの名前を入力します。

    サービスにリンクされたロール

    初めてALBインスタンスを作成するときは、[サービスにリンクされたロールの作成] をクリックしてAliyunServiceRoleForAlbロールを作成します。 ALBインスタンスが他のクラウドサービスにアクセスできるように、ポリシーAliyunServiceRolePolicyForAlbがサービスにリンクされたロールにアタッチされています。 詳細については、「ALBのシステムポリシー」をご参照ください。

  4. [今すぐ購入] をクリックして、支払いを完了します。

  5. インスタンスページに戻ります。ALBインスタンスがデプロイされているリージョンを選択して、ALBインスタンスを表示します。

手順2: サーバーグループの作成

  1. 左側のナビゲーションウィンドウで、ALB > サーバーグループを選択します。

  2. サーバーグループページで、サーバーグループの作成をクリックします。

  3. サーバーグループの作成ダイアログボックスでパラメーターを設定し、作成をクリックします。

    次の表に、一部のパラメーターのみを示します。 他のパラメーターはデフォルト値を使用します。 詳細については、「サーバーグループの作成と管理」をご参照ください。

    パラメーター

    説明

    サーバーグループタイプ

    サーバーグループタイプを選択します。 この例では、[サーバー] が選択されています。

    サーバーグループ名

    サーバーグループの名前を入力します。

    [VPC]

    ECSインスタンスがデプロイされているVPCを選択します。

    説明

    ALBインスタンスがデプロイされているVPCを選択します。

    バックエンドサーバープロトコル

    バックエンドプロトコルを選択します。 この例では、HTTPが選択されています。

    スケジューリングアルゴリズム

    スケジューリングアルゴリズムを選択します。 この例では、[加重ラウンドロビン] が選択されています。

    セッション永続性

    セッション維持を有効または無効にします。 この例では、デフォルト値が使用されます。 セッション維持は無効です。

    バックエンド永続接続

    永続接続機能を有効にするかどうかを指定します。 この例では、永続的なTCP接続機能は無効になっています。

    ヘルスチェック

    ヘルスチェック機能を有効にするかどうかを示します。 この例では、ヘルスチェック機能が有効になっています。

    ヘルスチェックの設定

    ヘルスチェック機能を有効にした後、[変更] をクリックしてヘルスチェックの設定を行います。

  4. サーバーグループが作成されます。メッセージで、 [バックエンドサーバーの追加] をクリックします。

  5. バックエンドサーバー表示されるページのタブで、バックエンドサーバーの追加をクリックします。

  6. バックエンドサーバーの追加パネルで、ECS01およびECS02を選択して次へクリックします。

  7. ポート /重みステップで、ECSインスタンスのポートと、重量を設定し、OK をクリックします。

    この例では、両方のECSインスタンスがポート番号80とデフォルトの重み100を使用します。

手順3: リスナーの設定

  1. 左側のナビゲーションウィンドウで、ALB > インスタンスを選択します。 [インスタンス] ページで、管理するALBインスタンスのIDをクリックします。

  2. リスナータブで、リスナーの作成をクリックします。

  3. リスナーの設定ステップで、パラメータを設定し、次へをクリックします。

    次の表に、一部のパラメーターのみを示します。 他のパラメーターはデフォルト値を使用します。 詳細については、「HTTPリスナーの追加」をご参照ください。

    パラメーター

    説明

    リスナープロトコルの選択

    リスナープロトコルを選択します。 この例では、HTTPが選択されています。

    リスナーポート

    リクエストを受信してバックエンドサーバーに転送するリスナーポートを指定します。 この例では、ポート80が指定されています。

    リスナー名

    リスナーの名前を入力します。

    詳細設定

    この例では、デフォルト設定を使用します。 [変更] をクリックして、設定を変更できます。

  4. サーバーグループステップを設定し、サーバータイプパラメーターに基づいてサーバーグループを選択します。サーバータイプバックエンドサーバーを確認し、次へをクリックします。

  5. 構成レビューステップ、設定を確認し、送信をクリックします。

  6. OK をクリックして [リスナー] タブに戻ります。 ヘルスチェックステータス 列のリスナーステータスが [正常] の場合、ECS01とECS02はALBインスタンスによって転送されたリクエストを処理できます。

(オプション) 手順4: CNAMEレコードの作成

  1. 左側のナビゲーションウィンドウで、ALB > インスタンスを選択します。

  2. インスタンスページのドメイン名をコピーします。ALBインスタンスを作成します。

  3. CNAMEレコードを作成するには、次の手順を実行します。

    1. Alibaba Cloud DNSコンソールにログインします。

    2. ドメイン名の解決ページで、ドメイン名の追加をクリックします。

    3. ドメイン名の追加ダイアログボックスでドメイン名を入力し、OKをクリックします。

      重要

      CNAMEレコードを追加する前に、TXTレコードを使用してドメイン名の所有権を確認する必要があります。

    4. 管理するドメイン名を見つけて、をクリックします。DNS設定で、アクション列を作成します。

    5. DNS設定ドメイン名の詳細ページのタブで、DNSレコードの追加をクリックします。

    6. [DNSレコードの追加] パネルでパラメーターを設定し、[OK] をクリックします。 下表にパラメーターを示します。

      パラメーター

      説明

      レコードタイプ

      ドロップダウンリストから [CNAME] を選択します。

      ホスト名

      ドメイン名のプレフィックスを入力します。 この例では、@ を入力します。

      説明

      ルートドメイン名を使用する場合は、@ と入力します。

      DNSリクエストソース

      [デフォルト] を選択します。

      レコード値

      ALBインスタンスのドメイン名であるCNAMEを入力します。

      TTL

      DNSサーバーにキャッシュされるCNAMEレコードの有効期限 (TTL) 値を選択します。 この例では、デフォルト値が使用されます。

ステップ5: ネットワーク接続のテスト

  1. ドメイン名を取得します。

    1. DNSレコードを使用してカスタムドメイン名をALBインスタンスのドメイン名にマップする場合は、カスタムドメイン名の可用性をテストします。

    2. カスタムドメイン名がALBインスタンスのドメイン名にマッピングされていない場合は、ALBコンソールにログインし、上部のナビゲーションバーでALBインスタンスのリージョンを選択し、ALBインスタンスを見つけて、[ドメイン名] 列でALBインスタンスのドメイン名をコピーします。 ALBドメイン名の可用性をテストします。

  2. ブラウザを複数回更新します。 結果は、リクエストがECS01とECS02に分散されていることを示しています。

    image

    image

    上記の結果は、クライアントがバックエンドサーバーにアクセスできることを示しており、ALBインスタンスはラウンドロビンアルゴリズムに基づいてバックエンドサーバーにリクエストを配信します。

リリースリソース

  1. ECSインスタンスとセキュリティグループをリリースします。

    1. ECS01とそのセキュリティグループを削除する:

      1. ECS コンソールにログインします。 上部のナビゲーションバーで、ECS01インスタンスが存在するリージョンを選択し、ECS01の右側にあるimage.pngアイコンをクリックします。 表示されるダイアログボックスで、[リリース] を選択して、インスタンスをすぐにリリースします。

      2. ECS コンソールにログインします。 上部のナビゲーションバーで、ECS01が存在するリージョンを選択し、ECS01のセキュリティグループを選択し、[削除] をクリックしてセキュリティグループを削除します。

    2. 上記の手順を繰り返して、ECS02とそのセキュリティグループを削除します。

  2. (オプション) DNSレコードの削除

    詳細については、「DNSレコードの削除」をご参照ください。

  3. ALBリソースをリリース:

    1. にログインします。ALBコンソール. 上部のナビゲーションバーで、ALBインスタンスのリージョンを選択します。 リリースするALBインスタンスを見つけ、[操作] 列のimage.pngアイコンをクリックし、[リリース] をクリックします。 [インスタンスのリリース] メッセージで、[確認] をクリックします。

    2. バックエンドサーバーを削除する方法の詳細については、「バックエンドサーバーの削除」をご参照ください。

    3. サーバーグループを削除する方法の詳細については、「サーバーグループの削除」をご参照ください。

  4. VPCリソースのリリース:

    1. VPCコンソールにログインします。 上部のナビゲーションバーで、VPCが存在するリージョンを選択します。

    2. [操作] 列の [削除] をクリックし、[強制削除] を選択してVPCとvSwitchを削除します。

関連ドキュメント

  • ALBの使用シナリオとコンポーネントの詳細については、ALBとは何ですか?

  • ALBの機能の詳細については、「機能と機能」をご参照ください。

  • ALBが使用可能なリージョンの詳細については、「ALBが使用可能なリージョンとゾーン」をご参照ください。

  • ALBクォータとクォータの増加の詳細については、「制限」をご参照ください。

  • ALBの課金の詳細については、「ALB課金」をご参照ください。