VPNサービスの作成(V2サービス/クライアント証明書利用)
VPNサービスを作成する手順を解説します。
-
以下で必要な設定を行います。
$ SUBNET_ID=<SSL-VPNで接続したいサブネットID>
$ ROUTER_ID=<SSL-VPNで利用するルータID>
$ VPN_SERVICE_NAME=<VPNサービス名(任意)>
$ ADMIN_STATE_UP=true
$ AZ=<アベイラビリティゾーン>
警告:SSL-VPN接続(V2サービス)で接続するサブネットのパラメーター定義が、以下のように指定されている必要があります。
- cidr
ネットワークアドレスのマスク値が「16bit~29bit」の範囲内で作成されている。
例)192.168.1.0/24
- gateway_ip
VPNサービスで指定する仮想ルータのIPアドレスが指定されている。
- cidr
-
次のAPIを実行します。
$ curl -sS $NETWORK/v2.0/vpn/vpnservices -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" \ -H "Content-Type: application/json" -d '{"vpnservice": {"subnet_id": "'$SUBNET_ID'", "router_id": "'$ROUTER_ID'", "name": "'$VPN_SERVICE_NAME'", "admin_state_up":"'$ADMIN_STATE_UP'", "availability_zone": "'$AZ'" }}' | jq .
以下のレスポンスが返ってきます。
{ "vpnservice": { "availability_zone": "<アベイラビリティゾーン>", "router_id": "<SSL-VPNで接続するルータID>", "status": "PENDING_CREATE", "name": "<VPNサービス名>", "admin_state_up": true, "subnet_id": "<SSL-VPNで接続するサブネットID>", "tenant_id": "<SSL-VPNで接続するプロジェクトID>", "id": "<VPNサービスID>", "description": "" } }
-
作成したVPNサービスを確認するため、以下のAPIを実行します。
$ curl -sS $NETWORK/v2.0/vpn/vpnservices -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" \ -H "Content-Type:application/json" | jq .
以下のように、作成したVPNサービスのstatusがPENDING_CREATEになっていることを確認できた場合、作成は完了です。
{ "vpnservices": [ { "availability_zone": "<アベイラビリティゾーン>", "router_id": "<SSL-VPNで接続するルータID>", "status": "PENDING_CREATE", "name": "<VPNサービス名>", "admin_state_up": true, "subnet_id": "<SSL-VPNで接続するサブネットID>", "tenant_id": "<SSL-VPNで接続するプロジェクトID>", "id": "<VPNサービスID>", "description": "" } ] }