このトピックでは、Application Load Balancer (ALB) に関するよくある質問 (FAQ) とその回答を紹介します。
ALB インスタンスを IPv4 からデュアルスタックに、またはデュアルスタックから IPv4 に切り替えることはできますか?
ALB インスタンスが転送できるリクエストの最大サイズはどれくらいですか?許可される最大サイズを増やすことはできますか?
同じバックエンドサーバー内のすべてのバックエンドサーバーが異常な場合、ALB インスタンスはどのようにリクエストを転送できますか?
Alibaba Cloud は仕様の異なる ALB インスタンスを提供していますか?
いいえ、Alibaba Cloud は仕様の異なる ALB インスタンスを提供していません。スペックアップされた ALB インスタンスは、仮想 IP アドレス (VIP) を自動でスケーリングでき、それぞれが最大 100 万 QPS を処理できます。ALB のパフォーマンスの詳細については、「パフォーマンスメトリック」をご参照ください。
スペックアップされていない ALB インスタンスは、静的 IP モードと動的 IP モードを区別します。静的 IP モードでは、ALB インスタンスが使用する VIP は固定です。動的 IP モードでは、負荷が増加するにつれてより多くの VIP を使用でき、各インスタンスは 100 万 QPS に達することができます。
ALB インスタンスのパフォーマンスの詳細については、「ALB とは」トピックの「パフォーマンスメトリック」セクションをご参照ください。
ALB インスタンスの最大インターネット帯域幅を増やすにはどうすればよいですか?
ALB インスタンス (2 つのゾーンにデプロイ) がどの共有帯域幅インスタンスにも関連付けられていない場合、ALB インスタンスの最大帯域幅はデフォルトで 400 Mbps です。
より大きな最大帯域幅値が必要な場合は、共有帯域幅インスタンスを購入し、ご利用の ALB インスタンスの Elastic IP (EIP) アドレスを共有帯域幅インスタンスに関連付けることができます。
共有帯域幅インスタンスの購入方法の詳細については、「共有帯域幅の作成」をご参照ください。
EIP を共有帯域幅インスタンスに関連付ける方法の詳細については、「ALB インスタンスの作成と管理」および「最大帯域幅の変更」をご参照ください。
リスナーのヘルスチェック構成の変更
ヘルスチェックで例外が検出されないのに、なぜ 502 ステータスコードが返されるのですか?
これは、ALB インスタンスのバックエンドサーバーが過負荷になっているためです。ご利用の ALB インスタンスのバックエンドサーバーが過負荷の場合、ヘルスチェックの結果が正常であっても、アクセスリクエストに応答できないことがあります。詳細については、「Linux インスタンスの高負荷のトラブルシューティング」をご参照ください。
データ転送プランを使用して ALB のインターネットデータ転送料金を相殺できますか?
ご利用の ALB インスタンスが EIP を使用してインターネット経由でサービスを提供している場合、データ転送プランを使用してパブリック帯域幅料金を相殺できます。
ご利用の ALB インスタンスが Anycast EIP を使用してインターネット経由でサービスを提供している場合、データ転送プランを使用してインターネットデータ転送料金を相殺することはできません。
ALB は相互認証をサポートしていますか?
ベーシック ALB インスタンスは相互認証をサポートしていません。スタンダードまたは Web Application Firewall (WAF) 対応の ALB インスタンスでは、HTTPS リスナーで相互認証を有効にできます。相互認証を設定するには、まずエディションを変更して、お使いのベーシック ALB インスタンスをスタンダードまたは WAF 対応にする必要があります。
相互認証に使用される認証局 (CA) 証明書は、Alibaba Cloud またはサードパーティによって署名されたものを使用できます。
Alibaba Cloud によって署名されたプライベート CA 証明書を選択するか、購入します。
サードパーティによって署名された CA 証明書を選択するか、ALB に追加します。証明書を構成する際、[デフォルト CA 証明書] ドロップダウンリストで [自己署名 CA 証明書のアップロード] をクリックします。[証明書アプリケーションリポジトリ] ページで、[データソース] が [CA 証明書のアップロード] であるリポジトリを作成します。リポジトリの詳細ページで、自己署名のルート CA 証明書または自己署名の中間 CA 証明書をアップロードします。
相互認証を構成するには、Alibaba Cloud Certificate Management Service から証明書を選択するか、CA 証明書を購入します。詳細については、「プライベート CA の購入と有効化」をご参照ください。
ワイルドカードリスナー証明書はどのような要件を満たす必要がありますか?
HTTPS リスナーにワイルドカード証明書を構成する場合、以下の制限に注意してください:
ワイルドカード証明書を選択する場合、ALB はワイルドカード (
*) が 1 つだけで、ドメイン名の左端にある証明書のみを識別できます。たとえば、ALB は*.example.comと*test.example.comを識別できますが、test*.example.comは識別できません。ワイルドカード証明書の要件:
ワイルドカードドメイン名のレベル:ワイルドカードドメイン名は、ワイルドカードドメイン名と同じレベルの特定のドメイン名に一致できます。たとえば、
*.example.comはtest.example.comに一致できますが、ワイルドカードドメイン名より 1 レベル下のtest.test.example.comには一致できません。国際化ドメイン名 (IDNA):
ワイルドカード文字が唯一のワイルドカード文字で、ワイルドカードドメイン名の左端にある場合、IDNA はワイルドカードドメイン名に一致できます。たとえば、
xn--fsqu00a.example.comは*.example.comに一致できます。ワイルドカード文字がワイルドカードドメイン名の左端にない場合、IDNA はワイルドカードドメイン名に一致できません。たとえば、
xn--fsqu00atest.example.comは*test.example.comに一致できません。
一致範囲:ワイルドカード文字 (
*) は、数字、文字、ハイフン (-) に一致できます。たとえば、*.example.comはtest.example.comに一致できますが、test_test.example.comには一致できません。
ALB インスタンスに関連付け可能な EIP のタイプ
ALB は、従量課金の EIP のみをサポートしています。以下の表は、ALB インスタンスに関連付けできる EIP のタイプを示しています。
課金方法 | インターネット課金方法 | 回線タイプ | セキュリティ保護 |
従量課金 | トラフィック課金 | BGP (マルチ ISP) | デフォルト |
トラフィック課金 | BGP (マルチ ISP) Pro | デフォルト | |
トラフィック課金 | BGP (マルチ ISP) | Anti-DDoS Pro/Premium |
EIP を ALB インスタンスに関連付ける際には、以下の制限に注意してください:
同じ ALB インスタンスの異なるゾーンに割り当てられた EIP は、同じタイプである必要があります。
ALB インスタンスに関連付けたい EIP は、EIP 帯域幅プランに関連付けることはできません。EIP を ALB インスタンスに関連付けた後、ALB コンソールで共有帯域幅インスタンスを ALB インスタンスに関連付けることができます。共有帯域幅インスタンスは、EIP と同じ回線タイプを使用する必要があります。サブスクリプションの共有帯域幅インスタンスと従量課金の共有帯域幅インスタンスがサポートされています。共有帯域幅インスタンスを ALB インスタンスに関連付ける方法の詳細については、「最大帯域幅の変更」をご参照ください。
サブスクリプション EIP または帯域幅課金方式を使用する従量課金 EIP を ALB インスタンスに関連付けることはできません。
ALB インスタンスに EIP を割り当てる際に [EIP の購入] または [EIP の自動割り当て] を選択すると、トラフィック課金方式を使用する従量課金 EIP が作成されます。この EIP は BGP (マルチ ISP) 回線を使用し、Anti-DDoS Origin Basic によって保護されます。
プライベート ALB インスタンスに EIP を関連付けることはできますか?
はい、ALB インスタンスのネットワークタイプをインターネット向けに切り替えた後、そのインスタンスに EIP を関連付けることができます。
プライベート ALB インスタンスに EIP を関連付けるには、インスタンスのネットワークタイプを変更します。プライベート ALB インスタンスをパブリック ALB インスタンスに変更できます。詳細については、「ALB インスタンスのネットワークタイプの変更」をご参照ください。
ネットワークタイプをパブリックに切り替えた後、ALB インスタンスは EIP を使用してインターネット経由でサービスを提供します。インターネット経由のデータ転送に対して課金されます。詳細については、「従量課金」をご参照ください。
ALB インスタンスの EIP を BGP (マルチ ISP) Pro 回線タイプに変更するにはどうすればよいですか?
これは、2 段階のプロセスで ALB インスタンスのネットワークタイプを変更することで実現できます:
ALB インスタンスのネットワークタイプをパブリックからプライベートに変更します。これにより、現在の EIP がインスタンスから関連付け解除されます。
ネットワークタイプをプライベートからパブリックに戻します。この変換中に、新しい EIP を選択するよう求められます。このステップで、作成した BGP (マルチ ISP) Pro 回線タイプの EIP を 2 つ選択します。
ALB コンソールで証明書をアップロードできますか?
いいえ、ALB コンソールで証明書をアップロードすることはできません。
ALB は Alibaba Cloud Certificate Management Service の証明書を使用します。証明書は ALB コンソールではなく、Certificate Management Service コンソールでアップロードする必要があります。詳細については、「SSL 証明書のアップロード」をご参照ください。
ALB はトラフィックミラーリングをサポートしていますか?
はい、ALB はトラフィックミラーリングをサポートしています。詳細については、「本番トラフィックをステージング環境にミラーリングする」をご参照ください。
ALB インスタンスを IPv4 からデュアルスタックに、またはデュアルスタックから IPv4 に切り替えることはできますか?
いいえ、ALB インスタンスの IP モードを切り替えることはできません。
IPv4 またはデュアルスタックの ALB インスタンスを使用する必要がある場合は、新しく作成してください。
DNS レコードを削除する際に注意すべきことは何ですか?
スペックアップされた ALB インスタンスは、DNS レコードの削除および復元機能をサポートしています。
スペックアップ前は、静的 IP モードの ALB インスタンスはこれらの機能をサポートしていましたが、動的 IP モードの ALB インスタンスはサポートしていませんでした。
ゾーンの DNS レコードを削除すると、そのゾーンで使用されている VIP のプロービングが停止します。同時に、IPv4 と IPv6 アドレスの両方を含む、そのゾーンで使用されている EIP または VIP が削除されます。IPv4 または IPv6 アドレスのみを削除することはサポートされていません。
WAF 2.0 の透過型プロキシモードと WAF 3.0 のサービス統合モードの違いは何ですか?
以下に、WAF 2.0 の透過型プロキシモードと WAF 3.0 のサービス統合モードの違いを説明します:
WAF 2.0 の透過型プロキシモード:リクエストは ALB または CLB に転送される前に WAF によってフィルタリングされます。透過型プロキシモードでは、リクエストは 2 つのゲートウェイを通過します。WAF と Server Load Balancer (SLB) のタイムアウト期間と証明書を構成する必要があります。
WAF 3.0 のサービス統合モード:WAF はバイパスモードでデプロイされ、リクエストは直接 ALB に転送されます。リクエストがバックエンドサーバーに転送される前に、ALB はリクエストの内容を抽出して WAF に送信し、フィルタリングします。サービス統合モードでは、リクエストは 1 つのゲートウェイを通過します。これにより、ゲートウェイ間で証明書と設定を同期する必要がなくなり、同期の問題を防ぐことができます。
詳細については、「WAF 3.0 と WAF 2.0 の比較」をご参照ください。
CLB と ALB は WAF 2.0 と WAF 3.0 をサポートしていますか?
サービス | WAF 2.0 (透過型プロキシモード) | WAF 3.0 (サービス統合モード) |
CLB | サポートされています。 WAF 2.0 を透過型プロキシモードで CLB に接続する方法の詳細については、以下のトピックをご参照ください: | サポートされていません。 |
ALB |
| サポートされています。 サポートされているリージョンと関連操作の詳細については、「ALB インスタンスの WAF 保護の有効化」をご参照ください。 |
WAF 2.0 を ALB または CLB に統合した後、タイムアウト期間と証明書が同期されないのはなぜですか?
WAF 2.0 を ALB または CLB と統合した後、クライアントリクエストは ALB または CLB に転送される前に WAF によってフィルタリングされます。リクエストは 2 つのゲートウェイを通過するため、WAF と ALB または CLB の間で設定を同期する必要があります。タイムアウト期間や証明書を変更すると、遅延により同期の問題が発生する可能性があります。
ALB インスタンスがリスナーの転送ルールで構成された最大 QPS に到達できないのはなぜですか?
仕組み:ALB は、バックエンドサーバーのグループ間でネットワークトラフィックを均等に分散することで、ロードバランシングサービスを提供します。転送ルールで構成する最大 QPS は、各バックエンドサーバーに均等に割り当てられます。
各バックエンドサーバーの最大 QPS は、次の数式を使用して計算されます:
各バックエンドサーバーの最大 QPS = 合計 QPS/(N-1)。N はサーバーグループ内のバックエンドサーバーの数を指定します。たとえば、転送ルールで最大 QPS を 1,000 に設定し、バックエンドサーバーの数が 8 の場合、各バックエンドサーバーの最大 QPS は次の数式で計算されます:1000/(8-1) = 142。原因:少数の持続的接続が使用されるシナリオでは、サーバーグループ内のすべてのバックエンドサーバーに持続的接続が割り当てられるわけではありません。その結果、ALB インスタンスは最大 QPS に到達できません。
提案:サービスの中断を防ぐため、ビジネス要件に基づいて転送ルールの最大 QPS を適切な値に設定することを推奨します。転送ルールで最大 QPS を設定する方法の詳細については、「リスナーの転送ルールの管理」トピックの「転送ルールの作成」セクションをご参照ください。
ALB インスタンスが転送できるリクエストの最大サイズはどれくらいですか?許可される最大サイズを増やすことはできますか?
クライアントリクエストの URI または HTTP ヘッダーの最大サイズは 32 KB です。許可される最大サイズを増やすことはできません。アクセスログに記録できるカスタムヘッダーのデフォルトの最大サイズは 1 KB で、4 KB まで増やすことができます。増加をリクエストするには、アカウントマネージャーにお問い合わせください。
クライアントリクエストの URI または HTTP ヘッダーのサイズが最大サイズを超えると、HTTP 400 または 414 ステータスコードが返されることがあります。詳細については、「ALB ステータスコード」をご参照ください。
大量のデータを送信する場合は、POST メソッドを使用してデータを送信することを推奨します。ALB への POST リクエストのボディは最大 50 GB まで可能です。
ALB の処理時間には、クライアントデータの受信と応答データの送信に費やされる時間が含まれますか?
はい、ALB の処理時間には、クライアントの完全なリクエストの受信とクライアントへの応答の送信の両方にかかる時間が含まれます。これは、以下のコンポーネントで構成されます:
リクエスト受信時間 (
read_request_time):ロードバランサーがクライアントのリクエストを読み取るのに費やす合計時間です。これは、以下の合計です:ヘッダー受信時間 (
read_header_time):HTTP リクエストヘッダーを受信する時間。ボディ受信時間 (
read_body_time):HTTP リクエストボディを受信する時間。
応答送信時間:クライアントに応答データを送信するのに費やされる時間を含みます。
同じサーバーグループ内のすべてのバックエンドサーバーが異常な場合、ALB インスタンスはどのようにリクエストを転送できますか?
ALB は、サービスの可用性を維持するために、スケジューリングアルゴリズムに基づいてリクエストを分散します。この問題に対処するには、ログをチェックしてバックエンドサーバーでエラーが発生しているかどうかを判断するか、ヘルスチェックの構成を確認します。詳細については、「ALB のヘルスチェックの問題のトラブルシューティング」をご参照ください。
ALB Ingress を使用する際に注意すべきことは何ですか?
ALB Ingress コントローラーは、AlbConfig オブジェクトを使用して ALB インスタンスを構成します。 ALB Ingress コントローラーを使用して作成された ALB インスタンスの構成は、ALB コンソールで手動で変更しないことを推奨します。 ALB Ingress の詳細については、「ALB Ingress の管理」および「ALB Ingress の特徴」をご参照ください。
ALB コンソールで ALB Ingress コントローラーを使用して作成された ALB インスタンスの構成を手動で変更すると、その構成は AlbConfig オブジェクトによって上書きされます。これにより、アクセスログ機能の無効化やルーティングルールの削除などの例外が発生する可能性があります。
ALB の CORS 機能に関するよくある質問
オリジン間リソース共有 (CORS) の構成が有効にならず、ブラウザがプリフライトリクエストエラーをスローするのはなぜですか?
[許可されたリクエストヘッダー] パラメーターにアスタリスク (*) ではなく特定のヘッダー名が指定されている場合、テストのために [許可されたリクエストヘッダー] をアスタリスク (*) に設定できます。問題が解決した場合、Access-Control-Request-Headers の header_name 属性が構成に含まれているかどうかを確認してください。含まれていない場合、header_name 属性がないことが失敗の原因です。
プリフライトリクエストと実際のリクエストが異なる転送ルールを採用するのはなぜですか?
ALB は転送ルールに複数のマッチング方法をサポートしています。しかし、CORS のプリフライトリクエストのヘッダーとメソッドは特別で、実際のリクエストとは異なります。CORS を使用する場合は、ドメイン名を使用して転送ルールを構成することを推奨します。これにより、プリフライトリクエストと実際のリクエストが、CORS ルールが構成されていない転送ルールに一致しないようにできます。
どのように Access-Control-Allow-Headers 応答ヘッダーは処理されますか?
プリフライトリクエスト
ブラウザがプリフライトチェックを必要とするクロスオリジンリクエストを開始すると、まず
OPTIONSメソッドを使用してリクエストを送信します。これは、実際のリクエストが単純なリクエストではない場合 (たとえば、PUTやDELETEのようなメソッドを使用したり、カスタムヘッダーを含んだりする場合) に発生します。このプリフライト
OPTIONSリクエストには、Access-Control-Request-Methodヘッダーが含まれます。このプリフライトリクエストへの応答として、ALB はコンソールで構成した CORS ルールに基づいて
Access-Control-Allow-Headersヘッダーを返します。このヘッダーの値は、ルールで許可されているリクエストヘッダーのカンマ区切りのリストになります。例:DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization単純リクエストと実際のリクエスト
Access-Control-Allow-Headersヘッダーは、プリフライト (OPTIONS) リクエストに対してのみ返されます。単純なクロスオリジンリクエスト (プリフライトを必要としない) や、成功したプリフライトに続く実際のリクエストなど、その他のリクエストに対しては、ALB は応答に
Access-Control-Allow-Headersヘッダーを含めません。