Application Load Balancer (ALB) は、アプリケーション層の処理機能と幅広い高度な転送ルールを提供するレイヤー 7 負荷分散サービスです。ALB インスタンスを作成することで、クライアントからのリクエストをバックエンドサーバーに転送できます。
インスタンスの作成
前提条件
アカウント権限:ALB インスタンスを初めて作成する際、システムから
AliyunServiceRoleForAlbサービスリンクロールの作成を求められます。このロールは、ALB が Elastic Network Interface、セキュリティグループ、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 の作成 をクリックします。
購入ページで、以下のパラメータを指定し、今すぐ作成 をクリックします。
Region:アクセスレイテンシを削減するため、クライアントに最も近いリージョンを選択します。
ALB 機能をサポートするリージョンとアベイラビリティーゾーンをご参照ください。
Instance Network Type:
[Internal]:プライベート IP アドレスのみを割り当てます。インスタンスは Alibaba Cloud プライベートネットワーク内からのみアクセス可能です。
[Internet]:パブリック IP アドレスとプライベート IP アドレスの両方を割り当てます。インスタンスはインターネットおよびプライベートネットワークからアクセス可能です。デフォルトでは、ALB はパブリックネットワークアクセスに EIP を使用します。
[Internet] を選択すると、各アベイラビリティーゾーンに 1 つの EIP が割り当てられ、各 EIP は個別に設定料金とデータ転送料金が請求されます。
インターネットネットワークタイプのデュアルスタックインスタンスは、デフォルトでパブリックアクセスに IPv4 アドレスを使用し、パブリック IPv6 機能は利用できません。パブリック IPv6 アクセスを有効にするには、ALB インスタンスのネットワークタイプを変更してください。この操作によりIPv6 パブリックネットワーク料金が発生します。
VPC:インスタンスとそのサーバーグループは同じ VPC 内に配置する必要があります。作成後に ALB インスタンスの VPC を変更することはできません。
Zone:
リージョンが複数のアベイラビリティーゾーンをサポートしている場合、少なくとも 2 つのアベイラビリティーゾーンとそれに対応する vSwitch を選択します。
(このパラメータは [Instance Network Type] が [Internet] に設定されている場合のみ利用可能です) 既存の EIP をバインドするか、[Auto-assign Public IP] を選択できます。パブリック IP の自動割り当てを選択すると、システムが従量課金 (データ転送量課金) の EIP を作成し、ALB インスタンスにバインドします。
共有帯域幅インスタンスに関連付けられていない既存の従量課金 (データ転送量課金) EIP のみをバインドできます。ALB インスタンスにバインドされるすべての EIP は同じタイプである必要があります。
IP Version:IPv6 アクセスをサポートするには、[Dual-stack]を選択します。それ以外の場合は、[IPv4] を選択します。
デュアルスタック ALB インスタンスを作成する前に、インスタンスをデプロイする予定の vSwitch で IPv6 を有効化する必要があります。
デュアルスタックインスタンスのみを作成できます。既存の IPv4 インスタンスをデュアルスタックにアップグレードすることはできません。
ALB Extensible Edition はデュアルスタックをサポートしていません。
Edition (インスタンス料金):
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 リクエストヘッダーを手動で有効にしてください。
Extensible Edition:柔軟なサービス拡張機能に基づき、ID 認証やコンテンツベースのルーティングなどのコアトラフィックガバナンス機能を提供し、マルチモデルプロキシング、GPU 対応スケジューリング、トークンレート制限などの AI ネイティブ機能を追加し、アプリケーションと AI の両方に対応する統合インテリジェントトラフィックエントリを構築します。
ALB Extensible Edition はパブリックプレビュー中です。詳細については、パブリックプレビュー通知をご参照ください。
ALB Extensible Edition インスタンスは、
33.0.0.0/8または22.0.0.0/16CIDR ブロックからのクライアントアクセスをサポートしていません。
(このパラメータは [Instance Network Type] が [Internet] に設定されている場合のみ利用可能です) [Add to Shared Bandwidth]:デフォルトでは、2 つのアベイラビリティーゾーンにデプロイされた ALB インスタンスのパブリック帯域幅制限は 400 Mbit/s です。インスタンスを共有帯域幅インスタンスに追加することで、より高い帯域幅制限を取得できます。
(このパラメータは [Instance Network Type] が [Internet] に設定されており、[Add to Shared Bandwidth] を選択していない場合のみ利用可能です) [Public IP Billing Method]:デフォルトの課金方法は Pay-By-Data-Transfer であり、変更できません。
データ転送量課金モードでは、帯域幅制限は最大しきい値を表し、保証されるものではありません。リソース競合時には実際の帯域幅が低下する場合があります。
Instance Name およびResource Group:わかりやすい名前を指定し、リソースグループを選択して管理を簡素化します。作成後、インスタンス ページで名前を変更したり、タグを使用して管理したりできます。
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 クォータをご参照ください。
よくある質問
内部向け ALB インスタンスに IP アドレスはありますか?DNS 経由でアクセスするにはどうすればよいですか?
内部向け ALB インスタンスを作成すると、システムは各アベイラビリティーゾーンにプライベート IP アドレスを割り当てます。インスタンスは DNS 名だけでなく、プライベート IP アドレスを持っています。DNS 名 (alb-xxx.cn-hangzhou.alb.aliyuncsslb.com など) はこれらのプライベート IP アドレスに解決されます。同じ VPC 内の ECS インスタンスが DNS 名を通じて内部向け ALB インスタンスにアクセスすると、すべてのトラフィックは内部ネットワークを経由し、パブリックネットワークトラフィック料金は発生しません。
内部向け ALB インスタンスの IP 情報を表示するには:
インスタンスの詳細ページのアベイラビリティーゾーンテーブルで、[VIP] (仮想 IP アドレス) 列と [Local IP] (送信元 IP アドレス) 列を確認します。
digまたはnslookupコマンドを実行して DNS 名を解決し、プライベート IP アドレスを取得します。