IPVマルチテナントアーキテクトガイド¶
目次
構築ガイド¶
採用メリット¶
テナント単位でサイロ化することにより適切なテナント内ワークロードトラフィックを配備することが可能となり、柔軟で高度なクラウドインフラストラクチャネットワーク構成が可能
外部接続サービス(インターネット接続GW、Flexible InterConnect(以下、FIC)サービス)単位にテナントを分けることが可能となり、偶発的な漏洩のリスクが軽減可能
テナント毎のユーザーアクセス制御を実装することが可能となりvApp制御と組み合わせる事でよりセキュアに、ユーザーによる不正な操作、操作ミスなどの抑制が可能
マルチテナント構成構築留意事項¶
- 1)外部接続ネットワークとの接続を要するテナントIPVが提供するインターネット接続GW、Flexible InterConnect(以下、FIC)サービスを使用するテナントではOrg毎に生成されたEdgeNode(T0/T1-Gateway)を外部接続ネットワークへ接続する為のGatewayとして利用します。EdgeNodeが提供するファイアウォール、ロードバランサー機能は外部接続ネットワークとの接続に特化させることでセキュリティポイントを分離することが可能です。また、ネットワーク仮想アプライアンスを導入頂く事により高度で柔軟なネットワークを構成することが可能となります。
- 2)テナント間ネットワークを構成する場合テナント間ネットワークを構成する場合、ルートテーブルはT1-Gatewayが提供するデータセンターグループ機能を用いて実現します。これによりEdgeNodeに所属している"OvDCネットワーク[経路指定]"はテナント間ネットワークとしてご利用が可能となります。この際にネットワーク仮想アプライアンスを導入頂く事によりセグメント延伸が可能となりテナント間での同一セグメント利用が可能となります。
- 3)テナント内ネットワークを構成する場合テナント内に配備する業務システムワークロード用とシステムコンポーネント間ワークロードトラフィックはOvDCネットワーク(隔離型)、vAppネットワークを利用する事でシステムレベルでのサイロ化が可能です。システムコンポーネント毎に接続ポイントを分離することでセキュアに構築することが可能となり、業務システムのワークロードを配備先のテナント内に留め、他テナントおよび外部接続ネットワークとの境界に当たるEdgeNodeへ伝播することを防ぐことが可能です。ただし、OvDCネットワーク[隔離型]はルートテーブルを保持することができない為、ネットワーク仮想アプライアンス等を用いてOvDCネットワーク[隔離型]を適切に運用する必要があります。
構築手順¶
1. 事前準備¶
1.2. カタログの作成¶
1.3. 仮想アプライアンスイメージ(ISOファイル)のアップロード¶
項目 |
設定内容 |
---|---|
カタログ |
作成したプライベートカタログ |
名前 |
vyos-rolling-latest.iso |
アップロードするメディアを選択 |
vyos-rolling-latest.iso |
1.4. vAppテンプレートの作成¶
項目 |
設定内容 |
---|---|
1 ソースを選択参照 |
参照:OVAファイル(ubuntu-21.04-server-cloudimg-amd64.ova)を指定
ファイル:ubuntu-21.04-server-cloudimg-amd64.ova
|
2 vAppテンプレート名の選択 |
名前:Ubuntu-21.04-sv
説明:
カタログ:作成したプライベートカタログ
|
2. OvDCネットワークの作成¶
2.1. 利用OvDCネットワークについて¶
本ガイドでの名称 |
説明 |
---|---|
スポーク間接続用OvDCネットワーク |
VPNゲートウェイ間接続で使用するOvDCネットワークです。 |
ワークロードネットワーク |
延伸対象のOvDCネットワークです。 |
注釈
2.2. スポーク間接続用ネットワークの作成¶
項目 |
設定内容 |
---|---|
1 範囲 |
データセンターグループ |
2 ネットワークタイプ |
経路指定 |
3 全般 |
名前:vpn-10.1.1.0
ゲートウェイCIDR:10.1.1.254/24
説明:
|
4 固定 IP プール |
ゲートウェイCIDR:
固定IPプール:
|
5 DNS |
プライマリDNS:
セカンダリDNS:
DNSサフィックス:
|
項目 |
設定内容 |
---|---|
1 範囲 |
データセンターグループ |
2 ネットワークタイプ |
経路指定 |
3 全般 |
名前:vpn-10.1.2.0
ゲートウェイCIDR:10.1.2.254/24
説明:
|
4 固定 IP プール |
ゲートウェイCIDR:
固定IPプール:
|
5 DNS |
プライマリDNS:
セカンダリDNS:
DNSサフィックス:
|
2.3. ワークロードネットワークの作成¶
項目 |
設定内容 |
---|---|
1 範囲 |
現在の組織仮想データセンター |
2 ネットワークタイプ |
隔離 |
3 全般 |
名前:work-192.168.0.0
ゲートウェイCIDR:192.168.0.254/24
説明:
|
4 固定 IP プール |
ゲートウェイCIDR:
固定IPプール:
|
5 DNS |
プライマリDNS:
セカンダリDNS:
DNSサフィックス:
|
項目 |
設定内容 |
---|---|
1 範囲 |
現在の組織仮想データセンター |
2 ネットワークタイプ |
隔離 |
3 全般 |
名前:work-192.168.0.0
ゲートウェイCIDR:192.168.0.253/24
説明:
|
4 固定 IP プール |
ゲートウェイCIDR:
固定IPプール:
|
5 DNS |
プライマリDNS:
セカンダリDNS:
DNSサフィックス:
|
2.4. OvDCネットワーク拡張[セグメント プロファイル設定]¶
対象OvDCネットワーク |
用途 |
---|---|
スポーク間接続用ネットワーク |
VPNゲートウェイ間接続で使用するOvDCネットワーク |
ワークロードネットワーク |
延伸対象OvDCネットワーク |
3. ワークロード延伸用VPNゲートウェイの構築¶
3.1. 仮想ルーターアプラインスのデプロイ¶
3.1.1. ワークロード延伸VPNゲートウェイ用vAppの作成¶
項目 |
設定内容 |
---|---|
名前 |
l2vpn-gw-site-A |
説明 |
‐ |
パワーオン |
チェックなし |
項目 |
設定内容 |
---|---|
名前 |
l2vpn-gw-site-B |
説明 |
‐ |
パワーオン |
チェックなし |
3.1.2. ワークロード延伸VPNゲートウェイ用vAppへのネットワークの追加¶
3.1.3. ワークロード延伸VPNゲートウェイ用仮想マシンの作成¶
項目 |
設定内容 |
---|---|
名前 |
ovdc-{n}-rt01 |
説明 |
‐ |
タイプ |
新規にチェック |
OSファミリ |
その他 |
オペレーティング システム |
FreeBSD 12 (64bit) |
ブートイメージ |
[カタログ]->[メディアその他]にアップロードした"vyos-rolling-latest.iso"を選択 |
コンピュート |
1. サイズの選択:事前定義済みのサイズ変更オプションにチェック
2. コンピュートサイズ:中にチェック
|
ストレージ |
1. ストレージポリシー:仮想マシンのデフォルトポリシー
2. サイズ: 16GB
|
カスタムストレージポリシーの使用 |
チェックなし
|
ネットワーク |
3本のOvDCネットワークと接続するため、2つのNICを追加します。
NIC No: 1
ネットワーク: vpn-10.1.{n}.0
ネットワークアダプタ タイプ: E1000
IPモード: 固定 - 手動
IPアドレス: 10.1.{n}.253
プライマリNIC: チェック
NIC No: 2
ネットワーク: work-192.168.0.0
ネットワークアダプタ タイプ: E1000
IPモード: 固定 - 手動
IPアドレス: 192.168.0.{OvDC#1:252,OvDC#2:251}
プライマリNIC:
|
3.2. テナント間VPNコネクション(L2TPv3)の構築¶
注釈
## VyOSのハードディスクインストールを行っていることが前提
configure #設定権限へ移行
set system host-name {ホスト名}
delete system ntp server time{1,2,3}.vyos.net #デフォルト設定の削除措置
set system ntp server {NTPサーバー}
set service ssh port 22
## Syslogサーバーが存在数場合
set system syslog host {syslogサーバ} facility {ファシリティ} level {ログレベル}
set system login user admin authentication plaintext-password {パスフレーズ}
## デフォルトゲートウェイ設定
set protocols static route 0.0.0.0/0 next-hop {VPN延伸用IPセグメントゲートウェイアドレス}
## NIC0設定
set interfaces ethernet eth0 description {"インターフェイス説明"}
set interfaces ethernet eth0 address {"VPN延伸用IPセグメント/サブネット{xx}"}
## NIC1設定
set interfaces ethernet eth1 description {"インターフェイス説明"}
## L2TPインターフェイス設定
set interfaces l2tpv3 {"L2TP用インターフェイス"}
set interfaces l2tpv3 {"L2TP用インターフェイス"} description {"インターフェイス説明"}
set interfaces l2tpv3 {"L2TP用インターフェイス"} source-address {"eth0アドレス"}
set interfaces l2tpv3 {"L2TP用インターフェイス"} remote {"対向延伸用OvDCネットワーク接続インターフェイスIPアドレス"}
set interfaces l2tpv3 {"L2TP用インターフェイス"} tunnel-id {"ID"}
set interfaces l2tpv3 {"L2TP用インターフェイス"} peer-tunnel-id {"対向ID"}
set interfaces l2tpv3 {"L2TP用インターフェイス"} session-id {"ID"}
set interfaces l2tpv3 {"L2TP用インターフェイス"} peer-session-id {"対向ID"}
set interfaces l2tpv3 {"L2TP用インターフェイス"} source-port {"使用ポート"}
set interfaces l2tpv3 {"L2TP用インターフェイス"} destination-port {"対向ポート"}
set interfaces bridge br0 address {"延伸セグメント接続側ゲートウェイアドレス/xx"}
set interfaces bridge br0 member interface eth1 #延伸セグメント接続インターフェイスのブリッジへの追加
set interfaces bridge br0 member interface l2tpeth0 #ブリッジ対象L2TPインターフェイスのブリッジへの追加
commit
exit
## インターフェイス設定確認
show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Description
--------- ---------- --- -----------
# インターフェイス設定内容表示
## ブリッジインターフェイス設定確認
show bridge br0
bridge name bridge id STP enabled interfaces
## ブリッジインターフェイス_L2TPv3インターフェース接続確認
show bridge br0 macs
port no mac addr is local? ageing timer
# インターフェイス設定内容表示
## VLAN設定
set interfaces ethernet eth1 vif {VLAN_ID}
3.3. VPNコネクション疎通確認用VM構築¶
注釈
項目 |
設定内容 |
---|---|
名前 |
ovdc-{n}-mon01 |
説明 |
‐ |
タイプ |
テンプレートから |
テンプレート |
Ubuntu-21.0.4-SV ※tutorial-catalog |
ストレージ |
|
コンピュート |
項目なし
|
NIC |
項目なし※別途、仮想マシン構成設定にて追加するため、空欄となります。
|
カスタムプロパティ |
項目なし
|
エンドユーザー使用許諾契約書(EULA) |
項目なし
|
NIC No |
ネットワーク |
ネットワークアダプタ タイプ |
IPモード |
IPアドレス |
プライマリNIC |
---|---|---|---|---|---|
0 |
work-192.168.0.0 |
VMXNET3 |
固定 - 手動 |
192.168.0.{OvDC#1:1,OvDC#2:2} |
‐ |
ログインID |
パスワード |
---|---|
root |
[ゲストOSのカスタマイズ]->[編集]、[ゲストプロパティの編集]->[パスワードを指定]に記載された値 |
3.3.1.仮想マシンのネットワーク設定¶
注釈
sudo rmmod floppy
echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf
sudo dpkg-reconfigure initramfs-tools
sudo dpkg-reconfigure keyboard-configuration
# 設定変更用GUIに遷移します
#1. Keyboard model項目にて"Generic 105-key(Intl)PC"を選択
#2. country of origin for the keyboard項目にて"Japanese"を選択
#3. keyboard layout項目にて"Japanese"を選択
#4. 以降、各キー、ファンクション設定を必要に応じて項目を選択
# 設定変更用GUIが終了した後に再起動をすることでKeyBoard設定が変更されます
reboot
# 変更前のネットワーク設定を確認します
ip addr show
# 出力結果
# 0: lo: ~
# 1: ens{No}: ~ ← ens{No}が仮想マシンに追加したNICのデバイス名となります。
#
# 50-cloud-init.yamlファイルをコピーして01-netcfg.yamlファイルを作成します。
sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/01-netcfg.yaml
# 50-cloud-init.yamlファイルをリネームします。
sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.org
# 01-netcfg.yamlファイルを編集します。
sudo vi /etc/netplan/01-netcfg.yaml
# vi 編集内容
# This file is generated from information provided by the datasource.
## 中略
# network: {config: disabled}
network:
ethernets:
ens{xxx}: # デバイス名は"ip addr show"コマンドにて確認したものとなります。
dhcp4: no
addresses: [{テナントポータルにて指定したIPアドレス}/{サブネット}]
gateway4: {VPNゲートウェイブリッジインターフェイスIPアドレス}
nameservers:
addresses: # DNSサーバー
dhcp6: no
version: 2
# netplan設定内容を反映します。
netplan apply
# 変更が反映されていることを確認します
ip addr show
3.3.2. 疎通確認用ツールの導入、設定¶
# パッケージの最新化を行います。
sudo apt update -y
sudo apt upgrade -y
# qperfパッケージ導入。
sudo apt install qperf -y
# TCP帯域幅・待機時間測定
qperf {xxx.xxx.xxx.xxx} tcp_bw tcp_lat
# UDP待機時間測定
qperf {xxx.xxx.xxx.xxx} udp_lat quit
# TCP帯域幅/待機時間+メッセージサイズ(1~64K)測定
qperf –vvu –oo msg_size:1:64K:*2 -ub {xxx.xxx.xxx.xxx} conf tcp_bw tcp_lat
# UDP帯域幅/待機時間+メッセージサイズ(1~64K)測定
qperf –vvu –oo msg_size:1:64K:*2 -ub {xxx.xxx.xxx.xxx} conf udb_bw udp_lat
4. テナント間でのNAT利用について¶
- T1-GatewayでのNAT折り返しはできません。EdgeGatewayにて提供するNAT機能の適用ポイントはT1-Gateway <-> T0-Gatewayとなる為、一度External Networkまで通信を伸ばす必要があります。
- NAT用グローバルIPアドレスが必要です。T0-Gateway - External Networkにて通信の折り返しを行う為、グローバルIPアドレスが必要となります。