Alibaba Cloud Application Load Balancer (ALB) は、HTTP、HTTPS、および QUIC プロトコルをサポートします。アプリケーション層向けに設計されており、強力なサービス処理機能を提供します。本記事では、IPv4 ALB インスタンスをすばやく作成し、IPv4 クライアントからのリクエストをバックエンドサーバーに転送する方法について説明します。
前提条件
中国 (上海) リージョンに「VPC1」という名前の仮想プライベートクラウド (VPC) が作成済みです。この VPC 内では、可用性ゾーン (ゾーン) E に「VSW1」という名前の vSwitch が作成されており、ゾーン G には「VSW2」という名前の vSwitch が作成されています。詳細については、「VPC および vSwitch の作成」をご参照ください。
ALB を vSwitch VSW1 および VSW2 上にデプロイする場合、ALB インスタンスのスペックアップ時に、各指定された vSwitch から 3 つの IP アドレスが割り当てられます。これらには、サービスを提供するための仮想 IP (VIP) 1 つと、バックエンドサーバーとの通信に使用されるローカル IP 2 つが含まれます。利用可能な IP アドレスが不足している場合、エラーが発生し、インスタンスを作成できません。そのため、VSW1 および VSW2 に十分な数の利用可能な IP アドレスを確保してください。スペックアップ前の ALB インスタンスは、この制限の対象外です。
説明弾力的スケーリングを確保するため、各 vSwitch に少なくとも 8 つの IP アドレスを ALB インスタンス用に確保することを推奨します。
バックエンドサーバーで iptables やその他のサードパーティのセキュリティソフトウェアなどのアクセス制御ポリシーを使用している場合、ALB インスタンスで使用される vSwitch の CIDR ブロックからのトラフィックを許可してください。
VSW1 および VSW2 にそれぞれ ECS01 および ECS02 という名前の Elastic Compute Service (ECS) インスタンスが作成済みであり、各 ECS インスタンス上にアプリケーションがデプロイされています。
ECS インスタンスの作成手順については、「ウィザードを使用したインスタンスの作成」をご参照ください。
以下に、ECS01 および ECS02 上へのテストアプリケーションのデプロイ例を示します。
ドメイン名が登録済みであり、ICP 登録も完了しています。詳細については、「Alibaba Cloud ドメイン名の登録」および「ICP 登録の手順」をご参照ください。
以下の表は、本トピックで使用する VPC 構成を示しています。参考としてご活用ください。
以下の表は、本トピックで使用する ECS インスタンスの構成を示しています。参考としてご活用ください。
ステップ 1: ALB インスタンスの作成
ALB コンソールにログインします。
「インスタンス」ページで、「ALB の作成」をクリックします。
[Application Load Balancer] 購入ページで、インスタンスを設定します。
本セクションでは必須パラメーターのみを説明します。その他のパラメーターはデフォルト値を使用してください。詳細については、「ALB インスタンスの作成および管理」をご参照ください。
パラメーター
説明
リージョン
インスタンスのリージョンを選択します。本トピックでは 中国 (上海) を使用します。
インスタンスのネットワークタイプ
ネットワークタイプを選択します。この選択により、インスタンスがパブリック IP アドレスとプライベート IP アドレスのどちらを取得するかが決まります。このトピックでは、パブリック を使用します。
VPC
インスタンスの VPC を選択します。
ゾーン ID
最低でも 2 つのゾーンを選択します。本トピックでは、vSwitch VSW1 を使用する 上海 ゾーン E および vSwitch VSW2 を使用する 上海 ゾーン G を使用します。
IP バージョン
インスタンスの IP バージョンを選択します。本トピックでは IPv4 を使用します。
エディション (インスタンス料金)
インスタンスのエディションを選択します。このトピックでは、Standard を使用します。
インスタンス名
インスタンスのカスタム名を入力します。
サービスにリンクされたロール
初めて ALB インスタンスを作成する際は、**[サービスリンクロールの作成]** をクリックして、AliyunServiceRoleForAlb という名前のサービスリンクロールを作成する必要があります。システムは、このロールに AliyunServiceRolePolicyForAlb ポリシーをアタッチし、ALB が他のクラウドリソースにアクセスするための権限を付与します。詳細については、「ALB のシステムポリシー」をご参照ください。
今すぐ購入 をクリックして、支払いプロセスを完了します。
インスタンス ページに戻り、正しいリージョンを選択して、新しいインスタンスを表示します。
ステップ 2: サーバーグループの作成
左側のナビゲーションウィンドウで、 を選択します。
サーバーグループ ページで、サーバーグループの作成 をクリックします。
[サーバーグループの作成] ダイアログボックスで、サーバーグループのパラメーターを設定し、[作成] をクリックします。
本セクションでは必須パラメーターのみを説明します。その他のパラメーターはデフォルト値を使用してください。詳細については、「サーバーグループの作成および管理」をご参照ください。
パラメーター
説明
サーバーグループタイプ
サーバーグループの種類を選択します。このトピックでは、サーバー を使用します。
サーバーグループ名
サーバーグループの名前を入力します。
VPC
バックエンドサーバーとなる ECS インスタンスを含む VPC を選択します。
説明ALB インスタンスを作成する際に選択したのと同じ VPC を選択していることを確認してください。ALB
バックエンドサーバープロトコル
バックエンドプロトコルを選択します。本トピックでは HTTP を使用します。
スケジューリングアルゴリズム
スケジューリングアルゴリズムを選択します。このトピックでは、重み付けラウンドロビン を使用します。
セッション維持の有効化
セッション維持を有効または無効にします。本トピックではデフォルト設定のまま、セッション維持を無効のままにします。
バックエンドの持続的接続
バックエンド接続保持を有効または無効にします。本トピックではデフォルト設定のまま、この機能を有効のままにします。
ヘルスチェック
ヘルスチェックを有効または無効にします。本トピックではこの機能を有効にします。
ヘルスチェック
ヘルスチェックを有効にすると、編集 をクリックして追加設定を構成します。
「サーバーグループが作成されました」ダイアログボックスで、バックエンドサーバーの追加 をクリックします。
[バックエンドサーバー]タブで、[バックエンドサーバーの追加]をクリックします。
「バックエンドサーバーの追加」パネルで、作成した ECS01 および ECS02 インスタンスを選択し、「次へ」をクリックします。
[ポート/重み]ステップで、追加されたサーバーの[ポート]と[重み]を設定し、[OK]をクリックします。
本トピックでは、ECS インスタンスのポートを 80 に設定し、デフォルトの重み 100 を使用します。
ステップ 3: リスナーの構成
左側のナビゲーションウィンドウで、 を選択し、その後、インスタンスの ID をクリックします。
リスナー タブをクリックし、次に リスナーの作成 をクリックします。
「リスナーの設定」ウィザードで、以下の設定を完了し、次へ をクリックします。
本セクションでは必須パラメーターのみを説明します。その他のパラメーターはデフォルト値を使用してください。リスナーの構成に関する詳細については、「HTTP リスナーの追加」をご参照ください。
パラメーター
説明
リスナープロトコルの選択
リスナーのプロトコルを選択します。本トピックでは HTTP を使用します。
リスナーポート
リクエストを受信および転送するポートです。本トピックではポート 80 を使用します。
リスナー名
リスナーのカスタム名を入力します。
詳細設定
このトピックはデフォルト設定を使用します。変更 をクリックして変更できます。
「サーバーグループ」ステップで、「サーバータイプ」をサーバーグループの種類として選択し、「サーバータイプ」の下から対象のサーバーグループを選択し、バックエンドサーバーの情報を確認してから、「次へ」をクリックします。
「Configuration Review」ステップで、リスナー設定を確認し、その後「送信」をクリックします。
OK をクリックして リスナー タブに戻ります。ヘルスチェックステータス 列のステータスが 正常 になると、バックエンドサーバー ECS01 と ECS02 が、ALB インスタンスによって転送されたリクエストを処理できることを示します。
ステップ 4: DNS 解決の設定
本番環境では、CNAME レコードを作成して、独自のドメイン名を ALB インスタンスの DNS 名にマップすることを推奨します。
ロードバランシングのドメイン名がアップグレードされました。これにより、ALB が提供する DNS ドメイン名を直接アクセスすることはできなくなりました。
左側のナビゲーションウィンドウで、 を選択します。
「インスタンス」ページで、作成した ALB インスタンスの DNS 名をコピーします。
CNAME レコードを追加するには、以下の手順を実行します。
説明ドメイン名が Alibaba Cloud で登録されていない場合、DNS レコードを設定する前に、まず Alibaba Cloud DNS コンソールにドメイン名を追加する必要があります。詳細については、「ドメイン名の管理」をご参照ください。ドメイン名が Alibaba Cloud で登録されている場合は、以下の手順を実行してください。
Alibaba Cloud DNS コンソールにログインします。
「権威 DNS 名前解決」ページで、対象のドメイン名を見つけ、解決設定 を 操作 列でクリックします。
[解決設定] ページで、[Add Record] をクリックします。
Add Record パネルで、次のパラメーターを設定して CNAME レコードを作成し、OK をクリックします。
パラメーター
説明
レコードタイプ
ドロップダウンリストから CNAME を選択します。
ホストレコード
ドメイン名のプレフィックスです。本トピックでは @ を使用します。
説明ルートドメインの場合、ホスト名を
@に設定します。Query Source
デフォルトを選択します。
レコード値
ドメイン名の CNAME アドレスを入力します。これは、コピーした ALB インスタンスの DNS 名です。
TTL
TTL (Time To Live) は、DNS レコードが DNS サーバー上でキャッシュされる期間です。本トピックではデフォルト値を使用します。
ステップ 5: 接続性のテスト
クライアントとバックエンドサーバー ECS01 および ECS02 の間の接続性をテストします。本トピックでは、インターネットアクセス可能なクライアントを例として使用します。
Web ブラウザーで、ドメイン名(例:http://<your_domain_name>)を入力します。ページを数回更新して、リクエストが ECS01 および ECS02 の間で分散されることを確認します。


上記の操作を完了すると、クライアントは ALB を通じてラウンドロビン方式で異なるバックエンドサービスにアクセスできるようになります。
リソースのクリーンアップ
ECS インスタンスおよびセキュリティグループなどのリソースを削除します。
ECS01 インスタンスおよびそのセキュリティグループを削除します。
ECS02 インスタンスおよびそのセキュリティグループを削除するために、上記の手順を繰り返します。
DNS レコードの削除
作成した CNAME レコードを削除します。詳細については、「DNS レコードの削除」をご参照ください。
ALB リソースの削除
[ALB コンソール] にログインします。上部のナビゲーションバーで、インスタンスのリージョンを選択します。インスタンスを見つけ、「操作」列で詳細アイコン (
) をクリックし、リリース を選択します。操作を確定します。サーバーグループからバックエンドサーバーを削除します。詳細については、「サーバーグループの管理」をご参照ください。
サーバーグループを削除します。詳細については、「サーバーグループの管理」をご参照ください。
VPC リソースの削除
VPC コンソールにログインします。上部ナビゲーションバーで VPC のリージョンを選択します。
VPC およびその vSwitch を削除するには、まずすべての依存リソースを削除する必要があります。VPC を見つけ、**[操作]** 列の **[削除]** をクリックします。システムが依存リソースをチェックします。
関連トピック
ALB のユースケースおよびコンポーネントについて学ぶには、「Application Load Balancer (ALB) とは」をご参照ください。
ALB の特徴について学ぶには、「特徴」をご参照ください。
ALB が利用可能なリージョンについて学ぶには、「ALB をサポートするリージョンおよびゾーン」をご参照ください。
ALB のクォータおよび増量方法について学ぶには、「クォータおよび制限事項」をご参照ください。
ALB の課金方法について学ぶには、「ALB の課金」をご参照ください。