Alibaba Cloud Application Load Balancer (ALB) は、HTTP、HTTPS、QUIC プロトコルをサポートし、アプリケーション層向けに設計されています。 このトピックでは、IPv4 クライアントからのリクエストをバックエンドサーバーに転送する IPv4 ALB インスタンスをすばやく作成する方法について説明します。
前提条件
-
中国 (上海) リージョンに、VPC1 という名前の Virtual Private Cloud (VPC) が作成されています。また、ゾーン E には VSW1 という名前の vSwitch、ゾーン G には VSW2 という名前の vSwitch が作成されています。詳細については、「VPC と vSwitch の作成」をご参照ください。
VSW1 および VSW2 に ALB インスタンスをデプロイする場合、アップグレードされた ALB インスタンスは、指定された各 vSwitch から 3 つの IP アドレスを予約します。内訳は、サービスを提供するための仮想 IP アドレス (VIP) が 1 つ、バックエンドサーバーと通信するためのローカル IP アドレスが 2 つです。 vSwitch に利用可能な IP アドレスが不足している場合、インスタンスの作成は失敗します。 VSW1 および VSW2 に十分な利用可能な IP アドレスがあることを確認してください。 この制限は、アップグレードされていない ALB インスタンスには適用されません。
説明-
ALB インスタンスのアップグレードですべての伸縮機能を利用できるように、インスタンスが存在する各 vSwitch に少なくとも 8 個の IP アドレスを確保することをお勧めします。
-
アップグレードされた ALB インスタンスとバックエンドサービス間の適切な通信を確保するために、バックエンドサービスが iptables などのアクセス制御ポリシーを使用している場合は、ALB インスタンスの vSwitch の CIDR ブロックからのトラフィックを許可してください。
-
-
VSW1 に ECS01 という名前の Elastic Compute Service (ECS) インスタンスを、VSW2 に ECS02 という名前の ECS インスタンスを作成済みであること。アプリケーションサービスは ECS01 と ECS02 の両方にデプロイされていること。
-
ECS インスタンスの作成方法の詳細については、「ウィザードを使用してインスタンスを作成する」をご参照ください。
-
以下に、ECS01 と ECS02 にテストアプリケーションをデプロイする方法の例を示します。
-
-
ドメイン名を登録し、その ICP 登録を完了していること。詳細については、「ドメイン名の登録」および「ICP 登録プロセス」をご参照ください。
以下の表では、このチュートリアルで使用する VPC の設定について説明します。この設定は参考情報です。
以下の表では、このチュートリアルで使用する ECS インスタンスの設定について説明します。この設定は参考情報です。
ステップ 1:ALB インスタンスの作成
- ALBコンソールにログインします。
-
インスタンス ページで、ALB の作成 をクリックします。
-
Application Load Balancer (従量課金) 購入ページで、インスタンスを設定します。
ここでは、本トピックに関連するパラメーターのみを説明します。その他のパラメーターはデフォルト値を使用してください。各パラメーターの詳細については、「ALB インスタンスの作成と管理」をご参照ください。
パラメーター
説明
[リージョン]
インスタンスをデプロイするリージョンを選択します。このチュートリアルでは、中国 (上海) を使用します。
[インスタンスのネットワークタイプ]
インスタンスのネットワークタイプを選択します。選択に応じて、システムはプライベート IP アドレスまたはパブリック IP アドレスを割り当てます。このチュートリアルでは、[パブリック] を使用します。
VPC
インスタンスをデプロイする VPC を選択します。
[ゾーン ID]
少なくとも 2 つのゾーンを選択します。このチュートリアルでは、上海ゾーン E とその vSwitch VSW1、および 上海ゾーン G とその vSwitch VSW2 を使用します。
[IP バージョン]
インスタンスの IP バージョンを選択します。このチュートリアルでは、IPv4 を使用します。
[エディション (インスタンス料金)]
インスタンスのエディションを選択します。このチュートリアルでは、[Standard] を使用します。
[インスタンス名]
インスタンスの任意の名前を入力します。
[サービスにリンクされたロール]
初めて ALB インスタンスを作成するときは、[サービスリンクロールの作成] をクリックして、AliyunServiceRoleForAlb という名前のサービスリンクロールを作成する必要があります。システムは AliyunServiceRolePolicyForAlb 権限ポリシーをこのロールにアタッチして、ALB が他のクラウドリソースにアクセスできるようにします。詳細については、「負荷分散のシステム権限ポリシー」をご参照ください。
-
今すぐ購入 をクリックし、画面の指示に従って購入を完了します。
-
インスタンス ページに戻ります。新しいインスタンスが選択したリージョンのリストに表示されます。
ステップ 2:サーバーグループの作成
-
左側メニューで、を選択します。
-
サーバーグループ ページで、サーバーグループの作成 をクリックします。
-
サーバーグループの作成 ダイアログボックスで、サーバーグループのパラメーターを設定し、作成 をクリックします。
ここでは、本トピックに関連するパラメーターのみを説明します。その他のパラメーターはデフォルト値を使用してください。各パラメーターの詳細については、「サーバーグループの作成/削除」をご参照ください。
パラメーター
説明
[サーバーグループタイプ]
サーバーグループのタイプを選択します。このチュートリアルでは、[サーバー] を使用します。
[サーバーグループ名]
サーバーグループの名前を入力します。
VPC
ECS インスタンスが配置されている VPC を選択します。
説明選択した VPC が、ALB インスタンスを作成したときに選択した VPC と同じであることを確認してください。
[バックエンドサーバープロトコル]
バックエンドサーバーのプロトコルを選択します。このチュートリアルでは、HTTP を使用します。
[スケジューリングアルゴリズム]
スケジューリングアルゴリズムを選択します。このチュートリアルでは、[重み付けラウンドロビン] を使用します。
[セッション維持の有効化]
セッション維持を有効または無効にします。このチュートリアルでは、デフォルト設定 (無効) を使用します。
[バックエンドの持続的接続]
バックエンドの持続的接続を有効または無効にします。このチュートリアルでは、デフォルト設定 (有効) を使用します。
[ヘルスチェック]
ヘルスチェックを有効または無効にします。このチュートリアルでは、この機能を有効にします。
[ヘルスチェック]
ヘルスチェックを有効にした後、編集 をクリックして詳細設定を行います。
-
サーバーグループが作成されました ダイアログボックスで、バックエンドサーバーの追加 をクリックします。
-
バックエンドサーバー タブで、バックエンドサーバーの追加 をクリックします。
-
バックエンドサーバーの追加 パネルで、作成した ECS01 と ECS02 インスタンスを選択し、次へ をクリックします。
-
ポート/重み ウィザードで、追加されたサーバーの ポート と 重み を設定し、OK をクリックします。
このチュートリアルでは、ECS インスタンスのポートを 80 に設定し、ウェイトをデフォルト値の 100 に設定します。
ステップ 3:リスナーの設定
-
左側メニューで、 を選択し、インスタンス ID をクリックします。
-
リスナー タブをクリックし、リスナーの作成 をクリックします。
-
リスナーの設定 ウィザードページで、設定を完了し、次へ をクリックします。
ここでは、本トピックに関連するパラメーターのみを説明します。その他のパラメーターはデフォルト値を使用してください。リスナーの設定方法の詳細については、「HTTP リスナーの追加」をご参照ください。
パラメーター
説明
[リスナープロトコルの選択]
リスナーのプロトコルを選択します。このチュートリアルでは、HTTP を使用します。
[リスナーポート]
リクエストを受信し、バックエンドサーバーに転送するために使用するリスナーポート。このチュートリアルでは、ポート 80 を使用します。
[リスナー名]
リスナーの任意の名前を入力します。
[詳細設定]
デフォルト設定を使用します。変更 をクリックして設定を変更できます。
-
サーバーグループ 設定ウィザードで、サーバータイプ を選択し、サーバータイプ の下にある対象のサーバーグループを選択し、バックエンドサーバー情報を表示してから、次へ をクリックします。
-
設定の確認 ページで設定を確認し、送信 をクリックします。
-
OK をクリックして リスナー タブに戻ります。リスナーの ヘルスチェックステータス 列に 正常 と表示されると、バックエンドサーバー ECS01 と ECS02 は、ALB インスタンスによって転送されたリクエストを処理できます。
ステップ 4:DNS 名前解決の設定
本番環境では、CNAME レコードを作成して、カスタムドメイン名を ALB インスタンスのドメイン名にマッピングすることを推奨します。
ロードバランサーのドメイン名がアップグレードされました。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]
[デフォルト] を選択します。
[レコード値]
コピーした ALB インスタンスの DNS 名を入力します。
TTL
Time to live (TTL) は、DNS レコードが DNS サーバーにキャッシュされる期間です。デフォルト値を使用します。
-
ステップ 5:接続のテスト
クライアントと ECS01 および ECS02 サーバー間の接続をテストします。このチュートリアルでは、パブリックネットワークにアクセスできるクライアントを例として使用します。
ブラウザのアドレスバーに、http://<yourdomain.com> のようにドメイン名を入力します。ページを複数回更新します。表示されるメッセージが交互に変わり、ALB が両方のバックエンドサーバーにリクエストを分散していることを確認できます。
1 つの応答は Hello World ! This is ECS01. となり、リクエストが ECS01 サーバーに転送されたことを示します。
Hello World ! This is ECS02.
これにより、クライアントが ALB インスタンスを使用して、ラウンドロビン方式で異なるバックエンドサーバーにアクセスできることが確認できます。
リソースのクリーンアップ
-
ECS、セキュリティグループ、その他のリソースをクリーンアップします。
-
ECS01 インスタンスとそのセキュリティグループを削除します。
-
Elastic Compute Service コンソールにログインします。上部メニューで、インスタンスが配置されているリージョンを選択します。ECS01 インスタンスを見つけ、[操作] 列の
アイコンをクリックし、表示されるダイアログボックスで [リリース] を選択し、操作を確定します。 -
ECS セキュリティグループコンソールにログインします。上部メニューで、インスタンスが配置されているリージョンを選択し、ECS01 のカスタムセキュリティグループを選択して [削除] をクリックします。
-
-
上記の手順に従って、ECS02 インスタンスと関連するセキュリティグループを削除します。
-
-
DNS レコードの削除
詳細については、「DNS レコードの削除」をご参照ください。
-
ALB リソースのクリーンアップ:
-
ALB インスタンスを解放します。操作を進める前に、関連付けられているリスナーを削除したことを確認してください。ALB コンソールにログインします。トップナビゲーションバーで、インスタンスがあるリージョンを選択します。インスタンスを見つけ、[操作] 列の
アイコンをクリックし、表示されたダイアログボックスで リリース を選択して、操作を確定します。 -
サーバーグループからバックエンドサーバーを削除します。詳細については、「サーバーグループの作成と管理」をご参照ください。
-
サーバーグループを削除します。詳細については、「サーバーグループの作成と管理」をご参照ください。
-
-
VPC リソースをクリーンアップします。
-
Virtual Private Cloud コンソールにログインします。上部メニューで、インスタンスが配置されているリージョンを選択します。
-
インスタンスの [操作] 列にある [削除] をクリックします。システムは、未削除のクラウドリソースまたは関連リソースがないかチェックします。依存リソースが存在する場合、VPC と vSwitch を削除する前に、それらを完全にリリースする必要があります。
-
関連ドキュメント
-
ALB のユースケースとコンポーネントについては、「Application Load Balancer とは」をご参照ください。
-
ALB の機能については、「機能」をご参照ください。
-
ALB が利用可能なリージョンの一覧は、「ALB をサポートするリージョンとゾーン」をご参照ください。
-
ALB の割り当てと引き上げ申請については、「割り当てと制限」をご参照ください。
-
ALB の課金については、「ALB の課金」をご参照ください。