1. はじめに
概要
このラボでは、Network Connectivity Center のいくつかの機能について学びます。
Network Connectivity Center(NCC)は、Google Cloud でのネットワーク接続管理のためのハブ アンド スポーク コントロール プレーン モデルです。ハブリソースは、スポークを接続する一元化された接続管理モデルを提供します。NCC は現在、スポークとして次のネットワーク リソースをサポートしています。
- VLAN アタッチメント
- Router アプライアンス
- HA VPN
Codelab では、WAN のデプロイと管理を簡素化する flexiWAN SaaS SD-WAN ソリューションを使用する必要があります。flexWAN は、オープンソースの SD-WAN および SASE ソリューションです。
作成するアプリの概要
この Codelab では、ハブ アンド スポークの SD-WAN トポロジを構築し、サイト間通信やサイト間通信のために Google のバックボーン ネットワークを通過するリモート ブランチサイトをシミュレートします。
- 「flexiWAN」用に構成された GCE VM のペアをデプロイします。GCP へのインバウンド トラフィックとアウトバウンド トラフィックのヘッドエンドを表すハブ VPC 内の SD-WAN エージェント。
- 2 つの異なるブランチサイト VPC を表す 2 つのリモート flexiWAN SD-WAN ルーターをデプロイする
- データパスのテストでは、オンプレミスのクライアントと GCP でホストされるサーバーをシミュレートするために 3 つの GCE VM を構成します。
学習内容
- NCC とオープンソースのソフトウェア定義 WAN ソリューションを使用して、リモートの支社を相互接続
- オープンソースのソフトウェア定義の WAN ソリューションの実務経験
必要なもの
- GCP VPC ネットワークに関する知識
- Cloud Router と BGP ルーティングに関する知識
- Codelab には 6 つの VPC が必要です。割り当て: ネットワークを確認し、必要に応じて追加のネットワークをリクエストします。以下のスクリーンショットをご覧ください。
2. 目標
- GCP 環境を設定する
- GCP に flexiWAN Edge インスタンスをデプロイする
- NCC ハブと flexiWAN エッジ NVA をスポークとして確立する
- flexiManage を使用して flexiWAN インスタンスを構成、管理する
- vpc-app-svcs と flexiWAN NVA の間で BGP ルート交換を構成する
- お客様のリモート支店やデータセンターをシミュレートするリモートサイトを作成する
- リモートサイトと NVA の間に IPSEC トンネルを確立する
- アプライアンスが正常にデプロイされたことを確認する
- サイトからクラウドへのデータ転送を検証する
- サイト間データ転送を検証する
- 使用済みのリソースをクリーンアップする
このチュートリアルでは、flexiEdge インスタンスの認証、オンボーディング、管理を行うための無料の flexiManage アカウント を作成する必要があります。
始める前に
Google Cloud コンソールと Cloud Shell の使用
このラボでは、GCP とやり取りするために Google Cloud コンソールと Cloud Shell の両方を使用します。
Google Cloud Console
Cloud コンソールには https://console.cloud.google.com からアクセスできます。
Google Cloud で次の項目を設定すると、Network Connectivity Center を簡単に構成できます。
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
Cloud Shell を起動します。この Codelab では、Cloud Shell での gcloud 構成の実装に役立つ $variables を使用します。
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
IAM ロール
NCC では、特定の API にアクセスするための IAM ロールが必要です。必要に応じて、NCC IAM ロールをユーザーに構成してください。
ロール名 | 説明 | 権限 |
networkconnectivity.networkAdmin | ネットワーク管理者はハブ アンド スポークを管理できます。 | networkconnectivity.hubs.networkconnectivity.spokes。 |
networkconnectivity.networkSpokeManager | ハブでスポークを追加して管理できます。ホスト プロジェクトがハブを所有し、他のプロジェクトの他の管理者がハブにアタッチメント用のスポークを追加できる共有 VPC で使用されます。 | networkconnectivity.spokes.** |
networkconnectivity.networkUsernetworkconnectivity.networkViewer | ネットワーク ユーザーがハブとスポークのさまざまな属性を表示できるようにします。 | networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList |
3. ネットワーク ラボ環境を設定する
概要
このセクションでは、VPC ネットワークとファイアウォール ルールをデプロイします。
オンプレミスのブランチサイト ネットワークをシミュレートする
この VPC ネットワークには、オンプレミス VM インスタンスのサブネットが含まれています。
オンプレミス サイトのネットワークとサブネットを作成します。
gcloud compute networks create site1-vpc \
--subnet-mode custom
gcloud compute networks create site2-vpc \
--subnet-mode custom
gcloud compute networks create s1-inside-vpc \
--subnet-mode custom
gcloud compute networks create s2-inside-vpc \
--subnet-mode custom
gcloud compute networks subnets create site1-subnet \
--network site1-vpc \
--range 10.10.0.0/24 \
--region us-central1
gcloud compute networks subnets create site2-subnet \
--network site2-vpc \
--range 10.20.0.0/24 \
--region us-east4
gcloud compute networks subnets create s1-inside-subnet \
--network s1-inside-vpc \
--range 10.10.1.0/24 \
--region us-central1
gcloud compute networks subnets create s2-inside-subnet \
--network s2-inside-vpc \
--range 10.20.1.0/24 \
--region us-east4
次を許可する site1-vpc ファイアウォール ルールを作成します。
- SSH、内部、IAP
- ESP、UDP/500、UDP/4500
- 10.0.0.0/8 範囲
- 192.168.0.0/16 範囲
gcloud compute firewall-rules create site1-ssh \--network site1-vpc \
--allow tcp:22
gcloud compute firewall-rules create site1-internal \
--network site1-vpc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create site1-cloud \
--network site1-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute firewall-rules create site1-vpn \
--network site1-vpc \
--allow esp,udp:500,udp:4500 \
--target-tags router
gcloud compute firewall-rules create site1-iap \
--network site1-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
次を許可する site2-vpc ファイアウォール ルールを作成します。
- SSH、内部、IAP
- 10.0.0.0/8 範囲
- 192.168.0.0/16 範囲
gcloud compute firewall-rules create site2-ssh \
--network site2-vpc \
--allow tcp:22
gcloud compute firewall-rules create site2-internal \
--network site2-vpc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create site2-cloud \
--network site1-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute firewall-rules create site2-vpn \
--network site1-vpc \
--allow esp,udp:500,udp:4500 \
--target-tags router
gcloud compute firewall-rules create site2-iap \
--network site2-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
以下を許可する s1-inside-vpc ファイアウォール ルールを作成します。
- SSH、内部、IAP
- 10.0.0.0/8 範囲
- 192.168.0.0/16 範囲
gcloud compute firewall-rules create s1-inside-ssh \
--network s1-inside-vpc \
--allow tcp:22
gcloud compute firewall-rules create s1-inside-internal \
--network s1-inside-vpc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create s1-inside-cloud \
--network s1-inside-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute firewall-rules create s1-inside-iap \
--network site2-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
以下を許可する s2-inside-vpc ファイアウォール ルールを作成します。
- SSH、内部、IAP
- 10.0.0.0/8 範囲
- 192.168.0.0/16 範囲
gcloud compute firewall-rules create s2-inside-ssh \
--network s2-inside-vpc \
--allow tcp:22
gcloud compute firewall-rules create s2-inside-internal \
--network s2-inside-vpc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create s2-inside-cloud \
--network s2-inside-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute firewall-rules create s2-inside-iap \
--network site2-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
テスト目的で、s1-inside-vm
インスタンスと s2-inside-vm
インスタンスを作成します。
gcloud compute instances create s1-vm \
--zone=us-central1-a \
--machine-type=e2-micro \
--network-interface subnet=s1-inside-subnet,private-network-ip=10.10.1.3,no-address
gcloud compute instances create s2-vm \
--zone=us-east4-b \
--machine-type=e2-micro \
--network-interface subnet=s2-inside-subnet,private-network-ip=10.20.1.3,no-address
GCP クラウド ネットワーク環境をシミュレートする
hub-vpc
ネットワークとスポークを介したリージョンのサイト間トラフィックを有効にするには、hub-vpc
ネットワークでグローバル ルーティングを有効にする必要があります。詳細については、NCC のルート交換をご覧ください。
hub-vpc
ネットワークとサブネットを作成します。
gcloud compute networks create hub-vpc \
--subnet-mode custom \
--bgp-routing-mode=global
gcloud compute networks subnets create hub-subnet1 \
--network hub-vpc \
--range 10.1.0.0/24 \
--region us-central1
gcloud compute networks subnets create hub-subnet2 \
--network hub-vpc \
--range 10.2.0.0/24 \
--region us-east4
workload-vpc
ネットワークとサブネットを作成します。
gcloud compute networks create workload-vpc \
--subnet-mode custom \
--bgp-routing-mode=global
gcloud compute networks subnets create workload-subnet1 \
--network workload-vpc \
--range 192.168.235.0/24 \
--region us-central1
gcloud compute networks subnets create workload-subnet2 \
--network workload-vpc \
--range 192.168.236.0/24 \
--region us-east4
- 以下を許可する Hub-VPC ファイアウォール ルールを作成します。
- SSH
- ESP、UDP/500、UDP/4500
- 内部 10.0.0.0/8 範囲(クラウド ルーターからルーター アプライアンスへの BGP セッションに必要な TCP ポート 179 をカバー)
gcloud compute firewall-rules create hub-ssh \
--network hub-vpc \
--allow tcp:22
gcloud compute firewall-rules create hub-vpn \
--network hub-vpc \
--allow esp,udp:500,udp:4500 \
--target-tags router
gcloud compute firewall-rules create hub-internal \
--network hub-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute firewall-rules create hub-iap \
--network hub-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
- 以下を許可する Workload-VPC ファイアウォール ルールを作成します。
- SSH
- 内部 192.168.0.0/16 範囲(クラウド ルーターからルーター アプライアンスへの BGP セッションに必要な TCP ポート 179 をカバー)
gcloud compute firewall-rules create workload-ssh \
--network workload-vpc \
--allow tcp:22
gcloud compute firewall-rules create workload-internal \
--network workload-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute --project=$projectname firewall-rules create allow-from-site-1-2 --direction=INGRESS --priority=1000 --network=workload-vpc --action=ALLOW --rules=all --source-ranges=10.10.1.0/24,10.20.1.0/24
gcloud compute firewall-rules create workload-onprem \
--network hub-vpc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create workload-iap \
--network workload-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
- workload-VPC で Cloud NAT を有効にして、Cloud Router と NAT ゲートウェイを作成して、workload1-vm がパッケージをダウンロードできるようにします。
gcloud compute routers create cloud-router-usc-central-1-nat \
--network workload-vpc \
--region us-central1
gcloud compute routers nats create cloudnat-us-central1 \
--router=cloud-router-usc-central-1-nat \
--auto-allocate-nat-external-ips \
--nat-all-subnet-ip-ranges \
--region us-central1
workload1-vm
in "us-central1-a" in
workload-VPC
を作成します。このホストは、サイトからクラウドへの接続を確認するために使用します。
gcloud compute instances create workload1-vm \
--project=$projectname \
--machine-type=e2-micro \
--image-family debian-10 \
--image-project debian-cloud \
--zone us-central1-a \
--private-network-ip 192.168.235.3 \
--no-address \
--subnet=workload-subnet1 \
--metadata startup-script="#! /bin/bash
sudo apt-get update
sudo apt-get install apache2 -y
sudo service apache2 restart
echo 'Welcome to Workload VM1 !!' | tee /var/www/html/index.html
EOF"
4. SD-WAN 用にオンプレミス アプライアンスを設定する
SDWAN 用のオンプレミス VM を作成する(アプライアンス)
次のセクションでは、オンプレミス ルーターとして機能する site1-nva ルーター アプライアンスと site2-nva ルーター アプライアンスを作成します。
インスタンスの作成
site1-nva という名前の site1-router
アプライアンスを作成します。
gcloud compute instances create site1-nva \
--zone=us-central1-a \
--machine-type=e2-medium \
--network-interface subnet=site1-subnet \
--network-interface subnet=s1-inside-subnet,no-address \
--create-disk=auto-delete=yes,boot=yes,device-name=flex-gcp-nva-1,image=projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20220901,mode=rw,size=20,type=projects/$projectname/zones/us-central1-a/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any \
--can-ip-forward
site2-nva という名前の site2-router アプライアンスを作成します。
gcloud compute instances create site2-nva \
--zone=us-east4-b \
--machine-type=e2-medium \
--network-interface subnet=site2-subnet \
--network-interface subnet=s2-inside-subnet,no-address \
--create-disk=auto-delete=yes,boot=yes,device-name=flex-gcp-nva-1,image=projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20220901,mode=rw,size=20,type=projects/$projectname/zones/us-east4-a/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any \
--can-ip-forward
5. site1-nva に flexiWAN をインストールする
site1-nva への SSH 接続を開きます。タイムアウトの場合は、もう一度お試しください
gcloud compute ssh site1-nva --zone=us-central1-a
site1-nva に flexiWAN をインストールする
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
flexiWAN コントロール プレーン登録用に VM を準備する。
flexiWAN が完了したら、fwsystem_checker コマンドを実行してシステム構成を確認します。このコマンドは、システム要件を確認し、システム内の構成エラーを修正します。
- オプション
2
を選択すると、すばやくサイレント構成できます - 0 で終了します。
- Cloud Shell ウィンドウを閉じないでください。
root@site-1-nva-1:/home/user# fwsystem_checker <output snipped> [0] - quit and use fixed parameters 1 - check system configuration 2 - configure system silently 3 - configure system interactively 4 - restore system checker settings to default ------------------------------------------------ Choose: 2 <output snipped> [0] - quit and use fixed parameters 1 - check system configuration 2 - configure system silently 3 - configure system interactively 4 - restore system checker settings to default ------------------------------------------------ Choose: 0 Please wait.. Done. === system checker ended ====
次のステップではセッションを開いたままにする
6. SD-WAN コントローラに site1-nva を登録する
この手順は、flexiManage Console で管理する flexiWAN NVA のプロビジョニングを完了するために必要です。先に進む前に、flexiWAN 組織が設定されていることを確認してください。
flexiManage アカウントにログインし、セキュリティ トークンを使用して、新しくデプロイされた flexiWAN NVA を flexiManage で認証します。同じトークンをすべてのルーター アプライアンスで再利用できます。
[広告枠] → [トークン] を選択し、トークンを作成してコピーを選択
Cloud Shell(site1-nva)に戻り、次のコマンドを実行して、トークンをディレクトリ /etc/flexiwan/agent/token.txt に貼り付けます。
nano /etc/flexiwan/agent/token.txt
#Paste the generated token obtain from flexiManage
#Exit session with CTRL+X and Select Y to save then enter
flexiManage Console でサイトルーターを有効にする
flexiManage Console にログインし、コントローラで site1-nva を有効にします。
左側のパネルで [広告枠を選択] → [デバイス] に移動し、[不明] デバイスをクリックします。
site1-nva のホスト名を入力し、ダイヤルを右にスライドしてデバイスを承認します。
[Interfaces] タブを選択します。
[Assigned] を探します。列を選択し、[No] をクリックします。設定を [Yes] に変更します。
[ファイアウォール] タブを選択し、+ 記号をクリックしてインバウンド ファイアウォール ルールを追加します。
以下で説明するように、SSH ルールを適用する WAN インターフェースを選択します。
[Update Device] をクリックします。
flexiWAN コントローラから site1-nva を起動します。[広告枠] → [デバイス] → [site1-nva] に戻り、[デバイスを開始] を選択します。
ステータス - 同期中
ステータス - 同期済み
警告インジケーターは、[トラブルシューティング] → [通知] で確認できます。表示したら、すべて選択して既読にします
7. site2-nva に flexiWAN をインストールする
新しいタブを開いて Cloud Shell セッションを作成し、gcloud 構成の実装に役立つように $variables を更新します。
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
site2-nva への SSH 接続を開きます(タイムアウトの場合はもう一度お試しください)
gcloud compute ssh site2-nva --zone=us-east4-b
site2-nva に flexiWAN をインストールする
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
flexiWAN コントロール プレーン登録用に VM を準備する。
flexiWAN が完了したら、fwsystem_checker コマンドを実行してシステム構成を確認します。このコマンドは、システム要件を確認し、システム内の構成エラーを修正します。
- オプション
2
を選択すると、すばやくサイレント構成できます - 0 で終了します。
- Cloud Shell ウィンドウを閉じないでください。
root@site2-nva:/home/user# fwsystem_checker <output snipped> [0] - quit and use fixed parameters 1 - check system configuration 2 - configure system silently 3 - configure system interactively 4 - restore system checker settings to default ------------------------------------------------ Choose: 2 <output snipped> [0] - quit and use fixed parameters 1 - check system configuration 2 - configure system silently 3 - configure system interactively 4 - restore system checker settings to default ------------------------------------------------ Choose: 0 Please wait.. Done. === system checker ended ====
8. SD-WAN コントローラに site2-nva を登録する
この手順は、flexiManage Console で管理する flexiWAN NVA のプロビジョニングを完了するために必要です。先に進む前に、flexiWAN 組織が設定されていることを確認してください。
flexiManage アカウントにログインし、セキュリティ トークンを使用して、新しくデプロイされた flexiWAN NVA を flexiManage で認証します。同じトークンをすべてのルーター アプライアンスで再利用できます。
[インベントリ] → [トークン] を選択し、トークンを作成して[コピー] を選択
Cloud Shell(site2-nva)に戻り、次のコマンドを実行して、トークンをディレクトリ /etc/flexiwan/agent/token.txt に貼り付けます。
nano /etc/flexiwan/agent/token.txt
#Paste the generated token obtain from flexiManage
#Exit session with CTRL+X and Select Y to save then enter
flexiManage Console からサイトルーターを有効にする
flexiManage コンソールにログインしてコントローラで site2-nva をアクティブにします。
左側のパネルで [広告枠を選択] → [デバイス] に移動し、[不明] デバイスをクリックします。
site2-nva のホスト名を入力し、ダイヤルを右にスライドしてデバイスを承認します。
[Interfaces] タブを選択します。
[Assigned] を探します。列を選択し、[No] をクリックします。設定を [Yes] に変更します。
[ファイアウォール] タブを選択し、「+」記号をクリックしてインバウンド ファイアウォール ルールを追加します。以下で説明するように、SSH ルールを適用する WAN インターフェースを選択します。
[Update Device] をクリックします。
flexiWAN コントローラから site2-nva を起動します。[広告枠] → [デバイス] → [site2-nva] に戻り、[デバイスを開始] を選択します。
Satus - 同期
ステータス - 同期済み
警告インジケーターは、[トラブルシューティング] → [通知] で確認できます。表示したら、すべて選択して既読にします
9. Hub SDWAN アプライアンスを設定する
次のセクションでは、以前サイトルートで実行した flexiWAN Controller にハブルーター(hub-r1 と hub-r2)を作成して登録します。
新しいタブを開いて Cloud Shell セッションを作成し、gcloud 構成の実装に役立つように $variables を更新します。
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
ハブ NVA インスタンスを作成する
hub-r1 アプライアンスを作成します。
gcloud compute instances create hub-r1 \
--zone=us-central1-a \
--machine-type=e2-medium \
--network-interface subnet=hub-subnet1 \
--network-interface subnet=workload-subnet1,no-address \
--can-ip-forward \
--create-disk=auto-delete=yes,boot=yes,device-name=flex-gcp-nva-1,image=projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20220901,mode=rw,size=20,type=projects/$projectname/zones/us-central1-a/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any
hub-r2 アプライアンスを作成します。
gcloud compute instances create hub-r2 \
--zone=us-east4-b \
--machine-type=e2-medium \
--network-interface subnet=hub-subnet2 \
--network-interface subnet=workload-subnet2,no-address \
--can-ip-forward \
--create-disk=auto-delete=yes,boot=yes,device-name=flex-gcp-nva-1,image=projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20220901,mode=rw,size=20,type=projects/$projectname/zones/us-east4-a/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any
10. hub-r1 のハブ インスタンスに flexiWAN をインストールする
hub-r1 への SSH 接続を開く
gcloud compute ssh hub-r1 --zone=us-central1-a
両方の hub-r1 に flexiWAN エージェントをインストールする
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
flexiWAN 登録用に hub-r1 VM を準備する。
flexiWAN が完了したら、fwsystem_checker コマンドを実行してシステム構成を確認します。このコマンドは、システム要件を確認し、システム内の構成エラーを修正します。
root@hub-r1:/home/user# fwsystem_checker
- オプション
2
を選択すると、すばやくサイレント構成できます - 0 で終了します。
- Cloud Shell ウィンドウを閉じないでください。
11. flexiManage コントローラで hub-r1 VM を登録する
flexiManage アカウントにログインし、セキュリティ トークンを使用して、新しくデプロイされた flexiWAN NVA を flexiManage で認証します。
- [インベントリ] → [トークン] を選択し、トークンをコピーします。
Cloud Shell(hub-r1)に戻り、次のコマンドを実行して、トークンをディレクトリ /etc/flexiwan/agent/token.txt に貼り付けます。
nano /etc/flexiwan/agent/token.txt
#Paste the generated token obtain from flexiManage
#Exit session with CTRL+X and Select Y to save then enter
12. hub-r2 のハブ インスタンスに flexiWAN をインストールする
hub-r2 への SSH 接続を開く
gcloud compute ssh hub-r2 --zone=us-east4-b
両方の hub-r2 に flexiWAN エージェントをインストールする
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
flexiWAN 登録用に hub-r2 VM を準備する。
flexiWAN が完了したら、fwsystem_checker コマンドを実行してシステム構成を確認します。このコマンドは、システム要件を確認し、システム内の構成エラーを修正します。
root@hub-r2:/home/user# fwsystem_checker
- オプション
2
を選択すると、すばやくサイレント構成できます - 0 で終了します。
- Cloud Shell ウィンドウを閉じないでください。
13. flexiManage コントローラで hub-r2 VM を登録する
flexiManage アカウントにログインし、セキュリティ トークンを使用して、新しくデプロイされた flexiWAN NVA を flexiManage で認証します。
- [インベントリ] → [トークン] を選択し、トークンをコピーします。
Cloud Shell(hub-r2)に戻り、次のコマンドを実行して、トークンをディレクトリ /etc/flexiwan/agent/token.txt に貼り付けます。
nano /etc/flexiwan/agent/token.txt
#Paste the generated token obtain from flexiManage
#Exit session with CTRL+X and Select Y to save then enter
flexiManage Console でハブルーター hub-r1 を有効にする
flexiManage Console にログインします。
- [広告枠] → [デバイス] に移動します。
- hub-r1 と hub-r2 のホスト名が両方とも [unknown] であることを確認します。
[HostName] に [hub-r1] の不明なデバイスを選択します。
- hub-r1 のホスト名を入力します。
- デバイスを承認し、ダイヤルを右にスライドします。
[インターフェース] タブを選択します。
- [Assigned] 列を探します。
- インターフェース行の横にある [いいえ] をクリックして、設定を [はい] に変更します。
[ファイアウォール] タブを選択します。
- [+] をクリックします。[受信ファイアウォール ルールを追加]
- ルールを継承する WAN インターフェースを選択する
- TCP プロトコルで SSH ポート 22 を許可する
- [Update Device] をクリックします。
flexiWAN のコントローラから SD-WAN 用の hub-r1 アプライアンスを起動する
- [広告枠] → [デバイス] → [hub-r1] に戻ります。
[Start Device] を選択します
- 同期が完了するまで待ち、「running」と表示されていることを確認します。ステータス
flexiManage Console でハブルーター hub-r2 を有効にする
[HostName] に [hub-r2] の不明なデバイスを選択します。
- hub-r2 のホスト名を入力します。
- デバイスを承認し、ダイヤルを右にスライドします。
[インターフェース] タブを選択します。
- [Assigned] 列を探します。
- インターフェース行の横にある [いいえ] をクリックして、設定を [はい] に変更します。
[ファイアウォール] タブを選択します。
- [+] をクリックします。[受信ファイアウォール ルールを追加]
- ルールを継承する WAN インターフェースを選択する
- TCP プロトコルで SSH ポート 22 を許可する
- [ルールを追加] をクリックします。
- [Update Device] をクリックします。
flexiWAN のコントローラから SD-WAN 用の hub-r2 アプライアンスを起動する
- [インベントリ] → [デバイス] → [hub-r2] に戻り、[Start Device] を選択します。
- 同期が完了するまで待ち、「running」と表示されていることを確認します。ステータス
14. GCP Hub の Network Connectivity Center
API サービスを有効にする
Network Connectivity API がまだ有効になっていない場合は、有効にします。
gcloud services enable networkconnectivity.googleapis.com
NCC ハブを作成する
gcloud network-connectivity hubs create ncc-hub
Create request issued for: [ncc-hub]
Waiting for operation [projects/user-3p-dev/locations/global/operations/operation-1668793629598-5edc24b7ee3ce-dd4c765b-5ca79556] to complete...done.
Created hub [ncc-hub]
両方のルーター アプライアンスを NCC スポークとして構成する
hub-r1 と hub-r2 の両方の URI と IP アドレスを見つけて、出力をメモします。この情報は次のステップで必要になります。
hub-r1 および hub-r2 インスタンスの IP アドレス(192.168.x.x)をメモしておきます。
gcloud compute instances describe hub-r1 \
--zone=us-central1-a \
--format="value(selfLink.scope(projects))"
gcloud compute instances describe hub-r1 --zone=us-central1-a | grep "networkIP"
gcloud compute instances describe hub-r2 \
--zone=us-east4-b \
--format="value(selfLink.scope(projects))"
gcloud compute instances describe hub-r2 --zone=us-east4-b | grep "networkIP"
hub-r1 の vnic networkIP
(192.168.x.x)をスポークとして追加し、サイト間データ転送を有効にする
gcloud network-connectivity spokes linked-router-appliances create s2s-wrk-cr1 \
--hub=ncc-hub \
--router-appliance=instance="https://www.googleapis.com/compute/projects/$projectname/zones/us-central1-a/instances/hub-r1",ip=192.168.235.4 \
--region=us-central1 \
--site-to-site-data-transfer
hub-r2 の vnic networkIP
(192.168.x.x)をスポークとして追加し、サイト間データ転送を有効にする
gcloud network-connectivity spokes linked-router-appliances create s2s-wrk-cr2 \
--hub=ncc-hub \
--router-appliance=instance=/projects/$projectname/zones/us-east4-b/instances/hub-r2,ip=192.168.236.101 \
--region=us-east4 \
--site-to-site-data-transfer
Hub-R1 と BGP を確立するように Cloud Router を構成する
次の手順では、Cloud Router を作成し、ワークロード VPC サブネット 192.168.235.0/24 を通知します。
hub-r1 を使用して BGP と通信するクラウド ルーターを us-central1 に作成する
gcloud compute routers create wrk-cr1 \
--region=us-central1 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets \
--advertisement-mode=custom
ルーター アプライアンスを NCC スポークとして構成することで、クラウド ルーターが仮想インターフェース上で BGP をネゴシエートできるようになります。
Cloud Router に、hub-r1 と BGP メッセージを交換する 2 つのインターフェースを作成します。
ワークロードのサブネットから IP アドレスが選択され、必要に応じて変更できます
gcloud compute routers add-interface wrk-cr1 \
--region=us-central1 \
--subnetwork=workload-subnet1 \
--interface-name=int0 \
--ip-address=192.168.235.101
gcloud compute routers add-interface wrk-cr1 \
--region=us-central1 \
--subnetwork=workload-subnet1 \
--interface-name=int1 \
--ip-address=192.168.235.102 \
--redundant-interface=int0
networkIP
で、hub-r1 の vNIC-1 との BGP を確立するように Cloud Router インターフェースを構成します。peer-ip-address を hub-r1 の IP アドレスに更新します。int0 と int0 には同じ IP アドレスが使用されます。int1。
gcloud compute routers add-bgp-peer wrk-cr1 \
--peer-name=hub-cr1-bgp-peer-0 \
--interface=int0 \
--peer-ip-address=192.168.235.4 \
--peer-asn=64111 \
--instance=hub-r1 \
--instance-zone=us-central1-a \
--region=us-central1
gcloud compute routers add-bgp-peer wrk-cr1 \
--peer-name=hub-cr1-bgp-peer-1 \
--interface=int1 \
--peer-ip-address=192.168.235.4 \
--peer-asn=64111 \
--instance=hub-r1 \
--instance-zone=us-central1-a \
--region=us-central1
BGP の状態を確認します。Codelab のこの時点で、BGP は「接続状態」になっています。ネットワーク ルーター アプライアンスが BGP 用に構成されていないためです。
gcloud compute routers get-status wrk-cr1 --region=us-central1
Hub-R2 との BGP を確立するように Workload-cr2 を構成する
次の手順では、Cloud Router を作成し、ワークロード VPC サブネット 192.168.236.0/24 を通知します。
hub-r2 を使用して BGP と通信するクラウド ルーターを us-east4 に作成する
gcloud compute routers create wrk-cr2 \
--region=us-east4 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets \
--advertisement-mode=custom
hub-r2 と BGP メッセージを交換するインターフェースのペアをクラウド ルーターに作成します。IP アドレスはワークロードのサブネットから選択されます。必要に応じて変更できます
gcloud compute routers add-interface wrk-cr2 \
--region=us-east4 \
--subnetwork=workload-subnet2 \
--interface-name=int0 \
--ip-address=192.168.236.5
gcloud compute routers add-interface wrk-cr2 \
--region=us-east4 \
--subnetwork=workload-subnet2 \
--interface-name=int1 \
--ip-address=192.168.236.6 \
--redundant-interface=int0
hub-r2 の vNIC-1 との BGP を確立するように Cloud Router インターフェースを構成します。peer-ip-address を hub-r1 の IP アドレスに更新します networkIP
。int0 と int0 には同じ IP アドレスが使用されます。int1。
gcloud compute routers add-bgp-peer wrk-cr2 \
--peer-name=hub-cr2-bgp-peer-0 \
--interface=int0 \
--peer-ip-address=192.168.236.101 \
--peer-asn=64112 \
--instance=hub-r2 \
--instance-zone=us-east4-b \
--region=us-east4
gcloud compute routers add-bgp-peer wrk-cr2 \
--peer-name=hub-cr2-bgp-peer-1 \
--interface=int1 \
--peer-ip-address=192.168.236.101 \
--peer-asn=64112 \
--instance=hub-r2 \
--instance-zone=us-east4-b \
--region=us-east4
BGP の状態を確認します。Codelab のこの時点で、BGP は「接続状態」になっています。ネットワーク ルーター アプライアンスが BGP 用に構成されていないためです。
gcloud compute routers get-status wrk-cr2 --region=us-east4
15. BGP 用にハブルーター アプライアンスを構成する
BGP 用に hub-r1 を構成する
flexiManage Console に ログインしてください
[Inventory] → [Devices] → [hub-r1] に移動し、HostName:hub-r1 であるデバイスを選択します。
- [ルーティング] タブをクリックします。
- [BGP 構成] をクリックします。
- [OSPF ルートを再配布] を無効にします。
- 次のパラメータを使用して BGP 用に hub-r1 を構成し、[Save] をクリックします。
[Interfaces] を選択します。タブで LAN インターフェースを探し、[Routing] 列を探します。
- [none] をクリックします。ルーティング プロトコルとして BGP を選択するためのメニューを開く
- ページ上部の [デバイスの更新] をクリックします。
BGP 用に hub-r2 を構成する
flexiManage Console に ログインしてください
[インベントリ] → [デバイス] → hub-r2 の順に移動し、HostName:hub-r2 と表示されているデバイスを選択します。
- [ルーティング] タブをクリックします。
- [BGP 構成] をクリックします。
- [OSPF ルートを再配布] を無効にします。
- 次のパラメータを使用して BGP 用に hub-r2 を構成し、[Save] をクリックします。
[Interfaces] を選択します。[LAN] タブで [Routing] 列を探します。
- [なし] をクリックしますルーティング プロトコルとして BGP を選択するプルダウン メニューを開く
- ページ上部の [デバイスの更新] をクリックします。
[ルーティング] を選択します。タブ
- hub-r2 が wrk-cr2 から BGP ルートを学習したことを確認します。
16. ルーター アプライアンス間の BGP ルート交換
リモートサイトのローカル ASN を確立する
site1-nva と site2-nva のローカル BGP ASN を構成します。構成が完了したら、リモート サイトとハブルーターの間に IPSEC トンネルを確立します。
[HostName:site1-nva] と表示されているデバイスを選択します。
- [ルーティング] タブをクリックします。
- [BGP 構成] をクリックします。
- [OSPF ルートを再配布] を無効にします。
- BGP が有効
- ローカル ASN 7269 → 保存
- デバイスの更新
- [インターフェース] タブ → [LAN] → [ルーティング] → [BGP]
- デバイスの更新
[HostName:site2-nva] と表示されているデバイスを選択します。
- [ルーティング] タブをクリックします。
- [BGP 構成] をクリックします。
- [OSPF ルートを再配布] を無効にします。
- BGP が有効
- ローカル ASN 7270 → 保存
- デバイスの更新
- [インターフェース] タブ → [LAN] → [ルーティング] → [BGP]
- デバイスの更新
サイトとハブ アプライアンス間の VPN トンネルを構成する
flexiManage Console に ログインしてください
- [広告枠] → [デバイス] に移動します。
- ホスト名である site1-nva と hub-r1 の横にあるチェックボックスをオンにして、この NVA ペアの間に VPN トンネルを構築します。
- [アクション] → [トンネルを作成] をクリックし、次のように構成します。
- [トンネルを作成] を選択します。
- site1-nva と ub-r1 からチェックマークを外します
適切なパラメータを選択して、この手順を繰り返して site2-nva と hub-r2 間のトンネルを作成します
NVA の各ペア間にトンネルのペアが確立されていることを確認します。
- 左側のパネルで [広告枠] を選択します。[トンネル] をクリックします。[ステータス]列を見つけて
"site1-nva" がサブネット 192.168.235.0/24 および 192.168.236.0/24 に学習したルート
- [広告枠] → [デバイス] → [site1-nva] を選択し、[ルーティング] タブをクリックします。
以下の出力例では、flexiWAN はホスト IP アドレス 10.100.0.6 を使用してトンネルを自動的に作成しています。
17. データパスの接続を確認する
オンプレミスからクラウドへの接続を確認する
図を参照して、s1-vm と workload1-vm の間のデータパスを確認します。
サイトから Cloud への VPC 静的ルートを構成する
オンプレミスの Site1-VPC と Site2-VPC は、オンプレミスのデータセンター ネットワークをシミュレートします。
Site-1-nva と site-2-nva のルーター アプライアンスはどちらも VPN 接続を使用してハブ ネットワークにアクセスします。
サイトからクラウドへのユースケース**,** では、GCP クラウド ネットワーク内のネットワークに到達するためのネクストホップとしてルーター アプライアンスを使用し、宛先 192.168.0.0/16 への静的ルートを作成します。
s1-inside-vpc で、クラウドの宛先(192.168.0.0/16)への静的ルートを作成します。
gcloud compute routes create site1-subnet-route \
--network=s1-inside-vpc \
--destination-range=192.168.0.0/16 \
--next-hop-instance=site1-nva \
--next-hop-instance-zone=us-central1-a
s2-inside-vpc で、クラウドの宛先(192.168.0.0/16)への静的ルートを作成します。
gcloud compute routes create site2-subnet-route \
--network=s2-inside-vpc \
--destination-range=192.168.0.0/16 \
--next-hop-instance=site2-nva \
--next-hop-instance-zone=us-east4-b
cloudshell で、workload1-vm の IP アドレスを検索します。これは「s1-vm」からの接続をテストするために必要です。
gcloud compute instances describe workload1-vm --zone=us-central1-a | grep "networkIP"
s1-vm への SSH 接続を開きます(タイムアウトの場合は、もう一度お試しください)
gcloud compute ssh s1-vm --zone=us-central1-a
SSH で s1-vm に接続し、「curl」コマンドを使用して workload1-VM の IP アドレスへの TCP セッションを確立します。
s1-vm:~$ curl 192.168.235.3 -vv * Trying 192.168.235.3:80... * Connected to 192.168.235.3 (192.168.235.3) port 80 (#0) > GET / HTTP/1.1 > Host: 192.168.235.3 > User-Agent: curl/7.74.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 200 OK < Date: Wed, 07 Dec 2022 15:12:08 GMT < Server: Apache/2.4.54 (Debian) < Last-Modified: Tue, 06 Dec 2022 00:57:46 GMT < ETag: "1f-5ef1e4acfa1d9" < Accept-Ranges: bytes < Content-Length: 31 < Content-Type: text/html < Page served from: workload1-vm * Connection #0 to host 192.168.235.3 left intact
サイト間接続を確認する
図を参照して、s1-vm と s2-vm の間のデータパスを確認します。
サイト間の VPC 静的ルートを構成する
GCP のグローバル ネットワークを使用してサイト 1 とサイト 2 間のサイト間トラフィックをルーティングするには、オンプレミス ルーター アプライアンスをネクストホップとして使用して、リモートサイトのサブネットの宛先への静的ルートを作成します。
後のステップで、ワークロード VPC に NCC を構成し、サイト間のデータ転送をサポートします。
s1-inside-vpc で、site2-subnet(10.20.1.0/24)に到達する静的ルートを作成します。
gcloud compute routes create site1-sn1-route \
--network=s1-inside-vpc \
--destination-range=10.20.1.0/24 \
--next-hop-instance=site1-nva \
--next-hop-instance-zone=us-central1-a
s2-inside-vpc で、site1-subnet(10.10.1.0/24)に到達する静的ルートを作成します。
gcloud compute routes create site2-sn1-route \
--network=s2-inside-vpc \
--destination-range=10.10.1.0/24 \
--next-hop-instance=site2-nva \
--next-hop-instance-zone=us-east4-b
Cloudshell で「s2-vm」の IP アドレスを検索します。S1-vm からの接続をテストするために必要です。
gcloud compute instances describe s2-vm --zone=us-east4-b | grep networkIP
s1-vm への SSH 接続を開きます(タイムアウトの場合は、もう一度お試しください)
gcloud compute ssh s1-vm --zone=us-central1-a
SSH で s1-vm に接続し、「ping」を実行します。「s2-vm」の IP アドレス。
s1-vm:~$ ping 10.20.1.3
PING 10.20.1.3 (10.20.1.3) 56(84) bytes of data.
64 bytes from 10.20.1.3: icmp_seq=1 ttl=60 time=99.1 ms
64 bytes from 10.20.1.3: icmp_seq=2 ttl=60 time=94.3 ms
64 bytes from 10.20.1.3: icmp_seq=3 ttl=60 time=92.4 ms
64 bytes from 10.20.1.3: icmp_seq=4 ttl=60 time=90.9 ms
64 bytes from 10.20.1.3: icmp_seq=5 ttl=60 time=89.7 ms
18. クリーンアップ
Cloud Shell にログインし、ハブとブランチサイトのネットワークの VM インスタンスを削除する
#on prem instances
gcloud compute instances delete s1-vm --zone=us-central1-a --quiet
gcloud compute instances delete s2-vm --zone=us-east4-b --quiet
#delete on prem firewall rules
gcloud compute firewall-rules delete site1-ssh --quiet
gcloud compute firewall-rules delete site1-internal --quiet
gcloud compute firewall-rules delete site1-cloud --quiet
gcloud compute firewall-rules delete site1-vpn --quiet
gcloud compute firewall-rules delete site1-iap --quiet
gcloud compute firewall-rules delete site2-ssh --quiet
gcloud compute firewall-rules delete site2-internal --quiet
gcloud compute firewall-rules delete site2-cloud --quiet
gcloud compute firewall-rules delete site2-vpn --quiet
gcloud compute firewall-rules delete site2-iap --quiet
gcloud compute firewall-rules delete allow-from-site-1-2 --quiet
gcloud compute firewall-rules delete s2-inside-cloud s2-inside-internal s2-inside-ssh --quiet
gcloud compute firewall-rules delete s1-inside-cloud s1-inside-iap s1-inside-internal s1-inside-ssh s2-inside-cloud s2-inside-iap s2-inside-internal s2-inside-ssh --quiet
#delete ncc spokes
gcloud network-connectivity spokes delete s2s-wrk-cr1 --region us-central1 --quiet
gcloud network-connectivity spokes delete s2s-wrk-cr2 --region us-east4 --quiet
#delete ncc hub
gcloud network-connectivity hubs delete ncc-hub --quiet
#delete the cloud router
gcloud compute routers delete wrk-cr1 --region=us-central1 --quiet
gcloud compute routers delete wrk-cr2 --region=us-east4 --quiet
#delete the instances
gcloud compute instances delete hub-r1 --zone=us-central1-a --quiet
gcloud compute instances delete hub-r2 --zone=us-east4-b --quiet
gcloud compute instances delete workload1-vm --zone=us-central1-a --quiet
gcloud compute instances delete site1-nva --zone=us-central1-a --quiet
gcloud compute instances delete site2-nva --zone=us-east4-b --quiet
#delete on prem subnets
gcloud compute networks subnets delete hub-subnet1 s1-inside-subnet site1-subnet workload-subnet1 --region=us-central1 --quiet
gcloud compute networks subnets delete hub-subnet2 s2-inside-subnet site2-subnet workload-subnet2 --region=us-east4 --quiet
#delete hub firewall rule
gcloud compute firewall-rules delete hub-ssh --quiet
gcloud compute firewall-rules delete hub-vpn --quiet
gcloud compute firewall-rules delete hub-internal --quiet
gcloud compute firewall-rules delete hub-iap --quiet
gcloud compute firewall-rules delete workload-ssh --quiet
gcloud compute firewall-rules delete workload-internal --quiet
gcloud compute firewall-rules delete workload-onprem --quiet
gcloud compute firewall-rules delete workload-iap --quiet
#delete on vpcs
gcloud compute networks delete hub-vpc s1-inside-vpc s2-inside-vpc site2-vpc workload-vpc --quiet
19. 完了
Network Connectivity Center のラボが完了しました。
学習した内容
- NCC サイトからクラウドへのソフトウェア定義 WAN インテグレーションを構成済み
- NCC サイト間向けにソフトウェア定義 WAN 統合を構成済み
次のステップ
- Network Connectivity Center の概要
- Network Connectivity Center のドキュメント
- flexiWAN リソース
- flexiWAN GitLab リポジトリ
©Google, LLC またはその関連会社All rights reserved. Do not distribute.