サブネット作成
ネットワークに接続するリソースに対するプライベートIPアドレスの管理、DHCPによるIPアドレスの自動設定に必要です。ここではサブネットを作成し、確認するまでの手順を解説します。
ネットワークを指定して、サブネットは作成します。
-
以下で、必要な設定を行います。
注:
ここで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アドレスを指定する。
- CIDR
-
次の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で表現されます。
-
作成したサブネットを確認するため、以下の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": "ネットワークと同じアベイラビリティゾーン" }, ... ] }