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

Container Service for Kubernetes:AlbConfig を使用した ACL ベースのアクセス制御の設定

最終更新日:Jun 16, 2026

AlbConfig でアクセス制御リスト (ACL) を ALB Ingress のリスナーに関連付けて、ソース IP をホワイトリストまたはブラックリストに登録します。

重要

ACL は IPv4 アドレスのみをサポートします。

仕組み

ACL には CIDR ブロックのグループが含まれます。AlbConfig を介して ACL をリスナーに関連付けると、リスナーは受信リクエストのソース IP アドレスを ACL エントリと照合し、次のいずれかのルールを適用します。

  • ホワイトリスト: ACL エントリに一致する IP アドレスからのリクエストのみを許可します。

  • ブラックリスト: ACL エントリに一致する IP アドレスからのリクエストを拒否します。

次の図は、ACL の仕組みを示しています。

image

設定方法の選択

リスナーを ACL に関連付けるには 2 つの方法があります。ACL エントリを頻繁に管理する場合や、既存の ACL を再利用する場合は、aclIds を使用します。

項目 aclIds (推奨) aclEntries
サポートされるコントローラーのバージョン ALB Ingress コントローラー v2.7.0 以降 すべてのバージョン
既存の ACL との関連付け はい。ACL ID を直接使用します いいえ。v2.7.0 以降では既存の ACL を関連付けられません
ACL の作成方法 ALB コンソールで手動で作成 AlbConfig 内でインラインで定義
最適なケース 頻繁な ACL エントリの変更、コスト効率の高い ACL メンテナンス ACL エントリが少ない少数のリスナー
重要

aclIdsaclEntries は相互に排他的です。ALB Ingress コントローラー v2.7.0 以降では、既存の ACL をリスナーに関連付けるには aclIds のみを使用してください。

前提条件

開始する前に:

  • 少なくとも 1 つのリスナーを持つ AlbConfig が設定されていること。

  • AlbConfig 内のリスナーレベルで aclConfig パラメーターが設定されていること。

aclIds パラメーターの使用 (推奨)

ID を使用して既存の ACL をリスナーに関連付けます。各リスナーは最大 3 つの ACL をサポートします。

ステップ 1:ACL の作成

  1. ALB コンソール にログインします。

  2. 上部のナビゲーションバーで、リージョンを選択します。

  3. 左側のナビゲーションペインで、[ALB] > [アクセス制御] を選択します。

  4. [アクセス制御] ページで、[アクセス制御リストの作成] をクリックします。

  5. [ACL の作成] ダイアログボックスで、パラメーターを設定し、[OK] をクリックします。

    パラメーター 説明
    [ACL 名] ACL の名前。
    [タグキー] / [タグ値] [アクセス制御] ページで ACL をフィルタリングするためのタグ。
    [リソースグループ] リソースグループ を選択します。

ステップ 2:ACL へのエントリの追加

ACL エントリは、受信リクエストと照合するためのソース IP アドレスまたは CIDR ブロックを指定します。

  1. [アクセス制御] ページで ACL を見つけ、[操作] 列の [管理] をクリックします。

  2. ACL 詳細ページの [エントリ] タブで、エントリを追加します。

    • 単一エントリ[エントリの追加] をクリックし、[IP/CIDR ブロック][備考] を設定してから、[追加] をクリックします。

    • 複数エントリ[ACL エントリの追加] をクリックし、備考付きの CIDR ブロックを入力してから、[追加] をクリックします。

      • 1 行に 1 つのエントリを入力します。

      • 縦棒 (|) を使用して、IP/CIDR ブロックと備考を区切ります。例:192.168.1.0/24|備考

      • 一度に最大 20 個のエントリを追加できます。

  3. エントリを追加した後:

    • [エントリ] に CIDR ブロックが表示されます。

    • [操作] 列からエントリを削除するか、複数のエントリを選択して [削除] をクリックします。

    • 右上隅の download アイコンを使用してエントリをエクスポートします。特定のエントリをエクスポートするには、それらを選択して download アイコンをクリックします。

ステップ 3:ACL のリスナーへの関連付け

spec.listeners.aclConfig を AlbConfig に追加し、aclIds に ACL ID を指定します。

apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
  name: default
spec:
  config:
  #...
  listeners:
    - port: #...
      protocol: #...
      aclConfig:
        aclType: White   # ホワイトリストモード
        aclIds:
          - acl-wtg***   # 実際の ACL ID に置き換えます
#...

aclConfig パラメーター:

パラメーター 説明
aclType ACL のタイプ。有効な値:Black (ブラックリスト)、White (ホワイトリスト)。
aclIds ACL の ID。各リスナーは最大 3 つの ACL をサポートします。

ステップ 4:アクセス制御効果の検証

パブリック IP アドレスがホワイトリストのエントリに一致する (またはブラックリストのエントリに一致しない) クライアントからバックエンド Service にアクセスします。

この例では、ALB Ingress の開始 で紹介しているリソースを使用します。

許可されている場合、クライアントはバックエンド Service に到達します。

image

ステップ 5:(オプション) ACL のリスナーからの関連付け解除

ACL の関連付けを解除するには、aclIds からその ID を削除するか、aclIdsnull に設定します。

apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
  name: default
spec:
  config:
   #...
  listeners:
    - port: #...
      protocol: #...
      aclConfig:
        aclType: White
        aclIds: null   # ACL との関連付けを解除します
  #...
ACL 自体を削除するには、ALB コンソール を使用します。AlbConfig から ACL を削除することはできません。

aclEntries パラメーターの使用

AlbConfig 内で ACL エントリをインラインで定義します。コントローラーは ACL を自動的に作成および管理します。

重要
  • ALB Ingress コントローラー v2.7.0 以降では、aclName は既存の ACL を関連付けません。aclName を更新するたびに、新しい ACL が作成され、関連付けられます。

  • ALB Ingress コントローラー v2.6.0 以前では、書き戻しがデフォルトで有効になっています:

  • AlbConfig 内の aclConfig が空の場合、関連付けられているリスナーの ACL エントリが AlbConfig に書き戻されます。

  • aclConfig が設定されているか、エントリがすでに書き戻されている場合、AlbConfig は変更されません。Ingress リソースが変更されると、コントローラーは AlbConfig の内容でコンソールの ACL 設定を上書きするため、両方を同期させておく必要があります。

ステップ 1:AlbConfig で ACL エントリを設定

AlbConfig の spec.listeners.aclConfig を追加または更新します。aclEntries に CIDR ブロックを指定し、オプションで aclName に名前を指定します。

aclName が設定されている場合、ACL はその名前を使用します。aclName が設定されていない場合、名前は acl-{albName}-{port} として自動生成されます。

apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
  name: default
spec:
  config:
   #...
  listeners:
    - port: #...
      protocol: #...
      aclConfig:
        aclEntries:
          - 192.168.XX.XX/16
          - 172.10.XX.XX/16
        aclType: White   # ホワイトリストモード
        aclName: "acl-test"   # acl-test という名前の ACL を作成します
  #...

aclConfig パラメーター:

パラメーター 説明
aclEntries ACL エントリ。CIDR ブロックである必要があります。例:127.0.0.1/32
aclType ACL のタイプ。有効な値:Black (ブラックリスト)、White (ホワイトリスト)。
aclName ACL の名前。設定しない場合、acl-{albName}-{port} として自動生成されます。

ステップ 2:アクセス制御効果の検証

パブリック IP アドレスがホワイトリストのエントリに一致する (またはブラックリストのエントリに一致しない) クライアントからバックエンド Service にアクセスします。

この例では、ALB Ingress の開始 で紹介しているリソースを使用します。

許可されている場合、クライアントはバックエンド Service に到達します。

image

ステップ 3:(オプション) ACL エントリの削除

AlbConfig の aclEntries を更新します。コントローラーは変更を関連付けられている ACL に同期します。

この例では、acl-test から 172.10.XX.XX/16 を削除し、192.168.XX.XX/16 のみを保持します。すべてのエントリを削除するには、aclEntries を空のリストに設定します。

apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
  name: default
spec:
  config:
   #...
  listeners:
    - port: #...
      protocol: #...
      aclConfig:
        aclEntries:
          - 192.168.XX.XX/16   # 172.10.XX.XX/16 は acl-test から削除されます
        aclType: White
        aclName: "acl-test"
  #...
ACL 自体を削除するには、ALB コンソール を使用します。AlbConfig から ACL を削除することはできません。

次のステップ