サブネット作成

ネットワークに接続するリソースに対するプライベートIPアドレスの管理、DHCPによるIPアドレスの自動設定に必要です。ここではサブネットを作成し、確認するまでの手順を解説します。

ネットワークを指定して、サブネットは作成します。



  1. 以下で、必要な設定を行います。
    注:

    ここでDNSサーバを設定しますが、仮想サーバがDNSサーバと通信するためには、インターネットへのアウトバウンド通信を許可する必要があります。 セキュリティグループ機能、またはファイアーウォールサービスの設定内容を確認し、DNSサーバへの通信(プロトコル : TCP/UDP、ポート番号 : 53) を許可するようにしてください。

    なお、DNS に指定する値は環境により異なります。本サービスで提供しているDNS を利用する場合は、「機能説明書」の付録「共通ネットワークサービス」を参照してください。

    $ SUBNET=<新規サブネット名(任意)>
    $ NETWORK_ID=<指定するネットワークID>
    $ CIDR=<ネットワークアドレス(XXX.XXX.XXX.0/24(任意))>
    $ GATEWAY_IP=<デフォルトゲートウェイIPアドレス(XXX.XXX.XXX.1(任意))>
    $ DNS=<\"133.162.XXX.XXX\"\,\"133.162.XXX.XXX\">
    注:

    CIDRパラメーターの指定可能なアドレスの範囲については、「機能説明書」の「サブネット管理」を参照して下さい。

    GATEWAY_IPパラメーターには、CIDRパラメーターで指定したアドレスレンジ内での任意のIPアドレスを指定して下さい。

    警告:

    作成したサブネットに対し、SSL-VPN接続(V2サービス)で接続する場合は、上記の変数を以下のように指定する必要があります。

    • CIDR

      ネットワークアドレスのマスク値を「16bit~29bit」の範囲内で指定する。

      例)192.168.1.0/24

    • GATEWAY_IP

      VPNサービスで指定する仮想ルータのIPアドレスを指定する。

  2. 次のAPIを実行します。
    $ curl -Ss $NETWORK/v2.0/subnets  -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" \
    -H "Content-Type:  application/json" -d '{"subnet": {"name": "'$SUBNET'",
     "network_id": "'$NETWORK_ID'", "cidr":  "'$CIDR'", "dns_nameservers": ['$DNS'],
     "ip_version": 4, "gateway_ip":  "'$GATEWAY_IP'", "availability_zone": "'$AZ'"}}' | jq .

    以下のレスポンスが返ります。

    {
      "subnet": {
        "name": "新規サブネット名",
        "enable_dhcp": true,
        "network_id": "<設定したネットワークID>",
        "tenant_id": "<プロジェクトID>",
        "dns_nameservers": [
          "133.162.XXX.XXX",
          "133.162.XXX.XXX"
        ],
        "allocation_pools": [
          {
            "start": "XXX.XXX.XXX.2",
            "end": "XXX.XXX.XXX.254"
          }
        ],
        "host_routes": [],
        "ip_version": 4,
        "gateway_ip": "<設定したデフォルトゲートウェイIPアドレス>",
        "cidr": "設定したネットワークアドレス",
        "id": "新規サブネットID",
        "availability_zone": "指定したネットワークと同じアベイラビリティゾーン"
      }
    }

    アベイラビリティゾーンは、AZ1がjp-east-1a、AZ2がjp-east-1bで表現されます。

  3. 作成したサブネットを確認するため、以下のAPIを実行します。
    $ curl -Ss $NETWORK/v2.0/subnets -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN"  | jq .

    以下のようなフォーマットでレスポンスが返ってきます。設定したサブネット名を含んだリストが出力された場合、作成は完了です。

    サブネット名が、"inf_az1_fip-pool"および"inf_az2_fip-pool"、"inf_az1_ext-subnet"、"inf_az1_ext-subnet"から始まるサブネットはデフォルトで存在する外部ネットワークに紐づいて作られたサブネットです。

    {
      "subnets": [
    
        ...
      
          {
          "name": "サブネット名",
          "enable_dhcp": true,
          "network_id": "<ネットワークID>",
          "tenant_id": "<プロジェクトID>",
          "dns_nameservers": [
            "133.162.XXX.XXX",
            "133.162.XXX.XXX"
          ],
          "allocation_pools": [
            {
              "start": "XXX.XXX.XXX.2",
              "end": "XXX.XXX.XXX.254"
            }
          ],
          "host_routes": [],
          "ip_version": 4,
          "gateway_ip": "<デフォルトゲートウェイIPアドレス>",
          "cidr": "ネットワークアドレス",
          "id": "サブネットID",
          "availability_zone": "ネットワークと同じアベイラビリティゾーン"
        },
    
        ...
        
      ]
    }