실습: SD-WAN 어플라이언스를 사용한 NCC 사이트 클라우드

1. 소개

개요

이 실습에서는 Network Connectivity Center의 몇 가지 기능을 살펴봅니다.

Network Connectivity Center (NCC)는 Google Cloud의 네트워크 연결 관리를 위한 허브 및 스포크 제어 영역 모델입니다. 허브 리소스는 스포크를 연결하기 위한 중앙 집중식 연결 관리 모델을 제공합니다. NCC는 현재 다음과 같은 네트워크 리소스를 스포크로 지원합니다.

  • VLAN 연결
  • 라우터 어플라이언스
  • HA VPN

Codelabs에서는 WAN 배포 및 관리를 간소화하는 FlexiWAN SaaS SD-WAN 솔루션을 사용해야 합니다.

빌드할 항목

이 Codelab에서는 허브 및 스포크 SD-WAN 토폴로지를 빌드하여 사이트 간 통신을 위해 Google의 백본 네트워크를 통과하는 원격 브랜치 사이트를 시뮬레이션합니다.

  1. GCP에 대한 인바운드 및 아웃바운드 트래픽의 헤드엔드를 나타내는 flexiWAN SD-WAN 에이전트용으로 구성된 한 쌍의 GCE VM을 허브 VPC에 배포합니다.
  2. 두 개의 원격 FlexiWAN SD-WAN 라우터를 서로 다른 두 개의 지사 사이트 VPC를 나타냅니다.
  3. 데이터 경로 테스트를 위해 GCE VM 3개를 구성하여 온프렘 클라이언트와 GCP에서 호스팅되는 서버를 시뮬레이션합니다.

2669f7a724db9d89.png

학습할 내용

  • 오픈소스 소프트웨어 정의 WAN 솔루션을 사용하여 원격 지사를 상호 연결하기 위해 NCC를 활용
  • 오픈소스 소프트웨어 정의 WAN 솔루션 실습 경험

필요한 항목

  • GCP VPC 네트워크에 관한 지식
  • Cloud Router 및 BGP 라우팅에 관한 지식

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.networkUsernetworkconnectivity.networkViewer

네트워크 사용자가 허브 및 스포크의 다양한 속성을 볼 수 있습니다.

networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList

3. 네트워크 실험실 환경 설정

개요

이 섹션에서는 VPC 네트워크 및 방화벽 규칙을 배포합니다.

a716849cffa67d48.png

온프렘 브랜치 사이트 네트워크 시뮬레이션

이 VPC 네트워크에는 온프레미스 VM 인스턴스의 서브넷이 포함됩니다.

온프레미스 사이트 네트워크와 서브넷을 만듭니다.

gcloud compute networks create site1-vpc \
--subnet-mode custom

gcloud compute networks create s1-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 s1-inside-subnet \
--network s1-inside-vpc \
--range 10.10.1.0/24 \
--region us-central1

다음을 허용하는 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

다음을 허용하도록 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

테스트를 위해 s1-inside-vms2-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

GCP Cloud 네트워크 환경 시뮬레이션

hub-vpc 네트워크 및 스포크를 통해 리전 간 사이트 간 트래픽을 사용 설정하려면 hub-vpc 네트워크에서 전역 라우팅을 사용 설정해야 합니다. NCC 경로 교환에서 자세히 알아보세요.

  1. 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
  1. 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
  1. 다음을 허용하는 허브-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
  1. 다음을 허용하는 워크로드-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 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
  1. 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
  1. 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용 온프렘 어플라이언스 설정

80061623e9950756.png

SDWAN (어플라이언스)용 온프렘 VM 만들기

다음 섹션에서는 온프레미스 라우터 역할을 하는 site1-nva를 만듭니다.

인스턴스 만들기

이름이 site1-nvasite1-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

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 명령어를 실행하여 flexiWAN 작업을 위한 VM을 준비합니다. 이 명령어는 시스템 요구사항을 확인하고 시스템의 구성 오류를 수정하는 데 도움이 됩니다.

  • 빠른 자동 구성을 위해 옵션 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를 인증합니다. 모든 라우터 어플라이언스에서 동일한 토큰을 재사용할 수 있습니다.

인벤토리 → 토큰을 선택하고 토큰을 만든 다음 사본 선택

12c173b589d220ee.png

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

22e1cf5bad3d3086.png

FlexiManage 콘솔에서 사이트 라우터 활성화

flexiManage 콘솔에 로그인하여 컨트롤러에서 site1-nva를 활성화합니다.

왼쪽 패널에서 인벤토리 → 기기 선택에서 '알 수 없음' 기기를 클릭합니다.

f7719c28f78e907a.png

site1-nva의 호스트 이름을 입력하고 다이얼을 오른쪽으로 밀어 기기를 승인합니다.

9a6c6c45e1cad732.png

인터페이스 탭을 선택합니다.

'Assigned'를 찾습니다. 열을 선택하고 '아니요'를 클릭합니다. ''로 설정을 변경합니다.

a8772059968af13e.png

방화벽 탭을 선택하고 + 기호를 클릭하여 인바운드 방화벽 규칙을 추가합니다.

아래에 설명된 대로 WAN 인터페이스를 선택하여 SSH 규칙을 적용하세요.

df03b8a6c817ccd2.png

'기기 업데이트'를 클릭합니다.

96b9feb77b8517cd.png

FlexiWAN 컨트롤러에서 site1-nva를 시작합니다. 인벤토리 → 기기 → site1-nva로 돌아가 'Start Device'를 선택합니다.

708215cf91ffc09.png

상태 - 동기화 중

918d72eeacc386fa.png

상태 - 동기화됨

5135096dbff49819.png

경고 표시기는 문제 해결 → 알림 아래에 있습니다. 읽은 후 모두 선택한 후 읽음으로 표시

9e79db3572f91925.png

7. 허브 SDWAN 어플라이언스 설정

다음 섹션에서는 이전에 사이트 경로를 사용하여 실행한 것처럼 FlexiWAN 컨트롤러로 허브 라우터 (hub-r1)를 만들고 등록합니다.

새 탭을 열고 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

8. 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 명령어를 실행하여 FlexiWAN 작업을 위해 VM을 준비합니다. 이 명령어는 시스템 요구사항을 확인하고 시스템의 구성 오류를 수정하는 데 도움이 됩니다.

root@hub-r1:/home/user# fwsystem_checker
  • 빠른 자동 구성을 위해 옵션 2 선택
  • 0으로 나중에 종료합니다.
  • Cloud Shell 창을 닫지 마세요.

9. FlexManage 컨트롤러에 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

FlexiManage 콘솔에서 허브 라우터 Hub-r1 활성화

flexiManage 콘솔에 로그인

  • 인벤토리 → 기기로 이동합니다.
  • hub-r1의 호스트 이름이 'unknown'인지 찾아 메모합니다.

1a88ffa4409ad3c0.png

HostName이 hub-r1인 알 수 없는 기기를 선택합니다.

  • hub-r1의 호스트 이름을 입력합니다.
  • 기기를 승인하고 다이얼을 오른쪽으로 슬라이드합니다.

인터페이스 탭을 선택합니다.

  • '할당됨' 열을 찾습니다.
  • 인터페이스 행 옆에 있는 '아니요'를 클릭하여 설정을 '예'로 변경합니다.

방화벽 탭을 선택합니다.

  • '+'를 클릭합니다. 수신 방화벽 규칙 추가
  • 규칙을 상속할 WAN 인터페이스를 선택하세요.
  • TCP 프로토콜로 SSH 포트 22 허용
  • '기기 업데이트'를 클릭합니다.

FlexiWAN의 컨트롤러에서 SD-WAN용 hub-r1 어플라이언스를 시작합니다.

  • 인벤토리 → 기기 → Hub-r1로 돌아갑니다.

'Start Device'를 선택합니다.

  • 동기화가 완료될 때까지 기다린 후 'running' 상태

10. GCP Hub의 Network Connectivity Center

a5a454f4a30df82e.png

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의 URI 및 IP 주소를 찾고 출력을 기록해 둡니다. 이 정보는 다음 단계에서 필요합니다.

Hub-r1 인스턴스의 IP 주소를 기록해 둡니다.

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"

Hub-r1의 vnic networkIP을 스포크로 추가합니다. 기본적으로 사이트 간 데이터 전송은 사용 중지되어 있습니다.

gcloud network-connectivity spokes linked-router-appliances create s2c-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-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

라우터 어플라이언스를 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 networkIP의 IP 주소로 피어링 IP 주소를 업데이트합니다. 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

11. BGP용 허브 라우터 어플라이언스 구성

BGP용 Hub-r1 구성

flexiManage 콘솔에 로그인해야 합니다.

인벤토리기기hub-r1로 이동한 다음 HostName:hub-r1인 기기를 선택합니다.

  • '라우팅' 탭을 클릭합니다.
  • 'BGP 구성'을 클릭합니다.
  • 'OSPF 경로 재분배'를 사용 중지합니다.
  • 다음 매개변수를 사용하여 BGP용 hub-r1을 구성하고 '저장'을 클릭합니다.

8d470056f620717f.png

'Interfaces'를 선택합니다. 탭에서 LAN 인터페이스를 찾은 다음 '라우팅' 열을 찾습니다.

  • '없음'을 클릭합니다. BGP를 라우팅 프로토콜로 선택하는 메뉴를 엽니다.

82310aab05e9e414.png

  • 페이지 상단에서 '기기 업데이트'를 클릭합니다.

12. 라우터 어플라이언스 간 BGP 경로 교환

원격 사이트를 위한 로컬 ASN 설정

site1-nva에 로컬 BGP ASN을 구성합니다. 구성이 완료되면 Google에서 원격 사이트와 허브 라우터 간에 IPSEC 터널을 설정합니다.

HostName:site1-nva인 기기를 선택합니다.

  • '라우팅' 탭을 클릭합니다.
  • 'BGP 구성'을 클릭합니다.
  • 'OSPF 경로 재분배'를 사용 중지합니다.
  • 로컬 ASN 7269 → 저장
  • 기기 업데이트
  • 인터페이스 탭 → 라우팅 → BGP
  • 기기 업데이트

Site1 어플라이언스와 Hub1 어플라이언스 간에 VPN 터널 구성

flexiManage 콘솔에 로그인해야 합니다.

  • 인벤토리 → 기기로 이동합니다.
  • site1-nvahub-r1의 호스트 이름 옆에 있는 체크박스를 선택하여 이 NVA 쌍 사이에 VPN 터널을 빌드합니다.
  • 작업→ 터널 만들기를 클릭하고 다음을 구성합니다.

d870b4049a0e7fcf.png

c50d794442c0bdd0.png

  • 터널 만들기를 선택합니다.

'site1-nva'가 올바른지 확인합니다. 서브넷 192.168.235.0/24 및 192.168.236.0/24에 대한 학습된 경로

  • 인벤토리 → 기기 → site1-nva를 선택하고 '라우팅' 탭을 클릭합니다.

아래 출력 예시에서 flexiWAN이 호스트 IP 주소 10.100.0.6 cef8dee200ac600a.png을 사용하여 터널을 자동으로 만들었습니다.

13. 데이터 경로 연결 확인

온프렘에서 사이트와 클라우드 간 연결 확인

다이어그램에서 s1-vmworkload1-vm 사이의 데이터 경로 확인

e96022cff4642fc9.png

사이트에서 클라우드로의 VPC 정적 경로 구성

온프레미스 Site1-VPC는 온프레미스 데이터 센터 네트워크를 시뮬레이션합니다.

두 Site-1-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

Cloud Shell에서 workload1-vmnee의 IP 주소를 조회합니다. 's1-vm'에서 연결을 테스트하려면 필요합니다.

gcloud compute instances describe workload1-vm --zone=us-central1-a | grep "networkIP"

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

14. 삭제

온프렘 리소스 삭제

Cloud Shell에 로그인하고 허브 및 지사 사이트 네트워크에서 VM 인스턴스를 삭제합니다.

#onprem instances
gcloud compute instances delete s1-vm --zone=us-central1-a --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


#delete on prem subnets
gcloud compute networks subnets delete site1-subnet --quiet
gcloud compute networks subnets delete s1-inside-subnet --quiet
gcloud compute networks subnets delete s1-inside-subnet --quiet


#delete on prem vpcs
gcloud compute networks delete site1-vpc --quiet
gcloud compute networks delete s1-inside-vpc --quiet

Cloud Hub 리소스 삭제

Cloud Shell에 로그인하고 허브 및 지사 사이트 네트워크에서 VM 인스턴스를 삭제합니다.

#delete ncc spokes
gcloud network-connectivity spokes delete s2c-wrk-cr1 --region us-central1 --quiet

#delete ncc hub
gcloud network-connectivity hubs delete ncc-hub --quiet


#delete hub instances
gcloud compute instances delete hub-r1 --zone=us-central1-a --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 create workload-ssh --quiet
gcloud compute firewall-rules create workload-internal --quiet
gcloud compute firewall-rules create workload-onprem --quiet
gcloud compute firewall-rules create workload-iap --quiet

#delete hub subnets
gcloud compute networks subnets delete workload-subnet1 --quiet

gcloud compute networks subnets delete hub-subnet1 --quiet

#delete hub vpcs
gcloud compute networks delete workload-vpc --quiet
gcloud compute networks delete hub-vpc --quiet

15. 축하합니다.

Network Connectivity Center 실습을 완료했습니다.

학습한 내용

  • NCC 사이트와 클라우드로의 소프트웨어 정의 WAN 통합 구성

다음 단계

©Google, LLC 또는 그 계열사. All rights reserved. 배포 금지.