仮想ルータの情報変更(外部ネットワークにアタッチ)
既存の仮想ルータに対し、設定情報を更新することによって仮想ルータを外部ネットワークに接続する手順を解説します。
-
以下で必要な設定を行います。
$ ROUTER_ID=<対象の仮想ルータID>
$ EXT_NET_ID=<接続する外部ネットワークID>
外部ネットワークIDはネットワーク作成の手順3で実行しているAPIで確認ができます。
$ curl -Ss $NETWORK/v2.0/networks -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq .
ネットワーク名が、"inf_az1_ext_net01"および"inf_az2_ext_net01"と表記されているものはデ フォルトで存在する外部ネットワークです。
-
次のAPIを実行します。
$ curl -Ss $NETWORK/v2.0/routers/$ROUTER_ID -X PUT -H "X-Auth-Token: $OS_AUTH_TOKEN" \ -H "Content-Type: application/json" -d '{"router": {"external_gateway_info": { "network_id": "'$EXT_NET_ID'"}}}' | jq .
以下のレスポンスが返ってきます。
{ "router": { "status": "ACTIVE", "external_gateway_info": { "network_id": "<指定した外部ネットワークID>", "enable_snat": true }, "name": "指定した仮想ルータ名", "admin_state_up": true, "tenant_id": "プロジェクトID", "routes": [], "id": "指定した仮想ルータのID", "availability_zone": "<アベイラビリティゾーン>" } }
アベイラビリティゾーンは、AZ1がjp-east-1a、AZ2がjp-east-1bで表現されます。