IPSecVPN接続パターン#
本構成はFJcloud-O 従来リージョン向けとなります。
東日本/西日本リージョン3ではIPSecVPNの仕様が異なります。
また、東日本/西日本リージョン3では同一リージョンにおけるプロジェクト間のIPsecVPN接続はできません。
要求事項#
『FJcloud-O上のシステムに対して、専用線など高コストな回線を使用せずに外部から安全にアクセスする経路を作りたい』 という要求事項に対応するパターンです。
さらに、以下のような具体的な要求事項に対応します。
- 企業内システムなどで各拠点から安全にアクセスしたい
- ビジネスパートナーとFJcloud-O上のシステムを安全に共有したい
- FJcloud-Oの複数ドメインや複数のリージョンにまたがってシステムを連携したい
対応するデザインパターン概要#
FJcloud-Oと対向拠点との間に IPSecVPNトンネルを敷設することで、インターネット回線を使用したVPN接続が可能です。
これにより、FJcloud-Oと複数の顧客環境を接続したり、FJcloud-Oの環境間で接続したりすることができます。
本パターンでは、はじめに 実装サンプル 内にて、FJcloud-O で IPSecVPN を構築する上で一般的に必要な事前準備についてを記載します。
その上で、以下の 構造 (イメージ図) に記載の通りのFJcloud-O環境間で1対1のIPSecVPN接続をする基本的な実装例を紹介します。
また、複数の顧客環境との接続などその他の利用シーンについて、FJcloud-O上で IPSecVPNで利用可能な接続形態と、利用不可の接続形態を、その他 で記載します。
構造 (イメージ図)#
FJcloud-Oの IPSecVPN では、1つのIPSecVPNトンネルで仮想ルータに直接接続される1つのサブネットと、同じFJcloud-Oの仮想ルータ または 顧客環境のルータ等の対向ゲートウェイに接続される1つのサブネット間で通信が可能です。
FJcloud-O間でのIPSecVPN接続構築の場合は、以下のような形態が可能です。
接続形態 | 備考 |
---|---|
別リージョン間で接続 | 東日本リージョン1・2および西日本リージョン1・2の計4リージョンのうち、任意のリージョン間を接続する際の形態です。 IPSecVPN で接続します。 |
別ドメイン間で接続 | 契約単位のドメインが異なる環境で接続する際の形態です。 IPSecVPN で接続します。 |
別プロジェクト間で接続 | 同一ドメインでプロジェクトが異なる環境で接続する際の形態です。 IPSecVPN でも接続できますが、ドメイン内でのプロジェクト間接続機能を推奨します。 |
別AZ間で接続 | 同一リージョン、同一プロジェクトで、AZ間を接続する際の形態です。 同一リージョン、同一プロジェクトでAZ間を接続する場合は、通常はネットワークコネクタでの接続を推奨します。 IPSecVPNでも接続できますが、以下のようにAZ間接続では不要の処理があります。 どうしてもファイアーウォールを使いたいといった要望がない限り、IPSecVPNによる別AZ間接続はおすすめできません。 ネットワークコネクタには暗号化機能は含まないため比較すると処理が軽くなります。 ネットワークコネクタは、インターネット向けにファイアーウォールを解放する必要はありません。 |
実装サンプル#
1. 事前準備#
(1) IPSecVPN通信用のネットワーク機器の用意(対向が顧客環境の場合)#
対向が顧客環境の場合、IPSecVPN通信用のネットワーク機器を用意してください。
- 顧客環境のインターネット接続で、IPSecVPN利用が可能であるかを各回線業者に確認してください。
- 対向ゲートウェイとして、IPSecVPN通信が利用可能なネットワーク機器を、顧客環境に用意してください。
- 対向ゲートウェイとして全てのIPSecVPN通信用のネットワーク機器との接続を保証するものではありません。 事例情報の確認、事前検証が必要です。
- 顧客環境側とFJcloud-O側とで、IPSecVPNに関するポリシー設定を同じにする必要があります。 (IKEポリシー、IPsecポリシー、認証鍵[PSK])
(2) 内部IPアドレスの整理#
- FJcloud-Oの仮想ルータに対して、対向を20拠点まで設定することができます。
- IPSecVPNの接続元、接続先、およびそれぞれが到達できる範囲のIPアドレスが重複しないよう、 ネットワーク設計を確認してください。
- 複数の環境が存在する場合、全環境でのサブネットが競合しないよう、ネットワーク設計を確認してください。
(3) FJcloud-Oでサポートする IPSecVPNのポリシー#
以下の、IPSecVPN接続に関する項目と、暗号化関連のIKEポリシーとIPSecポリシーの各項目を決定してください。
- IPSecVPN接続に関する設定項目
IPSecVPN接続に関する項目 | サポートする方式 |
---|---|
認証方式 | 事前共有鍵方式 |
DPD Peer検出時のアクション | hold, restart |
DPD検出間隔 | 1秒以上 |
DPD検出タイムアウト | DPD検出間隔よりも大きな値 |
イニシエータモード | bi-directional, response-only |
- サポートする暗号化関連設定項目
IKEポリシーの項目 | サポートする方式 |
---|---|
認可アルゴリズム | sha1 |
暗号化アルゴリズム | AES-128, AES-192, AES-256 |
IKE version | V1 |
ライフタイム | 60~86400(units: seconds) |
PFS | group2, 5, 14 |
鍵交換モード | main |
IPSecポリシーの項目 | サポートする方式 |
---|---|
認可アルゴリズム | sha1 |
カプセルモード | tunnel |
暗号化アルゴリズム | AES-128, AES-192, AES-256 |
ライフタイム | 60~86400(units: seconds) |
PFS | group 2, 5, 14 |
トランスフォームプロトコル | esp |
(4) アクセス制御の確認#
対向との間の通信でファイアーウォールでアクセス制御する設定内容や、 同じく対向との間の通信でセキュリティグループで設定する設定内容を確認してください。
2. IPSecVPN接続の構築#
以下では、FJcloud-Oの同一プロジェクト/同一AZ/異なるサブネット間で 1対1 の IPSecVPN接続する手順を記載します。
(1) 構成の確認#
(A) 内部IPアドレスの整理#
本サンプルでは、FJcloud-Oの同一AZに存在する以下2組の構成のネットワークを使用します。
仮想ルータ名 | 内部ネットワーク名 | サブネット | デフォルトゲートウェイ | ファイアウォール名 | 仮想サーバ名 | 仮想サーバIPアドレス | セキュリティグループ名 |
---|---|---|---|---|---|---|---|
ルータ1 | ネットワーク1 | 192.168.1.0/24 | 192.168.1.1 | FW1 | VM1 | 192.168.1.26 | SG1 |
ルータ2 | ネットワーク2 | 192.168.5.0/24 | 192.168.5.1 | FW2 | VM2 | 192.168.5.4 | SG2 |
(B) IPSecVPNのポリシー確認#
本サンプルでは、IPSecVPN接続に関する設定、IKEポリシーとIPSecポリシーは以下のとおりとします。
IPSecVPN接続に関する項目 | 設定値例 |
---|---|
認証方式 | 事前共有鍵方式 |
DPD Peer検出時のアクション | hold |
DPD検出間隔 | 60秒 |
DPD検出タイムアウト | 240秒 |
イニシエータモード | bi-directional |
IKEポリシーの項目 | 設定値例 |
---|---|
認可アルゴリズム | sha1 |
暗号化アルゴリズム | AES-128 |
IKE version | V1 |
ライフタイム | 7,200秒 |
PFS | group 5 |
鍵交換モード | main |
IPSecポリシーの項目 | 設定値例 |
---|---|
認可アルゴリズム | sha1 |
カプセルモード | tunnel |
暗号化アルゴリズム | AES-128 |
ライフタイム | 7,200秒 |
PFS | group 5 |
トランスフォームプロトコル | esp |
(C) アクセス制御の確認#
対向との間の通信でファイアーウォールでアクセス制御する設定内容や、 同じく対向との間の通信でセキュリティグループで設定する設定内容を確認してください。
(2) ルータ1、ルータ2 の設定#
以下の (A) ~ (E) の手順を、IPSecVPN接続を行うネットワーク1、ネットワーク2の環境で実施してください。
(A) 各種パラメータの確認#
IaaSポータルを使って、以下の ID の値を確認します。 確認した ID の値は APIで使用します。 ネットワーク1、ネットワーク2 の環境で API操作をする際に、それぞれの環境ごとに以下の各変数に値を設定してください。
IDの取得対象 | 取得方法 | ID の値を設定する変数 |
---|---|---|
仮想ルータ | 「ネットワーク」→「仮想ルータ」と選択した画面で、対象のルータをクリック。 「仮想ルータ概要」の項目にある「仮想ルータID」を確認。 |
$ROUTER_ID |
内部ネットワーク | 「ネットワーク」→「仮想ネットワーク」と選択した画面で、対象のネットワークをクリック。 「仮想ネットワーク概要」の項目にある「仮想ネットワークID」を確認。 |
$NETWORK_ID |
サブネット | 「ネットワーク」→「仮想ネットワーク」と選択した画面で、対象のネットワークをクリック。 「サブネット」の項目にある対象のサブネットをクリックし、「サブネットID」を確認。 |
$SUBNET_ID |
ポート | 「ネットワーク」→「仮想ルータ」と選択した画面で、対象のルータをクリック。 「インターフェース」の項目で、ルータのデフォルトゲートウェイのIPアドレスが表示されているポートをクリックし、「ポートID」を確認 |
$VM_PORT_ID |
(B) 仮想ルータに FloatingIP (グローバルIPアドレス) 付与#
仮想ルータのポートに FloatingIP を付与します。IaaSポータルで設定可能です。
- 「ネットワーク」⇒「グローバルIP」と選択し、「グローバルIPアドレス一覧」画面を表示します。
- グローバルIPアドレスを新規に確保して仮想ルータに割り当てる場合には、画面右上の「+」ボタンをクリックします。
続けて、「グローバルIPプール」として、外部ネットワークを選択します。
グローバルIP アドレスを付与する仮想ルータが接続している外部ネットワークを選択して、「次へ」をクリックします。 - すでに確保しているグローバルIPアドレスを割り当てる場合には、グローバルIPアドレスの「アクション」⇒「割当」を選択します。
- グローバルIPアドレスを新規に確保して仮想ルータに割り当てる場合には、画面右上の「+」ボタンをクリックします。
続けて、「グローバルIPプール」として、外部ネットワークを選択します。
- 「グローバルIP割当」画面の「グローバルIPアドレス割当ポート」で、グローバルIP アドレスを付与する仮想ルータを選択します。
仮想ルータを選択して「次へ」をクリックすると、仮想ルータにグローバルIPアドレスが割り当てられます。 - 「グローバルIPアドレス一覧」画面で、グローバルIPが仮想ルータに割り当てられていることを確認します。
(C) VPNService作成#
(ⅰ) VPNService作成#
仮想ルータに VPNService を作成します。
以下のAPIに、設定項目(json)を設定し、実行してください。
作成された際に表示される ID を、変数に設定してください。
- 設定項目(json)
目 | 設定値例 | 内容 |
---|---|---|
$SUBNET_ID | (設定済) | サブネットのID |
$ROUTER_ID | (設定済) | 仮想ルータのID |
$VPN_SERVICE_NAME | "ip_vpn_service_1_AZ2" | APIを実行している環境にあわせて、以下のいずれかを設定してください。 "ip_vpn_service_1_AZ2":ネットワーク1 のルータ1 で作成した場合 "ip_vpn_service_2_AZ2":ネットワーク2 のルータ2 で作成した場合 |
$ADMIN_STATE_UP | "true" | "true" を設定してください |
$AZ | "jp-east-1b" | アベイラビリティゾーン AZ1:"jp-east-1a" AZ2:"jp-east-1b" |
-
実行API
curl -s $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 .
-
生成された ID を設定する変数 それぞれのネットワークでのAPIの実行結果に含まれる ID を、以下の変数に設定してください。
変数 | 内容 |
---|---|
$VPN_SERVICE_ID1 | ネットワーク1 のルータ1 で作成した VPNService の ID |
$VPN_SERVICE_ID2 | ネットワーク2 のルータ2 で作成した VPNService の ID |
(ⅱ) 作成したVPNServiceを確認#
作成された VPNService を確認するには、以下のAPIを実行してください。
- 実行API
curl -s $NETWORK/v2.0/vpn/vpnservices -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq .
(D) IKE policy 作成#
IKE policy を作成します。
以下のAPIに、設定項目(json)を設定し、実行してください。
作成された際に表示される ID を、変数に設定してください。
- 設定項目(json)
項目 | 設定値例 | 内容 |
---|---|---|
$AUTH_ALGORITHM | "sha1" | 認可アルゴリズム |
$ENCRYPTION_ALGORITHM | "aes-128" | 暗号化アルゴリズム |
$IKE_VERSION | "v1" | "IKE version" |
$LIFETIME_UNITS | "seconds" | ライフタイム単位 |
$LIFETIME_VALUE | "7200" | ライフタイム秒 |
$PFS | "group5" | PFS |
$PHASE_NEGOTIATION_MODE | "main" | 鍵交換モード |
$IKE_POLICY_NAME | "ip_vpn_ikepolicy_1_AZ2" | APIを実行している環境にあわせて、以下のいずれかを設定してください。 "ip_vpn_ikepolicy_1_AZ2":ネットワーク1 で作成した場合 "ip_vpn_ikepolicy_1_AZ2":ネットワーク2 で作成した場合 |
$AZ | "jp-east-1b" | アベイラビリティゾーン AZ1:"jp-east-1a" AZ2:"jp-east-1b" |
-
実行API
curl -s $NETWORK/v2.0/vpn/ikepolicies -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{ "ikepolicy": { "phase1_negotiation_mode": "'$PHASE_NEGOTIATION_MODE'", "auth_algorithm": "'$AUTH_ALGORITHM'", "encryption_algorithm": "'$ENCRYPTION_ALGORITHM'", "pfs": "'$PFS'", "lifetime": { "units": "'$LIFETIME_UNITS'", "value": '$LIFETIME_VALUE' }, "ike_version": "'$IKE_VERSION'", "name": "'$IKE_POLICY_NAME'", "availability_zone": "'$AZ'" } }' | jq .
-
生成された ID を設定する変数 それぞれのネットワークでのAPIの実行結果に含まれる ID を、以下の変数に設定してください。
変数 | 内容 |
---|---|
$IKE_POLICY_ID1 | ネットワーク1 で作成した IKE policy の ID |
$IKE_POLICY_ID2 | ネットワーク2 で作成した IKE policy の ID |
(E) IPSec policy 作成#
IKE policy を作成します。
以下のAPIに、設定項目(json)を設定し、実行してください。
作成された際に表示される ID を、変数に設定してください。
- 設定項目(json)
項目 | 設定値例 | 内容 |
---|---|---|
$AUTH_ALGORITHM | "sha1" | 認可アルゴリズム |
$ENCAPSULATION_MODE | "tunnel" | カプセルモード |
$ENCRYPTION_ALGORITHM | "aes-128" | 暗号化アルゴリズム |
$LIFETIME_UNITS | "seconds" | ライフタイム単位 |
$LIFETIME_VALUE | "7200" | ライフタイム秒 |
$PFS | "group5" | PFS |
$TRASFORM_PROTOCOL | "esp" | トランスフォームプロトコル |
$IPSEC_POLICY_NAME | "ip_vpn_ipsecpolicy_1_AZ2" | APIを実行している環境にあわせて、以下のいずれかを設定してください。 "ip_vpn_ipsecpolicy_1_AZ2":ネットワーク1 で作成した場合 "ip_vpn_ipsecpolicy_2_AZ2":ネットワーク2 で作成した場合 |
$AZ | "jp-east-1b" | アベイラビリティゾーン AZ1:"jp-east-1a" AZ2:"jp-east-1b" |
- 実行API
curl -s $NETWORK/v2.0/vpn/ipsecpolicies -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{ "ipsecpolicy": { "name": "'$IPSEC_POLICY_NAME'", "transform_protocol": "'$TRASFORM_PROTOCOL'", "auth_algorithm": "'$AUTH_ALGORITHM'", "encapsulation_mode": "'$ENCAPSULATION_MODE'", "encryption_algorithm": "'$ENCRYPTION_ALGORITHM'", "pfs": "'$PFS'", "lifetime": { "units": "'$LIFETIME_UNITS'", "value": '$LIFETIME_VALUE' }, "availability_zone": "'$AZ'" } }' | jq .
- 生成された ID を設定する変数 それぞれのネットワークでのAPIの実行結果に含まれる ID を、以下の変数に設定してください。
変数 | 内容 |
---|---|
$IPSEC_POLICY_ID1 | ネットワーク1 で作成した IPSec policy の ID |
$IPSEC_POLICY_ID2 | ネットワーク2 で作成した IPSec policy の ID |
(3) IPSecVPN 接続#
(A) ファイアーウォールの設定#
ネットワーク1 とネットワーク2 の仮想ルータで、それぞれ対向のルータの FloatingIP を許可する設定を追加してください。
ファイアーウォールの設定手順は、セキュリティグループ/ファイアーウォール併用パターン を参照してください。
ファイアーウォール | 内容 |
---|---|
FW1 | ネットワーク2 の仮想ルータに設定した FloatingIP との双方向の通信を許可 |
FW2 | ネットワーク1 の仮想ルータに設定した FloatingIP との双方向の通信を許可 |
(B) セキュリティグループの設定#
ネットワーク1 とネットワーク2 のセキュリティグループも、それぞれ対向のサブネットを許可する設定を追加してください。
セキュリティグループの設定手順は、セキュリティグループ活用パターン を参照してください。
セキュリティグループ | 内容 |
---|---|
SG1 | サブネット2 (192.168.5.0/24) との双方向の通信を許可 |
SG2 | サブネット1 (192.168.1.0/24) との双方向の通信を許可 |
(C) ルータ1 から ルータ2 への IPSecVPN接続#
(ⅰ) IPSecVPN接続の実施#
ネットワーク1 のルータ1 から ネットワーク2 のルータ2 へ IPSecVPN接続します。
以下のAPIに、設定項目(json)を設定し、実行してください。
作成された際に表示される ID を、変数に設定してください。
- 設定項目(json)
項目 | 設定値例 | 内容 |
---|---|---|
$PSK | "secret" | 認証鍵 |
$INITIATOR | "bi-directional" | イニシエータモード |
$IPSEC_POLICY_ID | $IPSEC_POLICY_ID1 | ネットワーク1 の IPSec ポリシー の ID |
$ADMIN_STATE_UP | "true" | "true" を設定してください |
$PEER_CIDRS | "192.168.5.0/24" | 対向のルータのローカルIP (CIDR形式) |
$MTU | "1500" | MTU値 |
$IKE_POLICY_ID | $IKE_POLICY_ID1 | ネットワーク1 の IKE ポリシー の ID |
$DPD_ACTION | "hold" | DPD Peer検出時のアクション:"hold" または "restart" を指定 |
$DPD_INTERVAL | "60" | DPD検出間隔 |
$DPD_TIMEOUT | "240" | DPD検出タイムアウト |
$VPN_SERVICE_ID | $VPN_SERVICE_ID1 | ネットワーク1 の VPNService の ID |
$PEER_ADDRESS | "xxx.xxx.xxx.xxx" | 対向ルータ(ルータ2)の FloatingIP |
$PEER_ID | "xxx.xxx.xxx.xxx" | 対向ルータ(ルータ2)の FloatingIP |
$IPSEC_SITE_NAME | "ip_vpn_ipsec_site_1_AZ2" | |
$AZ | "jp-east-1b" | アベイラビリティゾーン AZ1:"jp-east-1a" AZ2:"jp-east-1b" |
- 実行API
curl -s $NETWORK/v2.0/vpn/ipsec-site-connections -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"ipsec_site_connection": {"psk": "'$PSK'", "initiator": "'$INITIATOR'", "ipsecpolicy_id": "'$IPSEC_POLICY_ID'", "admin_state_up": '$ADMIN_STATE_UP', "peer_cidrs": ["'$PEER_CIDRS'"], "mtu": "'$MTU'", "ikepolicy_id": "'$IKE_POLICY_ID'", "dpd": {"action": "'$DPD_ACTION'", "interval": '$DPD_INTERVAL', "timeout": '$DPD_TIMEOUT'}, "vpnservice_id": "'$VPN_SERVICE_ID'", "peer_address": "'$PEER_ADDRESS'", "peer_id": "'$PEER_ID'", "name": "'$IPSEC_SITE_NAME'", "availability_zone": "'$AZ'"}}' | jq .
(ⅱ) IPSecVPN接続設定の確認#
IPSecVPN接続の設定を確認するには、以下のAPIを実行してください。
-
実行API:VPNサービスの一覧
curl -s $NETWORK/v2.0/vpn/vpnservices -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq .
-
実行API:VPN接続の一覧確認
curl -s $NETWORK/v2.0/vpn/ipsec-site-connections -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" | jq .
(D) ルータ2 から ルータ1 への IPSecVPN接続#
(ⅰ) IPSecVPN接続の実施#
ネットワーク2 のルータ2 から ネットワーク1 のルータ1 へ IPSecVPN接続します。
以下のAPIに、設定項目(json)を設定し、実行してください。
作成された際に表示される ID を、変数に設定してください。
- 設定項目(json)
項目 | 設定値例 | 内容 |
---|---|---|
$PSK | "secret" | 認証鍵 |
$INITIATOR | "bi-directional" | イニシエータモード |
$IPSEC_POLICY_ID | $IPSEC_POLICY_ID2 | ネットワーク2 の IPSec ポリシー の ID |
$ADMIN_STATE_UP | "true" | "true" を設定してください |
$PEER_CIDRS | "192.168.1.0/24" | 対向のルータのローカルIP (CIDR形式) |
$MTU | "1500" | MTU値 |
$IKE_POLICY_ID | $IKE_POLICY_ID2 | ネットワーク2 の IKE ポリシー の ID |
$DPD_ACTION | "hold" | DPD Peer検出時のアクション:"hold" または "restart" を指定 |
$DPD_INTERVAL | "60" | DPD検出間隔 |
$DPD_TIMEOUT | "240" | DPD検出タイムアウト |
$VPN_SERVICE_ID | $VPN_SERVICE_ID2 | ネットワーク2 の VPNService の ID |
$PEER_ADDRESS | "xxx.xxx.xxx.xxx" | 対向ルータ(ルータ1)の FloatingIP |
$PEER_ID | "xxx.xxx.xxx.xxx" | 対向ルータ(ルータ1)の FloatingIP |
$IPSEC_SITE_NAME | "ip_vpn_ipsec_site_1_AZ2" | |
$AZ | "jp-east-1b" | アベイラビリティゾーン AZ1:"jp-east-1a" AZ2:"jp-east-1b" |
- 実行API
curl -s $NETWORK/v2.0/vpn/ipsec-site-connections -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"ipsec_site_connection": {"psk": "'$PSK'", "initiator": "'$INITIATOR'", "ipsecpolicy_id": "'$IPSEC_POLICY_ID'", "admin_state_up": '$ADMIN_STATE_UP', "peer_cidrs": ["'$PEER_CIDRS'"], "mtu": "'$MTU'", "ikepolicy_id": "'$IKE_POLICY_ID'", "dpd": {"action": "'$DPD_ACTION'", "interval": '$DPD_INTERVAL', "timeout": '$DPD_TIMEOUT'}, "vpnservice_id": "'$VPN_SERVICE_ID'", "peer_address": "'$PEER_ADDRESS'", "peer_id": "'$PEER_ID'", "name": "'$IPSEC_SITE_NAME'", "availability_zone": "'$AZ'"}}' | jq .
(ⅱ) IPSecVPN接続設定の確認#
IPSecVPN接続の設定を確認するには、以下のAPIを実行してください。
-
実行API:VPNサービスの一覧
curl -s $NETWORK/v2.0/vpn/vpnservices -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq .
-
実行API:VPN接続の一覧確認
curl -s $NETWORK/v2.0/vpn/ipsec-site-connections -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" | jq .
(E) IPSecVPN接続の確認#
仮想サーバ VM1 から 仮想サーバ VM2 へ ping や ssh接続を試行する等で、IPSecVPN接続を確認してください。
メリット・効果#
IPSecVPN接続パターンを利用した場合のメリット・効果は以下の通りです。
- ハウジング接続やFENICS接続など個別の回線を敷設することなく、オンプレミス等との接続が可能
- ハウジング接続など個別の回線を敷設することなく、FJcloud-Oのリージョン間/ドメイン間の接続が可能
注意事項#
-
本パターンは2017年5月時点のFJcloud-O 従来リージョンで動作検証しています。
-
IPSecVPN用ルータをハブとした、対向となる拠点同士の通信はできません。
-
モバイル端末等からVPNのアプリケーションを利用したリモートアクセス方式による IPSecVPN接続(リモート端末からのL2TP/IPSecVPNによる利用)は対応しておりません。
-
IPSecVPNの接続元、接続先、およびそれぞれが到達できる範囲のIPアドレスが重複しないよう、ネットワーク設計を確認してください。
-
IPSecVPNはグローバルIPアドレス間でのみ接続できます。
-
仮想ルータに直接接続される1つのサブネットと、対向ゲートウェイに接続される1つのサブネット間のみ、VPN通信が可能です。
-
IPSecVPNで接続できる拠点数は、最大で20拠点です。(制限事項・注意事項2-60)
その他#
1. IPSecVPN のその他の利用シーンについて#
(1) 利用シーン:複数のFJcloud-O環境⇔FJcloud-O環境#
以下のように、複数のFJcloud-O環境と IPSecVPN通信が可能です。
FJcloud-Oの仮想ルータに対して、対向を20拠点まで設定することができます。
下図は、別リージョン間での接続イメージです。
FJcloud-O間での接続の場合は、以下のような形態が可能です。
FJcloud-Oでの接続形態 | 備考 |
---|---|
別リージョン間で接続 | 東日本リージョンと、西日本リージョンを接続する際の形態です。 |
別ドメイン間で接続 | 契約単位のドメインが異なる環境で接続する際の形態です。 |
別プロジェクト間での接続 | 同一ドメインでプロジェクトが異なる環境で接続する際の形態です。 |
別AZ間で接続 | 同一リージョン、同一プロジェクトで、AZ間を接続する際の形態です。 同一リージョン、同一プロジェクトでAZ間を接続する場合は、通常はネットワークコネクタで接続しますが、接続する際に環境間でのアクセス制御を仮想ルータにまとめて行いたい場合などはIPSecVPNでも接続できます。 |
(2) 利用シーン:複数の顧客環境⇔FJcloud-O環境#
複数のFJcloud-O環境の接続と同様に、複数の顧客環境の拠点とFJcloud-O環境との間で IPSecVPN通信が可能です。
FJcloud-Oの仮想ルータに対して、対向を20拠点まで設定することができます。
(3) 利用NGシーン:IPSecVPNトンネルに接続されていないセグメントとの通信#
FJcloud-O環境のIPSecVPNでは、直接IPSecVPNトンネルに接続されていないセグメントとは通信できません。
(4) 利用NGシーン:FJcloud-O環境のIPSecVPNでハブ&スポーク機能を使った顧客環境間の通信#
FJcloud-O環境のIPSecVPNでは、ハブ&スポーク機能を使った顧客環境間の通信は利用できません。
顧客環境間の通信を行う場合は、顧客環境のIPSecVPN機能をもったルータ同士で接続設定を行ってください。
(5) 利用NGシーン:リモート端末からのL2TP/IPSecVPNによる利用#
モバイル端末等からVPNのアプリケーションを利用したリモートアクセス方式によるIPSecVPN接続(リモート端末からのL2TP/IPSecVPNによる利用)は対応しておりません。