1. 소개
개요
이 실습에서는 Network Connectivity Center의 몇 가지 기능을 살펴봅니다.
Network Connectivity Center (NCC)는 Google Cloud의 네트워크 연결 관리를 위한 허브 및 스포크 제어 영역 모델입니다. 허브 리소스는 스포크를 연결하기 위한 중앙 집중식 연결 관리 모델을 제공합니다. NCC는 현재 다음과 같은 네트워크 리소스를 스포크로 지원합니다.
- VLAN 연결
- 라우터 어플라이언스
- HA VPN
Codelabs에서는 WAN 배포 및 관리를 간소화하는 FlexiWAN SaaS SD-WAN 솔루션을 사용해야 합니다. flexWAN은 오픈소스 SD-WAN 및 SASE 솔루션입니다.
빌드할 항목
이 Codelab에서는 사이트 간 통신 및 사이트 간 통신을 위해 Google의 백본 네트워크를 통과하는 원격 브랜치 사이트를 시뮬레이션하는 허브 및 스포크 SD-WAN 토폴로지를 빌드합니다.
- 'flexiWAN'용으로 구성된 GCE VM 쌍을 배포합니다. GCP로의 인바운드 및 아웃바운드 트래픽 헤드엔드를 나타내는 허브 VPC의 SD-WAN 에이전트입니다.
- 두 개의 원격 FlexiWAN SD-WAN 라우터를 서로 다른 두 개의 지사 사이트 VPC를 나타냅니다.
- 데이터 경로 테스트를 위해 GCE VM 3개를 구성하여 온프렘 클라이언트와 GCP에서 호스팅되는 서버를 시뮬레이션합니다.
학습할 내용
- 오픈소스 소프트웨어 정의 WAN 솔루션을 사용하여 원격 지사를 상호 연결하기 위해 NCC를 활용
- 오픈소스 소프트웨어 정의 WAN 솔루션 실습 경험
필요한 항목
- GCP VPC 네트워크에 관한 지식
- Cloud Router 및 BGP 라우팅에 관한 지식
- Codelab에는 VPC 6개가 필요합니다. 할당량:네트워크를 확인하고 필요한 경우 추가 네트워크를 요청합니다(아래 스크린샷 참고).
2. 목표
- GCP 환경 설정
- GCP에 FlexiWAN Edge 인스턴스 배포
- NCC 허브 및 flexiWAN Edge NVA를 스포크로 설정
- flexiManage를 사용하여 flexiWAN 인스턴스 구성 및 관리
- vpc-app-svcs와 flexiWAN NVA 간의 BGP 경로 교환 구성
- 고객 원격 지점 또는 데이터 센터를 시뮬레이션하는 원격 사이트 만들기
- 원격 사이트와 NVA 사이에 IPSEC 터널 설정
- 어플라이언스가 성공적으로 배포되었는지 확인
- 사이트에서 클라우드 간 데이터 전송 검증
- 사이트 간 데이터 전송 확인
- 사용된 리소스 삭제
이 튜토리얼에서는 무료 flexiManage 계정 을 만들어 FlexiEdge 인스턴스를 인증, 온보딩, 관리해야 합니다.
시작하기 전에
Google Cloud 콘솔 및 Cloud Shell 사용
이 실습에서는 Google Cloud 콘솔과 Cloud Shell을 모두 사용하여 GCP와 상호작용하겠습니다.
Google Cloud Console
https://console.cloud.google.com에서 Cloud 콘솔에 액세스할 수 있습니다.
Network Connectivity Center를 더 쉽게 구성할 수 있도록 Google Cloud에서 다음 항목을 설정하세요.
Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
Cloud Shell을 실행합니다. 이 Codelab에서는 $variables를 사용하여 Cloud Shell에서 gcloud 구성을 구현하는 데 도움을 줍니다.
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.sracks |
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 Cloud 네트워크 환경 시뮬레이션
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
- 다음을 허용하는 허브-VPC 방화벽 규칙을 만듭니다.
- SSH
- ESP, UDP/500, UDP/4500
- 내부 10.0.0.0/8 범위 (Cloud Router에서 라우터 어플라이언스로의 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
- 다음을 허용하는 워크로드-VPC 방화벽 규칙을 만듭니다.
- SSH
- 내부 192.168.0.0/16 범위 (Cloud Router에서 라우터 어플라이언스로의 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
- Cloud Router 및 NAT 게이트웨이를 만들어 Workloads 1-vm이 패키지를 다운로드할 수 있도록 워크로드 VPC에서 Cloud NAT를 사용 설정합니다.
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 콘솔에서 관리하는 flexiWAN NVA의 프로비저닝을 완료하는 데 필요합니다. 진행하기 전에 flexiWAN 조직이 설정되어 있는지 확인하세요.
flexiManage 계정에 로그인하여 보안 토큰을 사용하여 flexiManage로 새로 배포된 flexiWAN NVA를 인증합니다. 모든 라우터 어플라이언스에서 동일한 토큰을 재사용할 수 있습니다.
인벤토리 → 토큰을 선택하고 토큰을 만든 다음 사본 선택
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 콘솔에서 사이트 라우터 활성화
flexiManage 콘솔에 로그인하여 컨트롤러에서 site1-nva를 활성화합니다.
왼쪽 패널에서 인벤토리 → 기기 선택에서 '알 수 없음' 기기를 클릭합니다.
site1-nva의 호스트 이름을 입력하고 다이얼을 오른쪽으로 밀어 기기를 승인합니다.
인터페이스 탭을 선택합니다.
'Assigned'를 찾습니다. 열을 선택하고 '아니요'를 클릭합니다. '예'로 설정을 변경합니다.
방화벽 탭을 선택하고 + 기호를 클릭하여 인바운드 방화벽 규칙을 추가합니다.
아래에 설명된 대로 WAN 인터페이스를 선택하여 SSH 규칙을 적용하세요.
'기기 업데이트'를 클릭합니다.
FlexiWAN 컨트롤러에서 site1-nva를 시작합니다. 인벤토리 → 기기 → site1-nva로 돌아가 'Start Device'를 선택합니다.
상태 - 동기화 중
상태 - 동기화됨
경고 표시기는 문제 해결 → 알림 아래에 있습니다. 읽은 후 모두 선택한 후 읽음으로 표시
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 콘솔에서 관리하는 flexiWAN NVA의 프로비저닝을 완료하는 데 필요합니다. 진행하기 전에 flexiWAN 조직이 설정되어 있는지 확인하세요.
flexiManage 계정에 로그인하여 보안 토큰을 사용하여 flexiManage로 새로 배포된 flexiWAN NVA를 인증합니다. 모든 라우터 어플라이언스에서 동일한 토큰을 재사용할 수 있습니다.
인벤토리 → 토큰을 선택하고 토큰을 만듭니다. 복사 선택
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 콘솔에서 사이트 라우터 활성화
flexiManage 콘솔에 로그인하여 컨트롤러에서 site2-nva를 활성화합니다.
왼쪽 패널에서 인벤토리 → 기기 선택에서 '알 수 없음' 기기를 클릭합니다.
site2-nva의 호스트 이름을 입력하고 다이얼을 오른쪽으로 밀어 기기를 승인합니다.
인터페이스 탭을 선택합니다.
'Assigned'를 찾습니다. 열을 선택하고 '아니요'를 클릭합니다. '예'로 설정을 변경합니다.
방화벽 탭을 선택하고 + 기호를 클릭하여 인바운드 방화벽 규칙을 추가합니다. 아래에 설명된 대로 WAN 인터페이스를 선택하여 SSH 규칙을 적용하세요.
'기기 업데이트'를 클릭합니다.
FlexiWAN 컨트롤러에서 site2-nva를 시작합니다. 인벤토리 → 기기 → site2-nva로 돌아가 'Start Device'를 선택합니다.
Satus - 동기화
상태 - 동기화됨
경고 표시기는 문제 해결 → 알림 아래에 있습니다. 읽은 후 모두 선택한 후 읽음으로 표시
9. 허브 SDWAN 어플라이언스 설정
다음 섹션에서는 이전에 사이트 경로를 사용하여 실행한 것처럼 허브 라우터 (hub-r1 및 Hub-r2)를 flexiWAN 컨트롤러에 만들고 등록합니다.
새 탭을 열고 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 계정에 로그인하여 보안 토큰을 사용하여 flexiManage로 새로 배포된 flexiWAN NVA를 인증합니다.
- 인벤토리 → 토큰을 선택하고 토큰을 복사합니다.
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 계정에 로그인하여 보안 토큰을 사용하여 flexiManage로 새로 배포된 flexiWAN NVA를 인증합니다.
- 인벤토리 → 토큰을 선택하고 토큰을 복사합니다.
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 콘솔에서 허브 라우터 Hub-r1 활성화
flexiManage 콘솔에 로그인
- 인벤토리 → 기기로 이동합니다.
- hub-r1과 hub-r2의 호스트 이름이 모두 '알 수 없음'임을 찾아서 메모합니다.
HostName이 hub-r1인 알 수 없는 기기를 선택합니다.
- hub-r1의 호스트 이름을 입력합니다.
- 기기를 승인하고 다이얼을 오른쪽으로 슬라이드합니다.
인터페이스 탭을 선택합니다.
- '할당됨' 열을 찾습니다.
- 인터페이스 행 옆에 있는 '아니요'를 클릭하여 설정을 '예'로 변경합니다.
방화벽 탭을 선택합니다.
- '+'를 클릭합니다. 수신 방화벽 규칙 추가
- 규칙을 상속할 WAN 인터페이스를 선택하세요.
- TCP 프로토콜로 SSH 포트 22 허용
- '기기 업데이트'를 클릭합니다.
FlexiWAN의 컨트롤러에서 SD-WAN용 hub-r1 어플라이언스를 시작합니다.
- 인벤토리 → 기기 → Hub-r1로 돌아갑니다.
'Start Device'를 선택합니다.
- 동기화가 완료될 때까지 기다린 후 'running' 상태
FlexiManage 콘솔에서 허브 라우터 Hub-r2 활성화
HostName이 hub-r2인 알 수 없는 기기를 선택합니다.
- hub-r2의 호스트 이름을 입력합니다.
- 기기를 승인하고 다이얼을 오른쪽으로 슬라이드합니다.
인터페이스 탭을 선택합니다.
- '할당됨' 열을 찾습니다.
- 인터페이스 행 옆에 있는 '아니요'를 클릭하여 설정을 '예'로 변경합니다.
방화벽 탭을 선택합니다.
- '+'를 클릭합니다. 수신 방화벽 규칙 추가
- 규칙을 상속할 WAN 인터페이스를 선택하세요.
- TCP 프로토콜로 SSH 포트 22 허용
- 규칙 추가를 클릭합니다.
- '기기 업데이트'를 클릭합니다.
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 스포크로 구성하면 Cloud 라우터가 가상 인터페이스에서 BGP를 협상할 수 있습니다.
BGP 메시지를 Hub-r1과 교환할 두 개의 인터페이스를 Cloud Router에 만듭니다.
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
Hub-r1의 vNIC-1로 BGP를 설정하도록 Cloud Router 인터페이스를 구성하고, Hub-r1의 IP 주소로 피어링 IP 주소 업데이트 networkIP
int0 & 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
Codelab의 이 시점에서 BGP 상태를 확인합니다. 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
BGP 메시지를 Hub-r2와 교환할 Cloud Router에 인터페이스 쌍을 만듭니다. 워크로드 서브넷 및 필요에 따라 변경할 수 있습니다.
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 인터페이스를 구성하고, Hub-r1의 IP 주소로 피어링 IP 주소 업데이트 networkIP
int0 & 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
Codelab의 이 시점에서 BGP 상태를 확인합니다. BGP는 '연결 상태'입니다. 네트워크 라우터 어플라이언스가 BGP용으로 구성되지 않았기 때문입니다.
gcloud compute routers get-status wrk-cr2 --region=us-east4
15. BGP용 허브 라우터 어플라이언스 구성
BGP용 Hub-r1 구성
flexiManage 콘솔에 로그인해야 합니다.
인벤토리 → 기기 → hub-r1로 이동한 다음 HostName:hub-r1인 기기를 선택합니다.
- '라우팅' 탭을 클릭합니다.
- 'BGP 구성'을 클릭합니다.
- 'OSPF 경로 재분배'를 사용 중지합니다.
- 다음 매개변수를 사용하여 BGP용 hub-r1을 구성하고 '저장'을 클릭합니다.
'Interfaces'를 선택합니다. 탭에서 LAN 인터페이스를 찾은 다음 '라우팅' 열을 찾습니다.
- '없음'을 클릭합니다. BGP를 라우팅 프로토콜로 선택하는 메뉴를 엽니다.
- 페이지 상단에서 '기기 업데이트'를 클릭합니다.
BGP용 Hub-r2 구성
flexiManage 콘솔에 로그인해야 합니다.
인벤토리 → 기기 → hub-r2로 이동한 후 HostName:hub-r2인 기기를 선택합니다.
- '라우팅' 탭을 클릭합니다.
- 'BGP 구성'을 클릭합니다.
- 'OSPF 경로 재분배'를 사용 중지합니다.
- 이러한 매개변수를 사용하여 BGP용 hub-r2를 구성하고 '저장'을 클릭합니다.
'Interfaces'를 선택합니다. 탭에서 LAN 인터페이스를 찾아서 '라우팅' 열을 찾습니다.
- '없음'을 클릭합니다. 드롭다운 메뉴를 열어 BGP를 라우팅 프로토콜로 선택합니다.
- 페이지 상단에서 '기기 업데이트'를 클릭합니다.
'라우트'를 선택합니다. Tab 키
- Hub-r2가 wrk-cr2에서 BGP 경로를 학습했는지 확인
16. 라우터 어플라이언스 간 BGP 경로 교환
원격 사이트를 위한 로컬 ASN 설정
site1-nva 및 site2-nva에 로컬 BGP ASN을 구성합니다. 구성이 완료되면 Google에서 원격 사이트와 허브 라우터 간에 IPSEC 터널을 설정합니다.
HostName:site1-nva인 기기를 선택합니다.
- '라우팅' 탭을 클릭합니다.
- 'BGP 구성'을 클릭합니다.
- 'OSPF 경로 재분배'를 사용 중지합니다.
- BGP 사용 설정됨
- 로컬 ASN 7269 → 저장
- 기기 업데이트
- 인터페이스 탭 → LAN → 라우팅 → BGP
- 기기 업데이트
HostName:site2-nva인 기기를 선택합니다.
- '라우팅' 탭을 클릭합니다.
- 'BGP 구성'을 클릭합니다.
- 'OSPF 경로 재분배'를 사용 중지합니다.
- BGP 사용 설정됨
- 로컬 ASN 7270 → 저장
- 기기 업데이트
- 인터페이스 탭 → LAN → 라우팅 → BGP
- 기기 업데이트
사이트 및 허브 어플라이언스 간 VPN 터널 구성
flexiManage 콘솔에 로그인해야 합니다.
- 인벤토리 → 기기로 이동합니다.
- 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 사이의 데이터 경로 확인
사이트에서 클라우드로의 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
Cloud Shell에서 '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' 명령어를 사용하여 Workloads 1-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
Cloud Shell에서 '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
's1-vm' 및 'ping'에 SSH로 연결 '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 통합 구성
다음 단계
©Google, LLC 또는 그 계열사. All rights reserved. 배포 금지.