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

1. 소개

개요

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

Network Connectivity Center (NCC)는 Google Cloud의 네트워크 연결 관리를 위한 허브 및 스포크 컨트롤 플레인 모델입니다. 허브 리소스는 스포크를 연결하는 중앙 연결 관리 모델을 제공합니다. NCC는 현재 다음 네트워크 리소스를 스포크로 지원합니다.

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

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

빌드할 항목

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

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

2669f7a724db9d89.png

학습할 내용

  • NCC를 사용하여 오픈소스 소프트웨어 정의 WAN 솔루션으로 원격 지사 사무실을 상호 연결
  • 오픈소스 소프트웨어 정의 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 터널 설정
  • 어플라이언스가 배포되었는지 확인
  • 사이트에서 클라우드로의 데이터 전송 유효성 검사
  • 사용된 리소스 삭제

이 튜토리얼에서는 flexiEdge 인스턴스를 인증, 온보딩, 관리하기 위해 무료 flexiManage 계정 을 만들어야 합니다.

시작하기 전에

Google Cloud 콘솔 및 Cloud Shell 사용

GCP와 상호작용하기 위해 이 실습에서는 Google Cloud 콘솔과 Cloud Shell을 모두 사용합니다.

Google Cloud Console

Cloud 콘솔은 https://console.cloud.google.com에서 확인할 수 있습니다.

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.spokes.

networkconnectivity.networkSpokeManager

허브에서 스포크를 추가하고 관리할 수 있습니다. 호스트 프로젝트가 허브를 소유하지만 다른 프로젝트의 다른 관리자가 허브에 연결된 스포크를 추가할 수 있는 공유 VPC에서 사용합니다.

networkconnectivity.spokes.**

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 게이트웨이를 만들어 workload1-vm이 패키지를 다운로드할 수 있도록 workload-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-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

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 Console에서 관리되는 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 Console에서 사이트 라우터 활성화

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

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

f7719c28f78e907a.png

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

9a6c6c45e1cad732.png

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

'할당됨' 열을 찾아 '아니요'를 클릭하고 설정을 ''로 변경합니다.

a8772059968af13e.png

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

아래 설명에 따라 ssh 규칙을 적용할 WAN 인터페이스를 선택합니다.

df03b8a6c817ccd2.png

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

96b9feb77b8517cd.png

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

708215cf91ffc09.png

상태 - 동기화 중

918d72eeacc386fa.png

상태 - 동기화됨

5135096dbff49819.png

경고 표시기는 문제 해결 → 알림에서 확인할 수 있습니다. 확인한 후 모두 선택한 다음 읽음으로 표시

9e79db3572f91925.png

7. Setup Hub SDWAN 어플라이언스

다음 섹션에서는 이전에 사이트 경로로 실행한 것처럼 허브 라우터 (hub-r1)를 만들고 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

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 Console에 로그인

  • 인벤토리 → 기기로 이동합니다.
  • hub-r1의 호스트 이름이 '알 수 없음'인 것을 확인합니다.

1a88ffa4409ad3c0.png

호스트 이름이 hub-r1인 알 수 없는 기기를 선택합니다.

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

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

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

방화벽 탭을 선택합니다.

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

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

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

'기기 시작'을 선택합니다.

  • 동기화가 완료될 때까지 기다렸다가 '실행 중' 상태를 확인합니다.

10. GCP 허브의 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

Cloud Router를 구성하여 Hub-R1과 BGP를 설정합니다.

다음 단계에서 Cloud Router를 만들고 워크로드 VPC 서브넷 192.168.235.0/24를 공지합니다.

hub-r1과 BGP로 통신할 us-central1의 Cloud Router 만들기

gcloud compute routers create wrk-cr1 \
--region=us-central1 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets

라우터 어플라이언스를 NCC 스포크로 구성하면 클라우드 라우터가 가상 인터페이스에서 BGP를 협상할 수 있습니다.

클라우드 라우터에서 hub-r1과 BGP 메시지를 교환할 두 개의 인터페이스를 만듭니다.

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 인터페이스를 구성하고 peer-ip-address를 hub-r1 networkIP의 IP 주소로 업데이트합니다. int0 및 int1에 동일한 IP 주소가 사용됩니다.

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 상태를 확인합니다. 이 시점에서 코드 랩에서는 네트워크 라우터 어플라이언스가 BGP용으로 구성되지 않았으므로 BGP가 '연결 상태'입니다.

gcloud compute routers get-status wrk-cr1 --region=us-central1

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

BGP를 위해 hub-r1 구성

flexiManage Console에 로그인해야 합니다.

인벤토리기기hub-r1으로 이동하여 HostName:hub-r1이 있는 기기를 선택합니다.

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

8d470056f620717f.png

'Interfaces(인터페이스)' 탭을 선택하고 LAN 인터페이스를 찾은 다음 'Routing(라우팅)' 열을 찾습니다.

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

82310aab05e9e414.png

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

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

원격 사이트의 로컬 ASN 설정

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

HostName:site1-nva가 있는 기기를 선택합니다.

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

Site1 및 Hub1 어플라이언스 간의 VPN 터널 구성

flexiManage Console에 로그인해야 합니다.

  • 인벤토리 → 기기로 이동합니다.
  • 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 연결을 사용하여 허브 네트워크에 연결됩니다.

사이트 대 클라우드 사용 사례의 경우**,** 라우터 어플라이언스를 다음 홉으로 사용하여 192.168.0.0/16 대상에 대한 정적 경로를 만들어 GCP 클라우드 네트워크의 네트워크에 도달합니다.

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"

's1-vm'에 SSH로 연결하고 '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

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 or its affiliates. All rights reserved. 배포 금지.