ネットワークポリシー(ねっとわーくぽりしー)
最終更新:2026/4/25
ネットワークポリシーは、ネットワーク上の通信を制御するための規則を定義する仕組みである。
別名・同義語 ネットポリコンテナネットワークポリシー
ポイント
ネットワークポリシーは、セキュリティ強化やトラフィック管理を目的として、Kubernetesなどのコンテナオーケストレーションシステムで広く利用されている。
ネットワークポリシーとは
ネットワークポリシーは、Pod間の通信を制御するためのルールを定義する機能です。Kubernetesなどのコンテナオーケストレーション環境において、マイクロサービス間の通信を安全かつ効率的に管理するために不可欠な要素となっています。
ネットワークポリシーの必要性
コンテナ化されたアプリケーションは、動的にPodが生成・削除されるため、従来のネットワークセキュリティの仕組みでは対応が困難です。ネットワークポリシーを用いることで、Pod間の通信を細かく制御し、不要な通信を遮断することで、セキュリティリスクを低減できます。
ネットワークポリシーの基本的な仕組み
ネットワークポリシーは、以下の要素で構成されます。
- Podセレクタ: ポリシーを適用するPodを選択します。
- Ingressルール: Podへの受信トラフィックを許可または拒否するルールを定義します。
- Egressルール: Podからの送信トラフィックを許可または拒否するルールを定義します。
これらのルールを組み合わせることで、Pod間の通信を詳細に制御できます。
ネットワークポリシーの実装
Kubernetesでは、ネットワークポリシーをYAML形式で定義し、kubectl applyコマンドで適用します。ネットワークポリシーを適用するには、ネットワークプラグイン(Calico, Ciliumなど)が必要です。
ネットワークポリシーの例
例えば、特定のラベルを持つPodからのトラフィックのみを許可するポリシーは、以下のようになります。
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-from-specific-pod
spec:
podSelector:
matchLabels:
app: my-app
ingress:
- from:
- podSelector:
matchLabels:
role: frontend
このポリシーは、app: my-appラベルを持つPodへのトラフィックを、role: frontendラベルを持つPodからのもののみ許可します。