8.4. プロジェクトの egress ファイアウォールの編集

クラスター管理者は、既存の egress ファイアウォールのネットワークトラフィックルールを変更できます。

8.4.1. EgressNetworkPolicy オブジェクトの編集

クラスター管理者は、プロジェクトの egress ファイアウォールを更新できます。

前提条件

  • OpenShiftSDN ネットワークプラグインを使用するクラスター。
  • oc として知られる OpenShift コマンドラインインターフェース (CLI) のインストール。
  • クラスター管理者としてクラスターにログインする必要があります。

手順

プロジェクトの既存の egress ネットワークポリシーオブジェクトを編集するには、以下の手順を実行します。

  1. プロジェクトの EgressNetworkPolicy オブジェクトの名前を検索します。<project> をプロジェクトの名前に置き換えます。

    $ oc get -n <project> egressnetworkpolicy
  2. オプション: egress ネットワークファイアウォールの作成時に EgressNetworkPolicy オブジェクトのコピーを保存しなかった場合には、以下のコマンドを入力してコピーを作成します。

    $ oc get -n <project> \ 1
      egressnetworkpolicy <name> \ 2
      -o yaml > <filename>.yaml 3
    1
    <project> をプロジェクトの名前に置き換えます。
    2
    <name> をオブジェクトの名前に置き換えます。
    3
    <filename> をファイルの名前に置き換え、YAML を保存します。
  3. 以下のコマンドを入力し、EgressNetworkPolicy オブジェクトを置き換えます。<filename> を、更新された EgressNetworkPolicy オブジェクトを含むファイルの名前に置き換えます。

    $ oc replace -f <filename>.yaml

8.4.2. EgressNetworkPolicy カスタムリソース (CR) オブジェクト

以下の YAML は EgressNetworkPolicy CR オブジェクトについて説明しています。

kind: EgressNetworkPolicy
apiVersion: v1
metadata:
  name: <name> 1
spec:
  egress: 2
    ...
1
egress ファイアウォールポリシーの name を指定します。
2
以下のセクションで説明されているように、egress ネットワークポリシールールのコレクションを指定します。

8.4.2.1. EgressNetworkPolicy ルール

以下の YAML は egress ファイアウォールルールオブジェクトについて説明しています。egress キーは、単一または複数のオブジェクトの配列を予想します。

egress:
- type: <type> 1
  to: 2
    cidrSelector: <cidr> 3
    dnsName: <dns-name> 4
1
ルールのタイプを指定します。値には Allow または Deny のいずれかを指定する必要があります。
2
ルールの cidrSelector キーまたは dnsName キーのいずれかの値を指定します。ルールで両方のキーを使用することはできません。
3
CIDR 形式の IP アドレス範囲を指定します。
4
ドメイン名を指定します。

8.4.2.2. EgressNetworkPolicy CR オブジェクトの例

以下の例では、複数の egress ファイアウォールポリシールールを定義します。

kind: EgressNetworkPolicy
apiVersion: v1
metadata:
  name: default-rules 1
spec:
  egress: 2
  - type: Allow
    to:
      cidrSelector: 1.2.3.0/24
  - type: Allow
    to:
      dnsName: www.example.com
  - type: Deny
    to:
      cidrSelector: 0.0.0.0/0
1
ポリシーオブジェクトの名前。
2
egress ファイアウォールポリシールールオブジェクトのコレクション。