【VMware Cloud Director】Edge GatewayにおけるDNS、DHCPサービス用定義

DNSDHCPサービスが実行されるネットワーク定義としてデフォルトで以下がが設定される。

DHCPリスナーIPネットワーク:192.168.255.225/30

DNSリスナーIPネットワーク:192.168.255.228/32

そのため、192.168.255.225/27を利用したい場合は設定をデフォルトから変更する必要がある。

作成後の設定変更はできず、初期設定時に指定する必要がある。

そして、該当の指定はGUIではできないためAPIから実施する必要がある。

developer.vmware.com

簡単な手順としては以下のようになる。

1.GUIから新規作成

2.APIにて1で作成したEdgeGatewayの設定内容を取得

①一覧を取得
GET https://172.16.21.20/cloudapi/1.0.0/edgeGateways

出力(一部抜粋)
"id":"urn:vcloud:gateway:6da36186-54cb-45f7-bb16-abb4dc6146b2","name":"edge-2"

②1にて作成したEdgeGatewayの情報を取得
GET https://172.16.21.20/cloudapi/1.0.0/edgeGateways/{id}

3.2で取得した内容における該当内容を修正

"serviceNetworkDefinition":"192.168.255.225/27"
↓
"serviceNetworkDefinition":"192.168.230.225/27"

また、以下項目を削除
・gatewayBacking:{}
・id:urn:vcloud:gateway:xxxx
・status:xx

4.1で作成したEdgeGatewayを削除

5.3にて作成した設定内容を利用し、APIにてEdgeGatewayを新規作成

curl -k --header "Content-Type: application/json" --header "Accept: application/*;version=37.0" --header "Authorization: Bearer {token}" --request POST https://172.16.21.20/cloudapi/1.0.0/edgeGateways -d '{
   "name":"edge-2",
   "description":"",
   "edgeGatewayUplinks":[
      {
         "uplinkId":"urn:vcloud:network:144b0620-889e-4b95-825a-242eb0fdb129",
         "uplinkName":"test",
         "subnets":null,
         "connected":true,
         "quickAddAllocatedIpCount":null,
         "dedicated":false,
         "vrfLiteBacked":false
      }
   ],
   "distributedRoutingEnabled":true,
   "nonDistributedRoutingEnabled":false,
   "orgVdcNetworkCount":0,
   "orgVdc":{
      "name":"21-ovdc01",
      "id":"urn:vcloud:vdc:ddff3d5a-76ec-4044-8fbb-c2ea0a9e5c1c"
   },
   "ownerRef":{
      "name":"21-ovdc01",
      "id":"urn:vcloud:vdc:ddff3d5a-76ec-4044-8fbb-c2ea0a9e5c1c"
   },
   "orgRef":{
      "name":"21-ORG",
      "id":"urn:vcloud:org:3aeed6dd-20bf-444c-a875-2483933e89cf"
   },
   "serviceNetworkDefinition":"192.168.230.225/27",
   "distributedRouterUplinkNetworkDefinition":null,
   "edgeClusterConfig":{
      "primaryEdgeCluster":{
         "edgeClusterRef":{
            "name":"cluster",
            "id":"urn:vcloud:edgeCluster:93ed5131-ede7-4f97-812a-1d9456d406ba"
         },
         "backingId":"666f5a6c-f5b0-4402-a613-ac8615e38a54"
      },
      "secondaryEdgeCluster":null
   }
}'

NSX確認 GUIから作成した構成

APIから作成した構成