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

Container Service for Kubernetes:ネットワークポリシーの使用

最終更新日:Jun 18, 2026

ACK Serverless クラスターで Poseidon コンポーネントを使用して、ネットワークポリシーを有効化し、Pod レベルのトラフィックを制御します。

前提条件

制限事項

  • ネットワークポリシーは、ACK Serverless ProおよびACK マネージドクラスター Proクラスターでのみサポートされます。

  • ネットワークポリシーは IPv6 アドレスをサポートしません。

  • NetworkPolicy の endPort フィールドはサポートされていません。

  • NetworkPolicy ルールは、名前空間または Pod をマッチさせるためにラベルセレクターを使用します。NetworkPolicy リソースが多すぎると、ルールの伝搬が遅くなり、管理やトラブルシューティングが複雑になります。クラスターあたりの NetworkPolicy リソースは 40 未満に制限してください。

ステップ 1:ネットワークポリシーの有効化

ACK Serverless Pro クラスターでネットワークポリシーを有効化するために、Poseidon コンポーネントをインストールします。

  1. Poseidon コンポーネントをインストールします。

    1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

    2. クラスターリストページで、ご利用のクラスター名をクリックします。左側のナビゲーションウィンドウで、コンポーネントとアドオンをクリックします。

    3. アドオン管理ページで、ネットワークタブをクリックします。Poseidonカードで、インストールをクリックします。

    4. インストールダイアログボックスで、ACS/ECI インスタンスの NetworkPolicy を有効にするを選択し、OKをクリックします。

      インストール後、カードにインストール済みと表示されます。

ステップ 2:nginx アプリケーションの作成とテスト

コンソール

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、クラスターをクリックします。

  2. クラスターページで、対象のクラスター名をクリックします。左側のナビゲーションウィンドウで、ワークロード > デプロイメントを選択します。

  3. デプロイメントページで、イメージから作成をクリックします。作成ウィザードで、nginxという名前のアプリケーションを作成し、サービスとして公開します。アプリケーションの設定後、作成をクリックします。Nginx アプリケーションについては以下のパラメーターを設定し、その他はすべてデフォルト設定を使用します。詳細については、「設定の詳細」をご参照ください。

    セクション

    パラメーター

    基本情報

    名前

    nginx

    レプリカ数

    1

    コンテナ

    イメージ名

    nginx:latest

    高度な設定 > サービス

    サービス名

    nginx

    タイプ

    ClusterIP、LoadBalancer、または NodePort

    ポートマッピング

    名前: nginx / サービスポート: 80 / コンテナポート: 80 / プロトコル: TCP

  4. デプロイメントページで、再度イメージから作成をクリックします。nginxサービスへの接続性をテストするため、busyboxという名前のクライアントアプリケーションを作成します。busyboxアプリケーションについては以下のパラメーターを設定し、その他はすべてデフォルト設定を使用します。詳細については、「設定の詳細」をご参照ください。

    セクション

    パラメーター

    基本情報

    名前

    busybox

    レプリカ数

    1

    コンテナ

    イメージ名

    busybox:latest

    インタラクティブセッション

    stdintty

  5. busybox クライアントが nginx サービスに到達できることを確認します。

    1. デプロイメントページで、busybox アプリケーションを見つけ、その名前をクリックします。

    2. Pod]タブをクリックし、busybox-{hash} Pod を見つけて、[操作]列の[ターミナル]をクリックします。image.png

    3. busybox ターミナルで、接続性をテストするために wget nginx を実行します。 connection 出力結果から、busybox Pod が nginx サービスに到達できることが確認できます。

CLI

  1. Nginx Pod を作成し、サービスとして公開します。Pod を作成します。

    kubectl run nginx --image=nginx

    期待される出力:

    pod/nginx created

    Pod が実行中であることを確認します。

    kubectl get pod

    期待される出力:

    NAME    READY   STATUS    RESTARTS   AGE
    nginx   1/1     Running   0          45s

    Pod をサービスとして公開します。

    kubectl expose pod nginx --port=80

    期待される出力:

    service/nginx exposed

    サービスを確認します。

    kubectl get service

    期待される出力:

    NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
    kubernetes   ClusterIP   172.XX.XX.1     <none>        443/TCP   30m
    nginx        ClusterIP   172.XX.XX.48    <none>        80/TCP    12s
  2. busybox Pod を起動し、nginx サービスにアクセスします。

    kubectl run busybox --rm -ti --image=busybox /bin/sh

    期待される出力:

    If you don't see a command prompt, try pressing enter.
    / #
    / #

    プロンプトが表示されたら、次のコマンドを実行します。

    wget nginx

    期待される出力:

    Connecting to nginx (172.XX.XX.48:80)
    saving to 'index.html'
    index.html           100% |****************************************************************************************************************************************************|   612  0:00:00 ETA
    'index.html' saved

ステップ 3:ネットワークポリシーの使用

ラベル、CIDR ブロック、送信先、またはパブリックネットワークアクセスに基づいて、Pod のトラフィックを制限する NetworkPolicy リソースを適用します。

ユースケース 1:ラベルによるアクセス許可

    ユースケース 2:送信元 CIDR ブロックによるアクセス制限

      ユースケース 3:特定のアドレスへの Pod 送信トラフィックの制限

        ユースケース 4:Pod のパブリックネットワークアクセスの制御

        重要