VPN 스포크를 사용하여 두 사이트 연결

이 튜토리얼에서는 Network Connectivity Center 허브와 Cloud VPN 스포크를 사용하여 두 지사 간에 데이터 전송을 설정하는 방법을 설명합니다.

허브 및 스포크 만들기에 대한 자세한 내용은 허브 및 스포크 작업을 참조하세요.

시작하기 전에

시작하기 전에 다음 섹션을 검토하세요.

프로젝트 생성 또는 선택

Network Connectivity Center를 더 쉽게 구성하려면 먼저 유효한 프로젝트를 식별합니다.

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. Google Cloud CLI를 설치합니다.
  5. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init
  6. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  7. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  8. Google Cloud CLI를 설치합니다.
  9. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init
  1. Google Cloud CLI를 사용하는 경우 gcloud config set 명령어를 사용하여 프로젝트 ID를 설정합니다.

    gcloud config set project PROJECT_ID

    PROJECT_ID를 고유한 프로젝트 ID로 바꿉니다.

    이 페이지의 gcloud CLI 안내에서는 프로젝트 ID를 설정했다고 가정합니다.

  1. 프로젝트 ID를 올바르게 설정했는지 확인하려면 gcloud config list 명령어를 사용합니다.

    gcloud config list --format='text(core.project)'

리소스 식별 규칙

gcloud CLI 또는 API를 사용하여 리소스를 참조하는 경우 다음 표에 설명된 규칙을 따릅니다.

컨벤션 지원 참고
전체 URI 모든 리소스 라우터 어플라이언스 인스턴스를 참조하려면 이 방법 중 하나를 사용해야 합니다.

"https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"

      
상대적 리소스 이름 모든 리소스

"projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"

    
이름 리전 및 전역 리소스 이 방법은 허브, 스포크, VPN 터널, VLAN 연결에 사용될 수 있습니다.

 "HUB_NAME"

    

샘플 토폴로지

다음 다이어그램은 이 튜토리얼에 사용된 샘플 리소스를 설명합니다.

Network Connectivity Center의 토폴로지 튜토리얼
Network Connectivity Center의 토폴로지 튜토리얼(확대하려면 클릭)


데이터 전송 연결 구성

데이터 전송 연결을 설정하려면 다음 단계를 따르세요.

  1. Virtual Private Cloud(VPC) 네트워크, HA VPN 게이트웨이 및 터널, Cloud Router와 같은 Google Cloud 리소스를 만듭니다.
  2. 허브를 만듭니다.
  3. 첫 번째 지사 및 두 번째 지사의 스포크를 정의합니다. 각 스포크는 VPN 터널을 기본 리소스로 사용해야 합니다.
  4. 구성을 확인합니다.

Google Cloud 리소스 만들기

이 튜토리얼에서는 다음 Google Cloud 리소스를 이미 만들었다고 가정합니다.

  • 동적 라우팅 모드global로 설정된 VPC 네트워크
  • Office1과 가장 가까운 리전에서 서브넷, HA VPN 게이트웨이, Cloud Router, 게이트웨이 인터페이스를 Office1에 연결하는 터널
  • Office2와 가장 가까운 리전에서 서브넷, HA VPN 게이트웨이, Cloud Router, 게이트웨이 인터페이스를 Office2에 연결하는 터널

위 리소스를 만들어야 하는 경우 다음 문서를 참조하세요.

기존 Google Cloud 리소스를 식별하거나 새 리소스를 만든 후 다음 섹션을 진행합니다.

허브 만들기

먼저 허브를 만듭니다. 나중에 이 허브에 스포크를 연결합니다.

콘솔

  1. Google Cloud 콘솔에서 Network Connectivity Center 페이지로 이동합니다.

    Network Connectivity Center로 이동

  2. 프로젝트 풀다운 메뉴에서 프로젝트를 선택합니다. 예시 다이어그램에서 프로젝트는 my-project입니다.

  3. 허브 이름(이 경우 my-hub)을 입력합니다.

  4. 선택사항으로 목록에 대한 설명을 입력합니다.

  5. 프로젝트 ID를 확인합니다. 프로젝트 ID가 잘못되었으면 화면 위쪽에 있는 풀다운 메뉴를 사용하여 다른 프로젝트를 선택합니다.

  6. 계속을 클릭합니다.

  7. 허브에 Office1 스포크를 추가하려면 계속해서 Office 1용 스포크 만들기를 진행하세요.

gcloud

허브를 만들려면 gcloud network-connectivity hubs create 명령어를 사용합니다.

  gcloud network-connectivity hubs create HUB_NAME \
     --description="DESCRIPTION" \
     --labels="KEY"="VALUE"

다음 값을 바꿉니다.

  • HUB_NAME: 새 허브의 이름(이 경우에는 my-hub)
  • DESCRIPTION: 허브를 설명하는 텍스트입니다(선택사항).
  • KEY: 선택적 라벨 텍스트의 키-값 쌍에 있는 키입니다.
  • VALUE: 선택적 라벨 텍스트의 키-값 쌍에 있는 값

허브에 Office1 스포크를 추가하려면 계속해서 Office 1용 스포크 만들기를 진행하세요.

API

허브를 만들려면 networkconnectivity.hubs.create 메서드를 사용합니다.

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs
  {
    "name":"HUB_NAME",
    "description":"DESCRIPTION",
    "labels": {
      "KEY": "VALUE"
    }
  }

다음 값을 바꿉니다.

  • PROJECT_ID: 새 허브가 포함된 프로젝트의 프로젝트 ID입니다(예: my-project).
  • HUB_NAME: 새 허브의 이름입니다(예: my-hub).
  • DESCRIPTION: 허브를 설명하는 텍스트입니다(선택사항).
  • KEY: 선택적 라벨 텍스트의 키-값 쌍에 있는 키입니다.
  • VALUE: 선택적 라벨 텍스트의 키-값 쌍에 있는 값

허브에 Office1 스포크를 추가하려면 계속해서 Office 1용 스포크 만들기를 진행하세요.

Office 1용 스포크 만들기

Office1용 스포크를 만듭니다. 2개의 HA VPN 터널을 스포크의 기본 리소스로 사용합니다. 각 터널은 사무실과 가장 가까운 리전의 HA VPN 게이트웨이에서 시작해야 합니다. 샘플 다이어그램에서 이러한 터널은 vpn-tunnel1-office1vpn-tunnel2-office1로 표현됩니다.

콘솔

다음 단계는 허브 만들기에서 계속됩니다. 허브 이름과 설명을 지정한 직후에 스포크를 만드는 방법을 설명합니다.

  1. 새 스포크 양식에서 스포크 유형 필드를 VPN 터널로 설정합니다.
  2. 스포크 이름(이 경우 office-1-spoke)을 입력합니다.
  3. 원하는 경우 스포크에 대한 설명을 입력합니다.
  4. 스포크의 리전을 선택합니다. 예시 다이어그램에서 스포크는 us-west1에 있습니다.
  5. 사이트 간 데이터 전송에서 설정을 선택합니다.
  6. 적절한 VPC 네트워크를 선택합니다. 예시 다이어그램에서 스포크는 network-a에 있습니다.
  7. VPN 터널을 선택합니다. 해당하는 경우 터널 추가를 클릭하여 다른 VPN 터널 필드를 추가합니다. 예시 다이어그램에서는 vpn-tunnel1-office1vpn-tunnel2-office1의 두 터널이 사용됩니다. 터널 추가를 마쳤으면 완료를 클릭합니다.
  8. 만들기를 클릭합니다.

Network Connectivity Center 페이지가 업데이트되어 생성한 스포크에 대한 세부정보가 표시됩니다. 허브에 Office2 스포크를 추가하려면 Office 2용 스포크를 만듭니다.

gcloud

스포크를 만들려면 gcloud network-connectivity spokes linked-vpn-tunnels create 명령어를 사용합니다.

  gcloud network-connectivity spokes linked-vpn-tunnels create SPOKE_NAME \
    --hub=HUB_NAME \
    --description="DESCRIPTION" \
    --vpn-tunnels=TUNNEL_NAME,TUNNEL_NAME_2 \
    --region=REGION \
    --labels="KEY"="VALUE" \
    --site-to-site-data-transfer

다음 값을 바꿉니다.

  • SPOKE_NAME: 스포크의 이름(이 경우에는 office-1-spoke)
  • HUB_NAME: 스포크를 연결하는 허브의 이름(이 경우 my-hub)
  • DESCRIPTION: 스포크를 설명하는 텍스트(선택사항)
  • TUNNEL_NAME: 첫 번째 HA VPN 터널의 이름(이 경우 vpn-tunnel1-office1)
  • TUNNEL_NAME_2: 중복 터널의 이름(이 경우에는 vpn-tunnel2-office1, 두 번째 터널을 포함할 경우 쉼표와 두 번째 터널 이름 사이에 공백을 사용하지 마세요.)
  • REGION: 스포크가 있는 Google Cloud 리전(이 경우에는 us-west1)
  • KEY: 선택적 라벨 텍스트의 키-값 쌍에 있는 키입니다.
  • VALUE: 선택적 라벨 텍스트의 키-값 쌍에 있는 값

허브에 Office2 스포크를 추가하려면 Office 2용 스포크를 만듭니다.

API

스포크를 만들려면 networkconnectivity.spokes.create 메서드를 사용합니다.

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME
  {
    "hub": "HUB_NAME",
    "labels": {"KEY": "VALUE"},
    "linkedVpnTunnels": {
      "uris: [
        "TUNNEL_NAME",
        "TUNNEL_NAME_2"
      ],
      "siteToSiteDataTransfer": true
    }
  }

다음 값을 바꿉니다.

  • PROJECT_ID: 프로젝트의 프로젝트 ID
  • REGION: 스포크를 찾을 Google Cloud 리전(이 경우 us-west1)
  • SPOKE_NAME: 스포크 이름입니다.
  • HUB_NAME: 스포크를 연결할 허브의 이름입니다.
  • KEY: 선택적 라벨 텍스트의 키-값 쌍에 있는 키입니다.
  • VALUE: 선택적 라벨 텍스트의 키-값 쌍에 있는 값
  • TUNNEL_NAME: 첫 번째 HA VPN 터널의 이름(이 경우 vpn-tunnel1-office1)
  • TUNNEL_NAME_2: 중복 터널의 이름(이 경우에는 vpn-tunnel2-office1, 두 번째 터널을 포함할 경우 쉼표와 두 번째 터널 이름 사이에 공백을 사용하지 마세요.)

Office 2용 스포크 만들기

Office2용 스포크를 만듭니다. 2개의 HA VPN 터널을 스포크의 기본 리소스로 사용합니다. 각 터널은 사무실과 가장 가까운 리전의 HA VPN 게이트웨이에서 시작해야 합니다. 샘플 다이어그램에서 이러한 터널은 vpn-tunnel1-office2vpn-tunnel2-office2로 표현됩니다.

콘솔

두 번째 스포크를 만들려면 다음을 수행합니다.

  1. Network Connectivity Center 페이지로 이동합니다.

    Network Connectivity Center로 이동

  2. 프로젝트 풀다운 메뉴에서 프로젝트를 선택합니다. 예시 다이어그램에서 프로젝트는 my-project입니다.

  3. 스포크 탭을 클릭합니다.

  4. 스포크 추가를 클릭하여 스포크 추가 페이지를 엽니다.

  5. 새 스포크 양식에서 스포크 유형 필드를 VPN 터널로 설정합니다.

  6. 스포크 이름(이 경우 office-2-spoke)을 입력합니다.

  7. 원하는 경우 스포크에 대한 설명을 입력합니다.

  8. 스포크의 리전을 선택합니다. 예시 다이어그램에서 스포크는 us-east1에 있습니다.

  9. 사이트 간 데이터 전송에서 설정을 선택합니다.

  10. VPC 네트워크 필드가 생성된 마지막 스포크와 동일한 네트워크로 설정되었는지 확인합니다. 예시 다이어그램에서는 network-a입니다.

  11. VPN 터널을 선택합니다. 해당하는 경우 터널 추가를 클릭하여 다른 VPN 터널 필드를 추가합니다. 예시 다이어그램에서는 vpn-tunnel1-office2vpn-tunnel2-office2의 두 터널이 사용됩니다. 터널 추가를 마쳤으면 완료를 클릭합니다.

  12. 만들기를 클릭합니다.

gcloud

스포크를 만들려면 gcloud network-connectivity spokes linked-vpn-tunnels create 명령어를 사용합니다.

  gcloud network-connectivity spokes linked-vpn-tunnels create SPOKE_NAME \
    --hub=HUB_NAME \
    --description="DESCRIPTION" \
    --vpn-tunnels=TUNNEL_NAME,TUNNEL_NAME_2 \
    --region=REGION \
    --labels="KEY"="VALUE" \
    --site-to-site-data-transfer

다음 값을 바꿉니다.

  • SPOKE_NAME: 스포크의 이름(이 경우에는 office-2-spoke)
  • HUB_NAME: 스포크를 연결하는 허브의 이름(이 경우 my-hub)
  • DESCRIPTION: 스포크를 설명하는 텍스트(선택사항)
  • TUNNEL_NAME: 첫 번째 HA VPN 터널의 이름(이 경우 vpn-tunnel1-office2)
  • TUNNEL_NAME_2: 중복 터널의 이름(이 경우에는 vpn-tunnel2-office2, 두 번째 터널을 포함할 경우 쉼표와 두 번째 터널 이름 사이에 공백을 사용하지 마세요.)
  • REGION: 스포크가 있는 Google Cloud 리전(이 경우에는 us-east1)
  • KEY: 선택적 라벨 텍스트의 키-값 쌍에 있는 키입니다.
  • VALUE: 선택적 라벨 텍스트의 키-값 쌍에 있는 값

    허브에 Office2 스포크를 추가하려면 Office 2용 스포크를 만듭니다.

API

스포크를 만들려면 networkconnectivity.spokes.create 메서드를 사용합니다.

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME
  {
    "hub": "HUB_NAME",
    "labels": {"KEY": "VALUE"},
    "linkedVpnTunnels": {
      "uris": [
        "TUNNEL_NAME",
        "TUNNEL_NAME_2"
      ],
      "siteToSiteDataTransfer": true
    }
  }

다음 값을 바꿉니다.

  • PROJECT_ID: 프로젝트의 프로젝트 ID
  • REGION: 스포크를 찾을 Google Cloud 리전(이 경우 us-east1)
  • SPOKE_NAME: 스포크 이름입니다.
  • HUB_NAME: 스포크를 연결할 허브의 이름입니다.
  • KEY: 선택적 라벨 텍스트의 키-값 쌍에 있는 키입니다.
  • VALUE: 선택적 라벨 텍스트의 키-값 쌍에 있는 값
  • TUNNEL_NAME: 첫 번째 HA VPN 터널의 이름(이 경우 vpn-tunnel1-office2)
  • TUNNEL_NAME_2: 중복 터널의 이름(이 경우에는 vpn-tunnel2-office2, 두 번째 터널을 포함할 경우 쉼표와 두 번째 터널 이름 사이에 공백을 사용하지 마세요.)

구성 확인

허브와 해당 스포크를 구성한 후에는 한 사무실의 가상 머신(VM) 인스턴스에서 다른 사무실의 VM 인스턴스로 트래픽을 전달할 수 있게 됩니다. 이렇게 하려면 각 VM이 해당 리전의 VPN 터널에 액세스할 수 있어야 합니다.

구성 정리

다음 섹션의 단계를 따라 샘플 구성을 정리합니다. 요금이 계속 청구되지 않도록 만든 리소스를 삭제합니다.

프로젝트 삭제

만든 프로젝트를 삭제하려면 다음 단계를 따르세요. 또는 다음 섹션의 설명대로 프로젝트를 유지하고 개별 리소스를 삭제할 수도 있습니다.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.

두 스포크 모두 삭제

허브를 삭제하려면 먼저 모든 스포크를 삭제해야 합니다.

콘솔

  1. Network Connectivity Center 페이지로 이동합니다.

    Network Connectivity Center로 이동

  2. 프로젝트 풀다운 메뉴에서 프로젝트를 선택합니다. 예시 다이어그램에서 프로젝트는 my-project입니다.

  3. 스포크 탭을 클릭합니다.

  4. 프로젝트의 스포크 이름 목록을 봅니다.

  5. 삭제하려는 스포크(이 경우 office-1-spokeoffice-2-spoke)의 체크박스를 선택합니다.

  6. 스포크 삭제를 클릭합니다.

  7. 확인 대화상자에서 삭제를 클릭합니다.

gcloud

스포크를 삭제하려면 gcloud network-connectivity spokes delete 명령어를 사용합니다. office-1-spoke를 삭제한 후 다시 office-2-spoke를 삭제하기 위해 명령어를 두 번 사용합니다.

  gcloud network-connectivity spokes delete SPOKE_NAME \
    --region=REGION

다음 값을 바꿉니다.

  • SPOKE_NAME: 삭제할 스포크의 이름(이 경우 office-1-spokeoffice-2-spoke).
  • REGION: 스포크가 있는 Google Cloud 리전

API

스포크를 삭제하려면 networkconnectivity.spokes.delete 메서드를 사용합니다. office-1-spoke를 삭제한 후 다시 office-2-spoke를 삭제하도록 이 메서드를 두 번 사용합니다.

  DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME

다음 값을 바꿉니다.

  • PROJECT_ID: 스포크가 포함된 프로젝트의 프로젝트 ID입니다. 예시 다이어그램에서 프로젝트는 my-project입니다.
  • REGION: 스포크가 있는 Google Cloud 리전
  • SPOKE_NAME: 삭제할 스포크의 이름(이 경우 office-1-spokeoffice-2-spoke).

허브 삭제

스포크를 삭제한 후 허브를 삭제할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 Network Connectivity Center 페이지로 이동합니다.

    Network Connectivity Center로 이동

  2. 프로젝트 풀다운 메뉴에서 프로젝트를 선택합니다. 예시 다이어그램에서 프로젝트는 my-project입니다.

  3. 허브 삭제를 클릭합니다.

  4. 확인 대화상자에서 삭제를 클릭하여 허브를 삭제합니다.

gcloud

허브를 삭제하려면 gcloud network-connectivity hubs delete 명령어를 사용합니다.

  gcloud network-connectivity hubs delete HUB_NAME /
    --project=PROJECT_ID

다음 값을 바꿉니다.

  • HUB_NAME: 삭제할 허브의 이름(이 경우 my-hub)
  • PROJECT_ID: 허브를 포함하는 프로젝트의 프로젝트 ID(예시 다이어그램의 프로젝트는 my-project)

API

허브를 삭제하려면 networkconnectivity.hubs.delete 메서드를 사용합니다.

  DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs/HUB_NAME

다음 값을 바꿉니다.

  • PROJECT_ID: 허브를 포함하는 프로젝트의 프로젝트 ID(예시 다이어그램의 프로젝트는 my-project)
  • HUB_NAME: 삭제할 허브의 이름입니다.

VPC 네트워크 및 서브넷 삭제

이 가이드에서 구성한 VPC 네트워크서브넷을 삭제합니다.

다음 단계