IP プレフィックスを作成して管理する方法

この記事では、Azure Operator Nexus での IP プレフィックスと IP プレフィックス規則の主な管理操作について説明します。

IP プレフィックスの操作

IP プレフィックスを作成する

IP プレフィックス リソースを作成するには、次の手順に従います。

  1. IP プレフィックス リソースのプロパティと規則を指定します。 参照として次の azcli コマンドを使用できます。

    az networkfabric ipprefix create--resource-group myResourceGroup \
      --name myIpPrefix \
      --location eastus \
      --ip-prefix-rules action=Permit condition=EqualTo networkPrefix=10.10.10.0/28 sequenceNumber=10 \
      --ip-prefix-rules action=Permit condition=EqualTo networkPrefix=20.20.20.0/24 sequenceNumber=20
    

    IP プレフィックス リソースのプロパティと規則は次のとおりです。

    • resource-group: IP プレフィックス リソースを作成するリソース グループの名前。 

    • name: IP プレフィックス リリースの名前。 

    • location: IP プレフィックス リソースを作成する Azure リージョン。 

    • ip-prefix-rules: IP プレフィックス リソースの一致条件とアクションを定義する規則の一覧。 各規則には、次のプロパティがあります。

      • action: 条件が満たされたときに実行するアクション。 これは PermitDeny のいずれかにできます。 Permit はルートを許可することを意味し、Deny はルートを拒否することを意味します。 

      • condition: ルートのネットワーク プレフィックスと規則のネットワーク プレフィックスを比較する条件。 次のいずれかの値を指定できます。

        • EqualTo: ルートのネットワーク プレフィックスが規則のネットワーク プレフィックスと等しいとき、条件は真です。 

        • NotEqualTo: ルートのネットワーク プレフィックスが規則のネットワーク プレフィックスと等しくないとき、条件は真です。 

        • GreaterThanOrEqualTo: ルートのネットワーク プレフィックスが規則のネットワーク プレフィックス以上のとき、条件は真です。

      • networkPrefix: 一致するネットワーク セグメント。 これは IP アドレスではなく、プレフィックス長です (例: 10.10.10.0/28、2001:db8::/64 )。 IPv4 の場合、プレフィックス長は 1 から 32 である必要があります。 IPv6 の場合、プレフィックス長は 1 から 128 である必要があります。

      • sequenceNumber: 規則の評価の順序 (最小から最大の順)。 シーケンス番号が最小の規則が最初に評価され、シーケンス番号が最大の規則が最後に評価されます。 規則がルートと一致すると、評価は停止し、その規則のアクションが実行されます。 ルートと一致する規則がない場合、既定のアクションは Deny です。 

  2. azcli コマンドを使用して IP プレフィックス リソースを作成します。 前の手順のコマンドをそのまま使用することも、要件に従って変更することもできます。

  3. IP プレフィックスが正常に作成されたことを確認します。 az networkfabric ipprefix show コマンドを使用すると、IP プレフィックス リソースの詳細を表示できます。 参照として次の例を使用できます。

    az networkfabric ipprefix show \
      --resource-group myResourceGroup \
      --name myIpPrefix 
    

この例で、myResourceGroup は、IP プレフィックス リソースを作成したリソース グループの名前で、myIpPrefix は IP プレフィックス リソースの名前です。 

応答には、ID、種類、ipPrefixRules、場所、名前、provisioningState、resourceGroup、タグなど、IP プレフィックス リソースのプロパティと規則が含まれます。 

IP プレフィックス リソースを表示する

既存の IP プレフィックス リソースの詳細を ID または名前で取得するには、次のコマンドを使用します。

# Get the details of an IP prefix resource by its name
az networkfabric ipprefix show \
  --resource-group myResourceGroup \
  --name myIpPrefix

REST API 応答本文は、次のとおりです。

{
  "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/myIpPrefix",
  "location": "eastus",
  "name": "myIpPrefix",
  "properties": {
    "ipPrefixRules": [
      {
        "action": "Permit",
        "condition": "EqualTo",
        "networkPrefix": "10.10.10.0/28",
        "sequenceNumber": 10
      },
      {
        "action": "Permit",
        "condition": "EqualTo",
        "networkPrefix": "20.20.20.0/24",
        "sequenceNumber": 20
      }
    ]
  }
}

IP プレフィックス リソースの更新

IP プレフィックス リソースを更新するには、次の手順に従います。

  1. 更新する IP プレフィックス リソースのプロパティと規則を指定します。 前の手順の JSON テンプレートをそのまま使用することも、要件に従って変更することもできます。 

  2. Azure CLI コマンドまたは REST API メソッドを使用して IP プレフィックス リソースを更新します。 参照として次の例を使用できます。

    az networkfabric ipprefix update  \
      -g "example-rg" \
      --resource-name "example-ipprefix" \
      --ip-prefix-rules "[{action:Permit,sequenceNumber:4155123341,networkPrefix:'10.10.10.10/30',condition:GreaterThanOrEqualTo,subnetMaskLength:10}]"
    

この例で、resourceGroupName は、IP プレフィックス リソースを作成したリソース グループの名前、ipPrefixName は IP プレフィックス リソースの名前です。--add オプションによって新しい規則が ipPrefixRules プロパティに追加されます。 新しい規則では、ネットワーク プレフィックスが 30.30.30.0/24 のルートが拒否されます。この規則のシーケンス番号は 30 です。 

IP プレフィックス リソースの削除

既存の IP プレフィックス リソースを ID または名前で削除するには、次のコマンドを使用します。

# Delete an IP prefix resource by its name
az networkfabric ipprefix delete \
  --resource-group myResourceGroup \
  --name myIpPrefix

IP プレフィックス リソースを ID で削除するための REST API 要求本文は次のとおりです。

{
  "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/myIpPrefix"
}

IP プレフィックス リソースの例

ipprefixv4-externalnetwork1-export

このリソースは、リソース グループ内の特定の外部ネットワークに関するネットワーク トラフィック規則を管理するために使用されます。 これには、ネットワーク プレフィックス 20.20.20.0/24 および 50.50.50.0/24 へのトラフィックを許可するが、ネットワーク プレフィックス 10.10.10.0/28 へのトラフィックを拒否する規則が含まれています。 

{
  "id": "/subscriptions/.../resourceGroups/.../providers/Microsoft.ManagedNetworkFabric/ipPrefixes/ipprefixv4-externalnetwork1-export",
  "ipPrefixRules": [
    {
      "action": "Deny",
      "condition": "EqualTo",
      "networkPrefix": "10.10.10.0/28",
      "sequenceNumber": 10
    },
    {
      "action": "Permit",
      "condition": "EqualTo",
      "networkPrefix": "20.20.20.0/24",
      "sequenceNumber": 12
    },
    {
      "action": "Permit",
      "condition": "EqualTo",
      "networkPrefix": "50.50.50.0/24",
      "sequenceNumber": 13
    }
  ],
  "location": "eastus",
  "name": "ipprefixv4-externalnetwork1-export",
  "provisioningState": "Succeeded",
  "resourceGroup": "...",
  "type": "microsoft.managednetworkfabric/ipprefixes"
}

このリソースは、ネットワーク プレフィックス 10.10.10.0/28 へのトラフィックを拒否し、ネットワーク プレフィックス 20.20.20.0/24 および 50.50.50.0/24 へのトラフィックを許可します。

ipprefixv4-1204-cn1

このリソースは、リソース グループ内の特定のネットワークに関するネットワーク トラフィック規則を管理するために使用されます。 これには、ネットワーク プレフィックス 10.10.10.0/28 および 20.20.20.0/24 へのトラフィックを許可する規則が含まれています。 

{
  "id": "/subscriptions/.../resourceGroups/.../providers/Microsoft.ManagedNetworkFabric/ipPrefixes/ipprefixv4-1204-cn1",
  "ipPrefixRules": [
    {
      "action": "Permit",
      "condition": "EqualTo",
      "networkPrefix": "10.10.10.0/28",
      "sequenceNumber": 10
    },
    {
      "action": "Permit",
      "condition": "EqualTo",
      "networkPrefix": "20.20.20.0/24",
      "sequenceNumber": 12
    }
  ],
  "location": "eastus",
  "name": "ipprefixv4-1204-cn1",
  "provisioningState": "Succeeded",
  "resourceGroup": "...",
  "type": "microsoft.managednetworkfabric/ipprefixes"
}

このリソースは、ネットワーク プレフィックス 10.10.10.0/28 および 20.20.20.0/24 へのトラフィックを許可します。

ipprefix-v6-ingress

このリソースは、eastus リージョンに配置されており、リソース グループの一部です。 これは構成されていますが、現在は無効になっています。 リソースの種類は microsoft.managednetworkfabric/ipprefixes です。

このリソースには、次の 2 つの IP プレフィックス規則があります。

  1. サブネット マスクの長さが 59 で、fda0:d59c:db12::/59 以上のネットワーク プレフィックスからのトラフィックを許可する。 

  2. サブネット マスクの長さが 64 で、fc00:f853:ccd:e793::/64 以上のネットワーク プレフィックスからのトラフィックを許可する。 

{
  "administrativeState": "Disabled",
  "configurationState": "Succeeded",
  "id": "/subscriptions/.../resourceGroups/.../providers/Microsoft.ManagedNetworkFabric/ipprefixes/ipprefix-v6-ingress",
  "ipPrefixRules": [
    {
      "action": "Permit",
      "condition": "GreaterThanOrEqualTo",
      "networkPrefix": "fda0:d59c:db12::/59",
      "sequenceNumber": 10,
      "subnetMaskLength": "59"
    },
    {
      "action": "Permit",
      "condition": "GreaterThanOrEqualTo",
      "networkPrefix": "fc00:f853:ccd:e793::/64",
      "sequenceNumber": 20,
      "subnetMaskLength": "64"
    }
  ],
  "location": "eastus",
  "name": "ipprefix-v6-ingress",
  "provisioningState": "Succeeded",
  "resourceGroup": "...",
  "type": "microsoft.managednetworkfabric/ipprefixes"
}

このリソースは、指定されたネットワーク プレフィックスからの IPv6 トラフィックを許可するように構成されています。