VMware Partner Gateway には、さまざまな設定オプションがあります。Gateway のインストール前にワークシートを準備する必要があります。
ワークシート
| SD-WAN Gateway |
|
| ハイパーバイザー | アドレス/クラスタ名 |
| ストレージ | ルート ボリューム データストア(40 GB 以上を推奨)
注: Partner Gateway ホストでは、/tmp/partition ディレクトリの空きディスク容量をメモリ (RAM) の 2 倍以上にすることをお勧めします。
|
| CPU 割り当て | KVM/VMware の CPU 割り当て。 |
| インストールの選択 | DPDK:これはオプションで、スループットを向上させるためにデフォルトで有効になっています。DPDK を無効にする場合は、VMware カスタマー サポートにお問い合わせください。 |
| OAM ネットワーク([オプション。「カスタム設定」を参照]) |
|
| ETH0 - インターネットに接続するネットワーク |
|
| ハンドオフ (ETH1) - ネットワーク |
|
| コンソール アクセス |
|
| NTP([オプション。「カスタム設定」セクションを参照]) |
|
SD-WAN Gateway セクション
SD-WAN Gateway セクションのほとんどは、名称を見ただけで機能がわかります。
| SD-WAN Gateway |
|
Gateway の作成とアクティベーション キーの取得
- [オペレータ (Operator)] > [Gateway プール (Gateway Pool)] に移動して、新しい SD-WAN Gateway プールを作成します。サービス プロバイダ ネットワークで SD-WAN Gateway を実行するには、[Partner Gateway を許可 (Allow Partner Gateway)] チェックボックスをオンにします。この Gateway プールに Partner Gateway を含めるためのオプションが有効になります。
- [オペレータ (Operator)] > [Gateway] に移動し、新しい Gateway を作成してプールに割り当てます。ここで入力する Gateway の IP アドレスは、Gateway の [パブリック IP アドレス (public IP address)] と一致する必要があります。不明な場合は、SD-WAN Gateway のパブリック IP アドレスを返す
curl ipinfo.io/ipを SD-WAN Gateway から実行することができます。
- アクティベーション キーをメモし、ワークシートに追加します。
Partner Gateway モードの有効化
- [オペレータ (Operator)] > [Gateway] に移動して、SD-WAN Gateway を選択します。[Partner Gateway] チェックボックスをオンにして、Partner Gateway を有効にします。
他にも、設定可能なパラメータがあります。最も一般的なのは次のとおりです。
[暗号化なしで 0.0.0.0/0 を広報]
このオプションを使用すると、SAAS アプリケーションに関して Partner Gateway がクラウド トラフィックへのパスを広報できるようになります。[暗号化 (Encrypt)] フラグがオフになっているため、このパスを使用するかどうかはカスタマーのビジネス ポリシーの設定によります。
もう 1 つのお勧めのオプションは、SD-WAN Orchestrator の IP アドレスを /32 として暗号化ありで広報するものです。
これを使用すると、Edge から SD-WAN Orchestrator に送信されるトラフィックがゲートウェイ パスを通るようになり、SD-WAN Edge が SD-WAN Orchestrator に到達するためにとる動作を予測できるようになるので、お勧めです。
ネットワーク
上記の図は、ツーアーム デプロイの場合の SD-WAN Gateway を表しています。この例では、eth0 をパブリック ネットワーク(インターネット)に接続するインターフェイス、eth1 を内部ネットワーク(ハンドオフまたは VRF インターフェイス)に接続するインターフェイスとします。
インターネットに接しているネットワークについては、必要なのは基本的なネットワーク設定のみです。
| ETH0 - インターネットに接続するネットワーク |
|
ハンドオフ インターフェイスについては、設定するハンドオフのタイプと、管理 VRF のハンドオフ設定を把握しておく必要があります。
| ETH1 - ハンドオフ ネットワーク |
|
コンソール アクセス (Console Access)
| コンソール アクセス |
|
Gateway にアクセスするには、コンソール パスワードまたは SSH パブリック キー(あるいはその両方)を作成する必要があります。
cloud-init の作成
ワークシートで定義したゲートウェイの設定オプションは、cloud-init 設定で使用されます。cloud-init 設定は、メタデータ ファイルと user-data ファイルという 2 つの主要な設定ファイルで構成されます。メタデータには Gateway のネットワーク設定が含まれ、user-data には Gateway ソフトウェア設定が含まれます。このファイルは、インストールされている SD-WAN Gateway のインスタンスを識別するための情報を提供します。
Meta_data ファイルと User_data ファイルの両方のテンプレートを以下に示します。
ワークシートの情報をテンプレートに入力してください。すべての #_VARIABLE_# を値に置き換える必要があります。また、#ACTION# もすべて指定されていることを確認してください。
instance-id: #_Hostname_# local-hostname: #_Hostname_#
network-interfaces: |
auto eth0
iface eth0 inet static
address #_IPv4_Address_#
mac_address #_mac_Address_#
netmask #_IPv4_Netmask_#
gateway #_IPv4_Gateway_#
dns-nameservers
#_DNS_server_primary_#
#_DNS_server_secondary_#
auto eth1
iface eth1 inet static
metric '13'
address #_MGMT_IPv4_Address_#
mac_address #_MGMT_mac_Address_#
netmask #_MGMT_IPv4_Netmask_#
gateway #_MGMT_IPv4_Gateway_#
dns-nameservers
#_DNS_server_primary_#
#_DNS_server_secondary_#
#cloud-config
hostname: #_Hostname_#
password: #_Console_Password_#
chpasswd:
expire: false
ssh_authorized_keys:
- #_SSH_public_Key_#
ssh_pwauth: true
velocloud:
vcg:
activation_code: #_Activation_Key_#
vco: #_VCO_#
runcmd:
- "echo \"[]\" > /opt/vc/etc/vc_blocked_subnets.json"
- "sed -iorig \"s/wan=\\\".*/wan=\\\"eth0 eth1\\\"/\" /etc/config/gatewayd-tunnel"
- /var/lib/cloud/scripts/per-boot/config_gateway
- "sleep 10"
- "/opt/vc/bin/vc_procmon restart"
write_files:
-
content: |
#!/usr/bin/python
import json
### EDIT GATEWAYD ###
with open("/etc/config/gatewayd", "r") as jsonFile:
data = json.load(jsonFile)
data["global"]["vcmp.interfaces"] = ["eth0"]
data["global"]["wan"] = ["eth1"]
# NOTE FOR HAND OFF IT CAN BE "QinQ (0x8100)" "QinQ (0x9100)" "none" "802.1Q" "802.1ad"
data["vrf_vlan"]["tag_info"][0]["mode"] = "#_Handoff_"
data["vrf_vlan"]["tag_info"][0]["interface"] = "eth1"
data["vrf_vlan"]["tag_info"][0]["c_tag"] = "#_C_TAG_FOR_MGMT_VRF_#"
data["vrf_vlan"]["tag_info"][0]["s_tag"] = "#_S_TAG_FOR_MGMT_VRF_"
with open("/etc/config/gatewayd", "w") as jsonFile:
jsonFile.write(json.dumps(data,sort_keys=True,indent=4, separators=(",", ": ")))
### EDIT DPDK ###
with open("/opt/vc/etc/dpdk.json", "r") as jsonFile:
data = json.load(jsonFile)
#SET 0 or 1 for enabled or DISABLED example data["dpdk_enabled"] = 0
data["dpdk_enabled"] = #_DKDP_ENABLED_(1)_OR_DISABLED_(0)_#
with open("/opt/vc/etc/dpdk.json", "w") as jsonFile:
jsonFile.write(json.dumps(data,sort_keys=True,indent=4, separators=(",", ": ")))
path: /var/lib/cloud/scripts/per-boot/config_gateway
permissions: "0755"
final_message: "==== Cloud-init completed ===="
power_state:
condition: true
delay: "+1"
message: "Bye Bye"
mode: reboot
timeout: 30
- VMware は、すべての本番環境の Orchestrator に対して適切な完全修飾ドメイン名 (FQDN) を設定し、適切な TLS 証明書が発行されるようにすることをお勧めします。
- Orchestrator の IP アドレスを使用したアクティベーション以外に利用できるオプションがない場合は、次の例を使用して、Edge に対して TLS 検証をバイパスするように指示します。
commands.getoutput("/opt/vc/bin/ activate.py -s myvco.example.com -i #_activation_key_#") - この設定は、本番環境での使用には推奨されませんので、可能な限りすぐに Orchestrator のホスト名に対して再アクティベーションを行うことをお勧めします。
/etc/network/interfaces) セクションで有効なネットワーク設定となる必要があります。Windows または Mac のコピーと貼り付け機能を使用すると、スマート クォートの問題が発生し、ファイルの破損につながる可能性があります。次のコマンドを実行して、スマート クォートがないことを確認してください。
sed s/[”“]/'"'/g /tmp/user-data > /tmp/user-data_new
ISO ファイルの作成
ファイルの入力が完了したら、ISO イメージにパッケージ化する必要があります。この ISO イメージは、仮想マシンとともに仮想設定 CD として使用されます。この ISO イメージは vcg01-cidata.iso と呼ばれ、Linux システムで次のコマンドを使用して作成されます。
genisoimage -output vcg01-cidata.iso -volid cidata -joliet -rock user-data meta-data
MAC OSX を使用している場合は、代わりに次のコマンドを使用してください。
mkisofs -output vcg01-cidata.iso -volid cidata -joliet -rock {user-data,meta-data}
この ISO ファイルは #CLOUD_INIT_ISO_FILE# と呼ばれ、OVA のインストールと VMware のインストールの両方で使用されます。