Application Load Balancer (ALB) は、アプリケーション層の処理機能と、豊富な高度転送ルールを提供するレイヤー 7 の負荷分散サービスです。ALB インスタンスを作成することで、クライアントからのリクエストをバックエンドサーバーに転送できます。
インスタンスの作成
前提条件
アカウント権限:初めて ALB インスタンスを作成する際、システムから
AliyunServiceRoleForAlbサービスリンクロールの作成を求められます。このロールは、ALB が伸縮性ネットワークインターフェイス、セキュリティグループ、Elastic IP アドレス (EIP)、共有帯域幅などのクラウドリソースにアクセスすることを許可します。アカウント残高:ALB インスタンスは従量課金制を採用しています。アカウントに支払い遅延がある場合、インスタンスは作成できません。インスタンスを作成する前に、アカウントに十分な残高があることを確認してください。
ネットワークの準備:
ターゲットリージョンに Virtual Private Cloud (VPC) を作成済みであること。
高可用性を確保するため、リージョンが複数のアベイラビリティーゾーンをサポートしている場合、ALB インスタンスは少なくとも 2 つのアベイラビリティーゾーンにデプロイする必要があります。使用予定の各アベイラビリティーゾーンに、少なくとも 1 つの vSwitch を作成済みであることを確認してください。
IP アドレスの計画:
ALB インスタンスは、指定された各 vSwitch から 3 つの IP アドレスを割り当てます。1 つは外部サービス用の仮想 IP アドレス (VIP)、2 つはバックエンドサーバーとの通信用のローカル IP アドレスです。
完全な伸縮性を確保するため、ALB インスタンスがデプロイされる各 vSwitch に少なくとも 8 つの IP アドレスを予約してください。IPv4 vSwitch の最初と最後の 3 つの IP アドレスはシステムによって予約されているため、vSwitch の IPv4 CIDR ブロックのプレフィックス長は
/28以下 (例:/27) である必要があります。
セキュリティ計画:iptables などのセキュリティポリシーを使用する場合、バックエンドサービスとの適切な接続を確保するために、ALB インスタンスの vSwitch CIDR ブロックからのトラフィックを許可してください。
コンソール
ALB コンソールの [インスタンス] ページに移動し、ALB の作成 をクリックします。
購入ページで、次のパラメーターを指定し、今すぐ作成 をクリックします。
リージョン:アクセス遅延を削減するため、クライアントに最も近いリージョンを選択します。
「ALB の機能をサポートするリージョンとアベイラビリティーゾーン」をご参照ください。
インスタンスネットワークタイプ:
内部:プライベート IP アドレスのみを割り当てます。インスタンスは Alibaba Cloud のプライベートネットワーク内からのみアクセス可能です。
インターネット:パブリック IP アドレスとプライベート IP アドレスの両方を割り当てます。インスタンスはインターネットおよびプライベートネットワーク内からアクセス可能です。デフォルトでは、ALB はパブリックネットワークアクセスに EIP を使用します。
[インターネット] を選択した場合、EIP の設定料金とデータ転送料金が課金されます。
インターネットネットワークタイプのデュアルスタックインスタンスは、デフォルトでパブリックアクセスに IPv4 アドレスを使用し、パブリック IPv6 でのアクセス機能はありません。パブリック IPv6 アクセスを有効にするには、ALB インスタンスのネットワークタイプを変更します。この操作には IPv6 パブリックネットワーク料金が発生します。
VPC:インスタンスとそのサーバーグループは、同じ VPC 内にある必要があります。作成後に ALB インスタンスの VPC を変更することはできません。
アベイラビリティーゾーン:
リージョンが複数のアベイラビリティーゾーンをサポートしている場合は、少なくとも 2 つのアベイラビリティーゾーンと、それに対応する vSwitch を選択します。
[インスタンスネットワークタイプ] が [インターネット] に設定されている場合、既存の EIP をバインドするか、[パブリック IP の自動割り当て] を選択できます。[パブリック IP の自動割り当て] を選択すると、システムは従量課金 (データ転送量課金) の EIP を作成し、ALB インスタンスにバインドします。
バインドできるのは、共有帯域幅インスタンスに関連付けられていない、既存の従量課金 (データ転送量課金) の EIP のみです。ALB インスタンスにバインドされるすべての EIP は、同じタイプである必要があります。
IP バージョン:IPv6 アクセスをサポートするには、[デュアルスタック] を選択します。それ以外の場合は、[IPv4] を選択します。
デュアルスタックの ALB インスタンスを作成する前に、インスタンスをデプロイする vSwitch で IPv6 を有効にする必要があります。
デュアルスタックインスタンスは新規作成のみ可能です。既存の IPv4 インスタンスをデュアルスタックにアップグレードすることはできません。
エディション (インスタンス料金):
Basic Edition:ドメイン名、URL、HTTP ヘッダーに基づくルーティングなど、基本的なアプリケーション負荷分散機能を提供します。
Standard Edition:Basic Edition のすべての機能を含み、さらにカスタム TLS セキュリティポリシー、トレース分析、リダイレクションやリライトなどの高度なルーティング機能も利用できます。
WAF-enhanced Edition:Standard Edition のすべての機能を含み、アプリケーション層の Web セキュリティのために Web Application Firewall (WAF) 3.0 が統合されています。
WAF インスタンスを有効化していない場合、WAF-enhanced Edition の ALB インスタンスを作成すると、従量課金制の WAF 3.0 インスタンスが自動的に有効化されます。
サブスクリプションベースの WAF 3.0 インスタンスが有効な場合、WAF-enhanced Edition の ALB インスタンスを作成しても、追加の WAF 料金は発生しません。
有効な WAF 2.0 インスタンスがある場合は、まず WAF 2.0 インスタンスをリリースするか、WAF 3.0 に移行する必要があります。
デフォルトでは、ALB は X-Forwarded-Proto ヘッダーを有効にしません。WAF 2.0 インスタンスをリリースした後、ALB インスタンスに直接アクセスすると、バックエンドサービスがプロトコル (HTTP または HTTPS) を正しく識別できないため、無限リダイレクトなどのサービスの問題が発生する可能性があります。この問題を回避するには、ALB リスナーの設定で X-Forwarded-Proto リクエストヘッダーを手動で有効にしてください。
共有帯域幅に追加:このオプションは [インスタンスネットワークタイプ] が [インターネット] に設定されている場合にのみ使用できます。デフォルトでは、2 つのアベイラビリティーゾーンにデプロイされた ALB インスタンスのパブリック帯域幅制限は 400 Mbit/s です。より高い帯域幅制限を得るために、インスタンスを共有帯域幅インスタンスに追加できます。
パブリック IP 課金方法:このオプションは [インスタンスネットワークタイプ] が [インターネット] に設定されており、[共有帯域幅に追加] を選択していない場合にのみ使用できます。デフォルトの課金方法は データ転送量課金 であり、変更することはできません。
データ転送量課金モードでは、帯域幅制限は最大しきい値を表し、保証されるものではありません。リソースの競合が発生した場合、実際の帯域幅が低くなる可能性があります。
インスタンス名とリソースグループ:管理を簡素化するために、わかりやすい名前を指定し、リソースグループを選択します。作成後、[インスタンス] ページで名前を変更したり、管理のためにタグを使用したりできます。
API
CreateLoadBalancer API を呼び出して、Application Load Balancer インスタンスを作成します。
次のステップ
サーバーグループの作成:ALB インスタンスによって転送されるリクエストを受信するためのターゲットサーバーのグループを作成します。
リスナーの追加:ALB インスタンスにリスナーを追加して、受信リクエストの受信方法を定義します。HTTP、HTTPS、QUIC のリスナーを作成できます。
CNAME レコードの追加:ロードバランサーのドメイン名システムがアップグレードされました。新しく作成された ALB インスタンスには、その DNS 名を使用して直接アクセスすることはできません。独自のドメイン名を使用し、そのドメイン名をインスタンスの DNS 名にマッピングする CNAME レコードを作成する必要があります。
インスタンスのステータス
ステータス | 説明 | ロックタイプ | 削除可能 | 変更可能 |
実行中 | インスタンスは正常に稼働しています。 | 該当なし |
|
|
作成中 | インスタンスの作成が進行中です。 | いいえ | いいえ | |
設定更新中 | 設定の更新が進行中です。 | いいえ | ||
作成失敗 | インスタンスの作成に失敗しました。 | はい | ||
停止済み | インスタンスはロックされています。サービスは利用できません。 | ロック中 (支払い遅延):支払い遅延によりロックされています。未払い料金をお支払いの上、ロックを解除してください。 | いいえ | |
ロック中 (関連リソースの異常):関連リソース (EIP またはインターネット共有帯域幅) が支払い遅延によりロックされています。関連リソースの料金をお支払いの上、インスタンスのロックを解除してください。 | いいえ | |||
ロック中 (残存):関連する EIP またはインターネット共有帯域幅インスタンスが支払い遅延によりリリースされたため、ALB インスタンスが利用できなくなりました。ALB インスタンスをリリースしてください。 | はい | |||
ロック中 (セキュリティリスク):セキュリティリスクによりロックされています。セキュリティ管理コンソールでロック解除をリクエストしてください。 | いいえ |
インスタンスのリリース
インスタンスが使用中であるかどうかにかかわらず、作成時からリリースされるまでインスタンス料金が課金されます。不要なコストを避けるため、不要になったインスタンスはリリースしてください。
インターネット向けの ALB インスタンスをリリースする際、ALB が自動的に作成してバインドした EIP を保持するかどうかを選択できます。Anycast EIP は保持できません。保持された EIP は従量課金制で課金されます。手動でバインドした EIP は自動的に保持されます。
インスタンスのリリースは元に戻すことのできない操作であり、すべての設定が削除されます。慎重に操作してください。
インスタンスが Container Service for Kubernetes (ACK) などの他のクラウドサービスによって管理されている場合、それをリリースすると関連サービスが正常に動作しなくなります。この操作は元に戻せません。
インスタンスをリリースする前に、サービスの中断を防ぐため、関連するドメイン名を別のアドレスにポイントしてください。
インスタンスをリリースする前に、インスタンスの [削除保護] が無効になっていることを確認してください。
コンソール
ALB コンソールの [インスタンス] ページに移動します。対象インスタンスの 操作 列で、
> リリース を選択し、OK をクリックします。
API
DisableDeletionProtection API を呼び出して、インスタンスの削除保護を無効にします。
DeleteLoadBalancer API を呼び出して、ロードバランサーインスタンスを削除します。
削除保護と変更保護
削除保護と変更保護機能は、誤ってインスタンスを削除または変更することを防ぎます。
変更保護は、コンソールでの変更のみを防ぎます。
コンソール
ALB コンソールの [インスタンス] ページに移動します。対象インスタンスの ID をクリックして インスタンスの詳細 ページに移動します。インスタンスプロパティ セクションで、削除保護 と 設定変更保護モード を有効または無効にできます。
API
EnableDeletionProtection および DisableDeletionProtection API を呼び出して、削除保護を有効または無効にします。
UpdateLoadBalancerAttribute API を呼び出す際に、
ModificationProtectionConfigのStatusパラメーターを設定して、変更保護を有効または無効にします。
課金
ALB は、従量課金とリソースプランの 2 つの課金方法をサポートしています。課金項目の詳細については、「ALB の課金の概要」をご参照ください。
クォータ
詳細については、「ALB のクォータ」をご参照ください。