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

Container Service for Kubernetes:ACK One ALB マルチクラスターゲートウェイの概要

最終更新日:Mar 26, 2026

ALB マルチクラスターゲートウェイは ALB イングレス を拡張したもので、Distributed Cloud Container Platform for Kubernetes (ACK One) によって管理される複数のクラスターにまたがって機能します。単一の Application Load Balancer (ALB) インスタンスが統一されたエントリポイントとして機能し、関連付けられたすべてのクラスターにわたってバックエンドの Service にトラフィックを分散します。いくつかの相違点を除き、ほとんどの場合、ALB マルチクラスターゲートウェイは ALB イングレスのシングルクラスターモードと同様の方法で使用できます。

マルチクラスターゲートウェイを使用する理由

複数のクラスターで単一の ALB インスタンスを実行することで、シングルクラスターの ALB イングレスのデプロイメントにはない、以下の機能が提供されます。

  • 障害隔離:トラフィックが複数のクラスターに分散されるため、単一のクラスターで障害が発生した場合、その影響はそのクラスター内に限定されます。

  • 統一されたトラフィック管理:クラスターごとに個別の Ingress 構成を維持するのではなく、ルーティングルール、リスナー、負荷分散を 1 か所で集中管理します。

  • 一貫性のあるイングレス:自動スケーリング、フルホスト型運用、O&M フリーの管理といった ALB の共通機能を、フリートインスタンス内のすべてのクラスターに適用します。

仕組み

image

このアーキテクチャは、コントロールプレーンとデータプレーンの責務を分離します。

  • コントロールプレーン — ALB Ingress コントローラー:API サーバーを監視して Ingress リソースの変更を検出し、ルーティングルールに基づいて ALB インスタンスの構成を更新します。コントローラーは ALB インスタンスを管理しますが、トラフィックの分散は行いません。

  • データプレーン — ALB インスタンス:コントローラーによって設定されたルールに基づき、着信トラフィックを受信し、関連付けられたすべてのクラスターのバックエンド Service に分散します。

以下のコンポーネントが連携して、トラフィックの定義とルーティングを行います。

  • AlbConfig:ALB Ingress コントローラーによって作成されるカスタムリソース定義 (CRD) で、ALB インスタンスの構成を定義します。各 AlbConfig は、正確に 1 つの ALB インスタンスにマッピングされます。マルチクラスターモードでは、AlbConfig の alb.ingress.kubernetes.io/remote-clusters アノテーションで、ALB インスタンスがサービスを提供するクラスターを指定します。

  • IngressClass:特定の Ingress リソースを処理する Ingress コントローラーを識別し、複数のコントローラーが同じクラスター内に共存できるようにします。

  • Ingress:外部トラフィックのルーティングルールとアクセスの制御ルールを定義します。ALB Ingress コントローラーは Ingress の変更をモニターし、それに応じて ALB インスタンスを更新します。

  • Service:Pod のグループに安定した仮想 IP アドレスとポートを提供します。ALB インスタンスは、個々の Pod の変更を意識することなく、トラフィックを Service にルーティングします。

制限事項

マルチクラスターモードは、ほとんどの ALB イングレスの機能をサポートしますが、1 つの例外があります。マルチクラスターモードでは、重み付けによるトラフィック分割とカナリアリリースを同時に使用することはできません。

特徴シングルクラスターモードマルチクラスターモード
重み付けによるトラフィック分割 + カナリアリリースの同時使用サポート済みサポート対象外

サポートされているアノテーションの完全なリストについては、「ALB イングレスでサポートされているアノテーション」をご参照ください。

AlbConfig の設定

alb.ingress.kubernetes.io/remote-clusters アノテーションを指定した AlbConfig を作成し、クラスターを ALB インスタンスに関連付けます。

apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
  name: ackone-gateway-demo
  annotations:
    # この ALB マルチクラスターゲートウェイに関連付けられているクラスター ID を指定します。
    alb.ingress.kubernetes.io/remote-clusters: ${cluster1},${cluster2}
spec:
  config:
    name: one-alb-demo
    addressType: Internet
    addressAllocatedMode: Fixed
    zoneMappings:
    - vSwitchId: ${vsw-id1}
    - vSwitchId: ${vsw-id2}
  listeners:
  - port: 8001
    protocol: HTTP

次のプレースホルダーを実際の値に置き換えてください。

プレースホルダー説明
${cluster1},${cluster2}フリートインスタンスに関連付けられているクラスター ID
${vsw-id1}${vsw-id2}ALB インスタンスがデプロイされているゾーンの vSwitch ID

次の表に、主要なパラメーターを示します。

パラメーター必須説明
metadata.nameはいAlbConfig の名前。
metadata.annotations: alb.ingress.kubernetes.io/remote-clustersはいALB マルチクラスターゲートウェイに追加するクラスター ID のカンマ区切りリスト。クラスターは、フリートインスタンスに既に関連付けられている必要があります。
spec.config.nameいいえALB インスタンスの名前。
spec.config.addressTypeいいえALB インスタンスのネットワークタイプ。有効な値は次のとおりです。Internet (デフォルト):ALB インスタンスはインターネット経由でアクセス可能で、関連付けられた Elastic IP アドレス (EIP) が必要です。Intranet:ALB インスタンスは VPC 内でのみアクセス可能です。Internet従量課金 を使用する場合、関連付けられた EIP のインスタンス料金と、帯域幅またはデータ転送料金が課金されます。料金の詳細については、「」をご参照ください。
spec.config.zoneMappingsはいALB インスタンスがデプロイされているゾーンの vSwitch ID。vSwitch は、ALB でサポートされているゾーンにあり、クラスターと同じ VPC 内にある必要があります。リージョンが 2 つ以上のゾーンをサポートしている場合は、高可用性を実現するために、少なくとも 2 つのゾーンで vSwitch を指定します。サポートされているリージョンとゾーンについては、「リージョンとゾーン」をご参照ください。vSwitch の作成手順については、「vSwitch の作成と管理」をご参照ください。
spec.listenersいいえリスナーのポートとプロトコル。上記の例では、ポート 8001 で HTTP リスナーを設定しています。リスナーは、ALB インスタンスがトラフィックを受信する方法を定義します。ALB イングレスを使用する前に、AlbConfig にリスナーを含めるか、手動でリスナーを作成する必要があります。

AlbConfig フィールドの完全なリストについては、「ALB Ingress GlobalConfiguration ディクショナリ」をご参照ください。設定例については、「ALB インスタンスとリスナーの設定」をご参照ください。

次のステップ

  • マルチクラスターゲートウェイの Ingress ルーティングルールを設定する:Ingress の設定

  • ACK での Service 管理について学ぶ:Service 管理