従来のアプリケーション ロードバランサの既存のユーザーで、グローバル外部アプリケーション ロードバランサに移行する予定がある場合、またはグローバル外部アプリケーション ロードバランサを使用して新しいデプロイを計画している場合は、このページをご確認ください。
機能の違い
次の機能は、グローバル外部アプリケーション ロードバランサではサポートされていません。これらは、従来のアプリケーション ロードバランサでのみ使用できます。
- スタンダード ネットワーク ティア
-
GKE クラスタにグローバル外部アプリケーション ロードバランサをデプロイするには、代わりに GKE Gateway Controller を使用します。設定手順については、ゲートウェイのデプロイをご覧ください。
データプレーンの違い
次の表に、従来のアプリケーション ロードバランサとグローバル外部アプリケーション ロードバランサのデータプレーンの違いを示します。これらの違いは、ロードバランサが一部の一般的なイベントに応答する方法に影響します。
イベント | 従来のアプリケーション ロードバランサのレスポンス | グローバル外部アプリケーション ロードバランサのレスポンス |
ステータス / エラーコード | ||
すべてのバックエンドが正常ではありません | HTTP 502 を返す | HTTP 503 を返す |
リクエストで禁止された SSL 暗号が使用されている | HTTP 502 を返す | HTTP 503 を返す |
バックエンドによって早期アップストリーム接続がリセットされる | HTTP 502 を返す | HTTP 503 を返す |
接続アップグレードの失敗(例: WebSocket へのアップグレード中) | HTTP 400 を返す | HTTP 403 を返す |
ヘッダーが大きすぎる | HTTP 413 を返す | HTTP 431 を返す |
割り当てと上限 | ||
URL マップの構成 | URL マップの構成の上限は、2 つのロードバランサ間で大きく異なります。詳細については、割り当て: URL マップのドキュメントをご覧ください。 | |
ヘッダー処理 | ||
リクエストで、本文のないカスタム HTTP メソッドを使用する | バックエンドに送信されるリクエストに Transfer Encoding: Chunked ヘッダーを追加する |
バックエンドに送信されるリクエストに Content-Length: 0 ヘッダーを追加する |
バックエンドに送信されるリクエストに追加された X-Forwarded-For ヘッダーの形式 |
IP 間の区切り文字に , を使用する |
IP 間の区切り文字に「, 」を使用する(カンマの後にスペースなし) |
ヘッダーケースの保持 | ヘッダーのケースが保持される | すべてのヘッダーキーが小文字に変換される |
同じ名前のヘッダーの繰り返し | 許可 | RFC 7230 で許可されているように、同じ名前のヘッダーは値をカンマで区切ってつなげることで 1 つのヘッダーに結合できます。 |
(HTTP/1.1 のみ)無効なヘッダー名(例: ヘッダーでサポートされていない文字が含まれている) | 許可(HTTP/1.1 の場合) | HTTP 502 を返す(HTTP/1.1 の場合) |
(HTTP/1.1 のみ)リクエストに Content-Length ヘッダーが繰り返されている(ただし同じ) |
許可(HTTP/1.1 の場合) | HTTP 502 を返す(HTTP/1.1 の場合) |
(HTTP/1.1 のみ)ヘッダー内の複数のホスト | 2 つ以上のホストが追加され、最初のホストが有効な場合、ヘッダーは受け入れられます。 | 複数のホストが追加され、いずれかが無効な場合、ロードバランサは HTTP 502 を返します。 |
(HTTP/1.1 のみ) Connection: Keep-Alive ヘッダー |
デフォルトでバックエンドに送信されるリクエストに Keep-Alive header を追加します。 |
デフォルトでこのヘッダーを追加しない |
リクエスト処理 | ||
リクエストにはバックスラッシュが含まれている | URL は変更されていない | スラッシュに変換する |
リクエストに重複するスラッシュがある | スラッシュを未結合のままにする | 結合スラッシュ |
リクエストパスの「#」 | 許可 | HTTP 400 を返す |
(HTTP/1.1 のみ)リクエストパスに無効な文字が含まれている(例: \\x7f\\x7f) | 許可(HTTP/1.1 の場合) | HTTP 502 を返す(HTTP/1.1 の場合) |
トラフィック分散(URL マップ構成) | ||
クライアント リクエストにポート番号が含まれている | URL マップでポートを使用してホストを構成している場合でも、ポート番号は無視されます。ホスト名のみが考慮されます。 たとえば、 example.com:5000 のリクエストは、example.com のバックエンド サービスと照合されます。 |
ホスト名とポート番号の両方が考慮されます。 たとえば、 example.com:5000 のリクエストは example.com:5000 のバックエンド サービスと照合されます。一致するものがない場合は、デフォルトのバックエンド サービスが使用されます。 |