すべてのプロダクト
Search
ドキュメントセンター

Server Load Balancer:ALB Ingress user guide

最終更新日:Jan 24, 2026

Container Service for Kubernetes (ACK) やサーバーレス Kubernetes (ACK Serverless) などの Kubernetes プロダクトに加えて、ALB Ingress は Enterprise Distributed Application Service (EDAS)、Serverless App Engine (SAE)、および自己管理型 Kubernetes クラスターでも使用でき、多様なビジネスニーズに対応します。このトピックでは、ALB Ingress の基本機能と高度な機能について説明し、他のプロダクトと連携して使用する方法を解説します。

基本機能

AlbConfig は、ALB Ingress Controller が提供するカスタムリソース定義 (CRD) であり、Application Load Balancer (ALB) インスタンスとリスナーを設定するために使用されます。次の表では、ACK プロダクトでの ALB Ingress Controller のインストールとアンインストール方法、AlbConfig の作成と変更方法、および Simple Log Service の有効化方法について説明します。

オブジェクト

機能

説明

ACK のドキュメントリンク

ACK Serverless のドキュメントリンク

ALB Ingress Controller

ALB Ingress Controller コンポーネントの管理

Container Service は、ALB に基づくマネージド型の ALB Ingress Controller を提供します。

ALB Ingress Controller は、クラスター作成時またはコンポーネント管理ページからインストールできます。

ALB Ingress Controller コンポーネントの管理

ALB Ingress Controller コンポーネントの管理

インスタンス管理

AlbConfig の作成

AlbConfig は、ALB Ingress Controller が提供する CRD で、ALB インスタンスとリスナーを設定します。

1 つの AlbConfig は 1 つの ALB インスタンスに対応します。複数の ALB インスタンスを使用するには、複数の AlbConfig を作成します。

AlbConfig の作成

AlbConfig の作成

Ingress の関連付け

AlbConfig は、標準の Kubernetes IngressClass リソースを使用して Ingress に関連付けられます。まず IngressClass を作成し、次に AlbConfig を関連付けます。

IngressClass の作成と AlbConfig の関連付け

IngressClass を使用した AlbConfig と Ingress の関連付け

AlbConfig の変更

名前や vSwitch 設定など、AlbConfig のプロパティを変更します。

新しい設定は保存後に自動的に有効になります。

アクセスログの有効化

ALB Ingress のアクセスログを収集するには、AlbConfig で logProjectlogStore を指定します。

説明
  • Log Project は手動で作成する必要があります。詳細については、「プロジェクトの管理」をご参照ください。

  • logStore 名は alb_ で始まる必要があります。指定した logStore が存在しない場合、システムによって自動的に作成されます。

アクセスログの有効化

アクセスログの有効化

既存の ALB インスタンスの再利用

既存の ALB インスタンスを再利用するには、AlbConfig の作成時にインスタンス ID を指定します。

既存の ALB インスタンスの再利用

既存の ALB インスタンスの再利用

複数の ALB インスタンスの使用

複数の ALB インスタンスを使用するには、Ingress の spec.ingressClassName フィールドで異なる IngressClass リソースを指定します。

複数の ALB インスタンスの作成と使用

複数の ALB インスタンスの作成と使用

ALB インスタンスの削除

1 つの ALB インスタンスは 1 つの AlbConfig に対応します。ALB インスタンスを削除するには、その AlbConfig を削除します。AlbConfig を削除する前に、関連するすべての Ingress を削除する必要があります。

AlbConfig の削除

AlbConfig の削除

リスナー管理

HTTPS 証明書の指定

AlbConfig の listeners フィールドを設定して HTTPS の証明書 ID を指定することで、ALB 証明書を指定します。

HTTPS 証明書を設定して暗号化通信を有効化

HTTPS 証明書を設定して暗号化通信を有効化

TLS セキュリティポリシーのサポート

AlbConfig で HTTPS リスナーを設定する際に、TLS セキュリティポリシーを指定できます。TLS セキュリティポリシーには、カスタムポリシーとデフォルトポリシーがあります。詳細については、「TLS セキュリティポリシー」をご参照ください。

TLS セキュリティポリシーの指定

TLS セキュリティポリシーの指定

高度な機能

ACK クラスターでは、ALB Ingress はクラスターサービス (Service) を外部に公開する API オブジェクトを管理することで、レイヤー 7 の負荷分散を提供します。次の表では、ALB Ingress を使用して、異なるドメイン名や URL パスからのリクエストを異なるバックエンドサーバーグループに転送する方法、HTTP アクセスを HTTPS にリダイレクトする方法、およびカナリアリリースを実行する方法について説明します。

機能

説明

ACK のドキュメントリンク

ACK Serverless のドキュメントリンク

ドメイン名に基づくリクエストの転送

指定されたドメイン名または空のドメイン名に基づいてリクエストを転送する単純な Ingress を作成します。

ドメイン名に基づくリクエストの転送

ドメイン名に基づくリクエストの転送

URL パスに基づくリクエストの転送

ALB Ingress は URL に基づくリクエストの転送をサポートしています。pathType フィールドを使用して、異なる URL マッチングポリシーを設定できます。pathType フィールドは、次の 3 つのマッチングタイプをサポートしています。

URL パスに基づくリクエストの転送

URL パスに基づくリクエストの転送

カスタム転送ルール

ALB Ingress はカスタム転送ルールをサポートしています。転送ルールには条件と操作が含まれます。ALB Ingress を使用すると、次のことができます:

  • ドメイン名、パス、リクエストヘッダー、クエリ文字列、リクエストメソッド、Cookie、送信元 IP などのカスタム転送条件を定義します。これらの条件は alb.ingress.kubernetes.io/conditions.<service name> アノテーションで設定できます。

  • 固定レスポンスの返却、リダイレクト、リクエストヘッダーの挿入、トラフィックミラーリング、複数のバックエンドサーバーグループへの転送、再書き込みなどのカスタム転送操作を定義します。転送操作は alb.ingress.kubernetes.io/actions.<service name> アノテーションを使用して設定できます。

  • ACK コンソールで、ドメイン名、パス、HTTP ヘッダーなどのカスタム転送条件を定義します。

  • ACK コンソールで、バックエンドへの転送や固定レスポンスの返却などのカスタム転送操作を定義します。

重要
  • 1 つの転送ルールには最大 10 個の条件を設定できます。

  • `ResponseHeader` および `ResponseStatusCode` 条件は、カスタムレスポンスの転送ルールでのみ有効です。

ALB Ingress の転送ルールをカスタマイズする

ALB Ingress のカスタム転送ルール

ヘルスチェックの設定

ALB Ingress は、サービスの可用性を確保するために、アノテーションを設定してヘルスチェックを構成することをサポートしています。

ヘルスチェックの設定

ヘルスチェックの設定

HTTPS 証明書の自動検出の設定

ALB Ingress Controller は証明書を自動的に検出できます。Certificate Management Service コンソールで証明書を作成すると、ALB Ingress Controller は Ingress の TLS 設定内のドメイン名に基づいて自動的に証明書を検出して照合します。

HTTPS 証明書を設定して暗号化通信を有効化

HTTPS 証明書を設定して暗号化通信を有効化

HTTP から HTTPS へのリダイレクト設定

ALB Ingress は、次のアノテーションを使用して、HTTP リクエストを HTTPS ポート 443 にリダイレクトします。

HTTP から HTTPS へのリダイレクト設定

HTTP から HTTPS へのリダイレクト設定

HTTPS および gRPC プロトコルのサポート

ALB はバックエンドプロトコルとして HTTPS と gRPC をサポートしています。これらのプロトコルを ALB Ingress で使用するには、alb.ingress.kubernetes.io/backend-protocol: "grpc" または alb.ingress.kubernetes.io/backend-protocol: "https" アノテーションを設定します。gRPC サービスを転送するには、対応するドメイン名に SSL 証明書があり、TLS プロトコルを使用している必要があります。

説明

バックエンドプロトコルは変更できません。プロトコルを変更するには、Ingress を削除して再作成する必要があります。

バックエンドの HTTPS および gRPC プロトコルのサポート

バックエンドの HTTPS および gRPC プロトコルのサポート

再書き込みのサポート

ALB Ingress は URL の再書き込みをサポートしています。再書き込みを設定するには、alb.ingress.kubernetes.io/rewrite-target: /path/${2} アノテーションを使用します。

説明
  • rewrite-target アノテーションでは、キャプチャグループ変数 (${number}) は Prefix タイプの path と一緒に使用する必要があります。

  • デフォルトでは、path*? などの正規表現記号をサポートしていません。正規表現を使用するには、rewrite-target アノテーションを設定する必要があります。

  • path はスラッシュ (/) で始まる必要があります。

再書き込みの設定

再書き込みの設定

カスタムリッスンポートの設定

ALB Ingress はカスタムリッスンポートをサポートしています。これにより、1 つのサービスに対してポート 80 やポート 443 など、複数のポートを公開できます。

カスタムリッスンポートの設定

カスタムリッスンポートの設定

転送ルールの優先度の設定

ALB Ingress では、アノテーションを設定することで転送ルールの優先度を定義できます。

説明

同じリスナー内のルールの優先度は一意でなければなりません。alb.ingress.kubernetes.io/order アノテーションは、Ingress 間の優先順位を識別するために使用されます。値の範囲は 1 から 1000 です。値が小さいほど優先度が高くなります。

転送ルールの優先度の設定

転送ルールの優先度の設定

アノテーションを使用したカナリアリリースの実装

ALB Ingress は、ヘッダー、Cookie、および重みに基づくカナリアリリースを含む高度なルーティング機能を提供します。カナリアリリースを有効にして設定するには、alb.ingress.kubernetes.io/canary: "true" アノテーションおよびその他のカナリア関連のアノテーションを設定します。

アノテーションを使用したセッション維持の実装

ALB Ingress は、alb.ingress.kubernetes.io/sticky-session および alb.ingress.kubernetes.io/sticky-session-type アノテーションを介してセッション維持をサポートします。

アノテーションを使用したセッション維持の実装

アノテーションを使用したセッション維持の実装

バックエンドサーバーグループの負荷分散アルゴリズムの指定

ALB Ingress は、alb.ingress.kubernetes.io/backend-scheduler Ingress アノテーションを設定することで、バックエンドサーバーグループの負荷分散アルゴリズムを指定することをサポートしています。

バックエンドサーバーグループの負荷分散アルゴリズムの指定

バックエンドサーバーグループの負荷分散アルゴリズムの指定

クロスドメイン設定

ALB Ingress は、アノテーションを設定することでクロスドメイン設定をサポートしています。

クロスドメイン設定

クロスドメイン設定

バックエンドの持続的接続

ALB は、接続レイヤーでのリソース消費を削減し、処理性能を向上させるために、バックエンドの持続的接続をサポートしています。この機能は、alb.ingress.kubernetes.io/backend-keepalive アノテーションを使用して ALB Ingress で有効にできます。

バックエンドの持続的接続

バックエンドの持続的接続

QPS スロットリングのサポート

ALB は、転送ルールのクエリ/秒 (QPS) スロットリングをサポートしており、制限は 1 から 100,000 の範囲です。ALB Ingress の QPS スロットリングを設定するには、alb.ingress.kubernetes.io/traffic-limit-qps アノテーションを設定します。

QPS スロットリングのサポート

QPS スロットリングのサポート

バックエンドのスロースタート

ALB Ingress はバックエンドのスロースタートをサポートしており、alb.ingress.kubernetes.io/slow-start-enabled アノテーションを使用して有効にできます。alb.ingress.kubernetes.io/slow-start-duration アノテーションを使用して、トラフィックが徐々に増加する期間を設定します。値は 30 から 900 秒 (s) の範囲で設定できます。

説明

期間が長いほど、トラフィックの増加は遅くなります。

バックエンドのスロースタート

バックエンドのスロースタート

接続ドレイン

ALB Ingress は接続ドレインをサポートしており、alb.ingress.kubernetes.io/connection-drain-enabled アノテーションを使用して有効にできます。alb.ingress.kubernetes.io/connection-drain-timeout アノテーションを使用して、接続ドレインのタイムアウトを設定します。値は 0 から 900 秒 (s) の範囲で設定できます。

接続ドレイン

接続ドレイン

Kubernetes と ECS のハイブリッドアタッチメントのサポート

ALB Ingress では、alb.ingress.kubernetes.io/actions.<service name> アノテーションを使用してバックエンドサーバーグループを設定できます。サービス名またはサーバーグループ ID によってバックエンドサーバーグループをアタッチできます。この機能により、Kubernetes クラスター内の Pod とクラスター外の ECS インスタンスのハイブリッドアタッチメントが可能になります。

ALB Ingress を使用したハイブリッド、クロスリージョン、オンプレミスデータセンターのアタッチメントの実装

ALB Ingress を使用したハイブリッド、クロスリージョン、オンプレミスデータセンターのアタッチメントの実装

Cloud Enterprise Network や Transit Router などのプロダクトの組み合わせによるクロスリージョンおよびオンプレミスデータセンターリソースのアタッチメントのサポート

ALB を Cloud Enterprise Network (CEN) や Transit Router などのプロダクトと組み合わせることで、ALB が他のリージョンの VPC 内のサーバーやオンプレミスのデータセンターにリクエストを転送できるようになります。

ALB Ingress のエコシステム統合

クラウドプロダクトとの統合

クラウドプロダクト

機能

説明

ドキュメントリンク

WAF

ALB Ingress の WAF 保護の有効化

Web Application Firewall (WAF) は、Web サイトやアプリケーションにワンストップのセキュリティ保護を提供します。データ漏洩や悪意のある CC 攻撃を防ぎ、トロイの木馬のアップロードをブロックし、Web サイトの改ざんを防止し、仮想パッチを提供します。ALB Ingress の WAF 保護を有効にすると、ALB インスタンスのリッスンポートへのトラフィックが保護されます。

ALB Ingress の WAF 保護の有効化

EDAS

アプリケーション Ingress (ALB Ingress) の作成

EDAS は ALB Ingress アプリケーションルーティングをサポートしています。ALB Ingress は Alibaba Cloud の ALB をベースにしており、Ingress トラフィックを管理するための効果的な方法を提供します。Nginx Ingress と互換性があり、複雑なビジネスルーティングや証明書の自動検出をサポートしています。

アプリケーション Ingress (ALB Ingress) の作成

SAE

Ingress ゲートウェイに基づくエンドツーエンドカナリアリリースの実装

ALB Ingress ゲートウェイを使用して、ビジネスコードを変更することなく、SAE アプリケーションのエンドツーエンドのトラフィックシェーピングを実装できます。

ASM

Ingress を使用した ALB との統合をサポート

Alibaba Cloud Service Mesh (ASM) は、Ingress を使用して ALB と統合できます。これにより、ALB ユーザーは ASM インスタンス内のアプリケーションのトラフィックを管理できます。

ASM と Application Load Balancer (ALB) インスタンスの統合

HPA

Ingress を使用した ALB との統合をサポート

Horizontal Pod Autoscaler (HPA) は、水平ポッド自動スケーリングのための Kubernetes の機能です。HPA を ALB Ingress と統合して、QPS データに基づいてアプリケーションの自動スケーリングを有効にできます。

HPA を使用して QPS データに基づくアプリケーションの自動スケーリングを実装

Knative

Knative コンポーネントがインストールされている ACK または ACK Serverless クラスターで ALB を介したサービスへのアクセスをサポート

Knative は Kubernetes ベースのサーバーレスフレームワークです。Knative を介して ALB サービス検出を設定し、ヘッダーと Cookie に基づくカナリアリリースを実装できます。

ALB ゲートウェイの使用

ACK One

Ingress を使用した ALB マルチクラスターゲートウェイの作成をサポート

Distributed Cloud Container Platform for Kubernetes (ACK One) は、ハイブリッドクラウド、マルチクラスター、分散コンピューティング、ディザスタリカバリのシナリオをサポートする Alibaba Cloud のエンタープライズレベルのクラウドネイティブプラットフォームです。ACK One の ALB マルチクラスターゲートウェイは、ALB Ingress のマルチクラスターモードです。これにより、アクティブなゾーン冗長性、アクティブな地理的冗長性によるディザスタリカバリ、マルチクラスターのトラフィック負荷分散、および指定されたクラスターへのヘッダーベースのトラフィックルーティングを実装できます。

オープンソースプロダクトとの統合

オープンソースプロダクト

機能

説明

ドキュメントリンク

クラウド上の自己管理型 Kubernetes

Ingress を使用した自己管理型 Kubernetes クラスターでの ALB の使用をサポート

購入した ECS コンピューティングリソース上に構築された Kubernetes クラスターでは、Ingress を使用して ALB ルーティングを編成できます。これにより、クラスター内での自動的なサービス検出と負荷分散が実現します。

自己管理型 Kubernetes クラスターでの ALB Ingress の使用ガイド