하이브리드 서브넷 만들기

Hybrid Subnets는 IP 주소를 변경하지 않고도 워크로드를 온프레미스 서브넷에서 가상 프라이빗 클라우드(VPC) 서브넷으로 마이그레이션하는 데 도움이 됩니다. 이 문서에서는 하이브리드 서브넷을 만들고, 하이브리드 서브넷의 Google Cloud 부분으로 워크로드를 마이그레이션하고, 하이브리드 서브넷에서 연결을 테스트하는 단계를 설명합니다.

시작하기 전에

필요한 역할

하이브리드 서브넷을 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 네트워크 관리자(roles/compute.networkAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

하이브리드 서브넷 라우팅 구성

하이브리드 서브넷 라우팅을 구성하려면 다음 중 하나를 수행합니다.

  • 하이브리드 서브넷 라우팅이 사용 설정된 새 서브넷을 만듭니다.
  • 기존 서브넷에 대해 하이브리드 서브넷 라우팅을 사용 설정합니다.

하이브리드 서브넷 라우팅이 사용 설정된 새 서브넷 만들기

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크로 이동

  2. 하이브리드 서브넷을 만들려는 VPC 네트워크 이름을 클릭합니다.

  3. 서브넷 탭을 클릭합니다.

  4. 서브넷 추가를 클릭합니다. 표시되는 패널에서 다음을 설정합니다.

    1. 이름을 입력합니다.
    2. 리전을 선택합니다.
    3. 용도 섹션에서 없음을 선택합니다.
    4. 스택 유형 섹션에서 IPv4(단일 스택)을 선택합니다.
    5. IPv4 범위 필드에 하이브리드 서브넷에 사용하려는 온프레미스 네트워크의 세그먼트에 해당하는 IPv4 주소 범위를 입력합니다.
    6. 비공개 Google 액세스 섹션에서 사용 중지를 선택합니다.
    7. 하이브리드 서브넷 섹션에서 사용을 선택합니다.
    8. 추가를 클릭합니다.

기존 서브넷에 대해 하이브리드 서브넷 라우팅을 사용 설정합니다.

기본 IPv4 주소 범위가 하이브리드 서브넷에 사용하려는 온프레미스 네트워크의 세그먼트 범위와 일치하는 기존 서브넷에 대해 하이브리드 서브넷 라우팅을 사용 설정할 수 있습니다.

기존 서브넷에 대해 하이브리드 서브넷 라우팅을 사용 설정하려면 이 서브넷에 대해 CIDR 경로 중첩을 사용 설정합니다. 이렇게 하면 VPC 네트워크 라우팅 동작이 수정되어 서브넷의 IP 주소 범위와 해당 커스텀 동적 경로의 IP 주소 범위 간에 중첩이 허용됩니다.

CIDR 경로 중첩에 대한 자세한 내용은 Compute Engine API 참조에서 allowSubnetCidrRoutesOverlap 필드를 참조하세요.

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크로 이동

  2. 업데이트하려는 서브넷이 포함된 VPC 네트워크 이름을 클릭합니다.

  3. 서브넷 탭을 클릭합니다.

  4. 업데이트할 서브넷을 클릭합니다.

  5. 수정을 클릭합니다.

  6. 하이브리드 서브넷 섹션에서 사용을 선택합니다.

  7. 저장을 클릭합니다.

gcloud

gcloud beta compute networks subnets update 명령어를 사용합니다.

gcloud beta compute networks subnets update SUBNET \
    --region=REGION \
    --allow-cidr-routes-overlap

다음을 바꿉니다.

  • SUBNET: 서브넷의 이름입니다.
  • REGION: 서브넷의 리전입니다.

API

  1. 서브넷의 fingerprint ID를 찾습니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트의 ID
    • REGION: 서브넷의 리전
    • SUBNET_NAME: 서브넷 이름

    HTTP 메서드 및 URL:

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

    {
      "kind": "compute#subnetwork",
      "id": "5514771331600183201",
      "creationTimestamp": "2022-09-16T12:41:02.010-07:00",
      "name": "subnet-name",
      "network": "https://www.googleapis.com/compute/v1/projects/project-name/global/networks/network-name",
      "ipCidrRange": "10.6.0.0/16",
      "gatewayAddress": "10.6.0.1",
      "region": "https://www.googleapis.com/compute/v1/projects/project-name/regions/us-central1",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/project-name/regions/us-central1/subnetworks/subnet-name",
      "privateIpGoogleAccess": true,
      "fingerprint": "YiItidAFRsA5",
      "allowSubnetCidrRoutesOverlap": false,
      "enableFlowLogs": true,
      "privateIpv6GoogleAccess": "DISABLE_GOOGLE_ACCESS",
      "purpose": "PRIVATE",
      "stackType": "IPV4_ONLY"
    }
    

  2. 하이브리드 서브넷 라우팅을 사용 설정합니다.

    요청 데이터를 사용하기 전 SUBNET_FINGERPRINT를 이전 요청에서 찾은 서브넷의 지문 ID로 바꿉니다(예: YiItidAFRsA5).

    HTTP 메서드 및 URL:

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME

    JSON 요청 본문:

    {
      "allowSubnetCidrRoutesOverlap": true,
      "fingerprint": "SUBNET_FINGERPRINT"
    }
    

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

    {
      "kind": "compute#operation",
      "id": "5973660558170953708",
      "name": "operation-1680288003494-5f8368991917a-59bf1c92-1897c7c6",
      "operationType": "compute.subnetworks.patch",
      "targetLink": "https://www.googleapis.com/compute/beta/projects/test-project/regions/us-central1/subnetworks/subnet-name",
      "targetId": "5514771331600183201",
      "status": "RUNNING",
      "user": "user@gmail.com",
      "progress": 0,
      "insertTime": "2023-03-31T11:40:03.882-07:00",
      "startTime": "2023-03-31T11:40:03.893-07:00",
      "selfLink": "https://www.googleapis.com/compute/beta/projects/test-project/regions/us-central1/operations/operation-1680288003494-5f8368991917a-59bf1c92-1897c7c6",
      "region": "https://www.googleapis.com/compute/beta/projects/test-project/regions/us-central1"
    }
    

  3. 서브넷에 allowSubnetCidrRoutesOverlap이 사용 설정되어 있는지 확인하려면 다른 GET 요청을 수행하고 응답에 다음이 포함되어 있는지 확인합니다.

    • "allowSubnetCidrRoutesOverlap": true

경로 공지 구성

커스텀 IPv4 및 IPv6 프리픽스만 공지하도록 VPN 터널, VLAN 연결 또는 라우터 어플라이언스 가상 머신(VM) 인스턴스 등 하이브리드 연결 제품에 대한 경계 게이트웨이 프로토콜(BGP) 세션을 구성합니다.

VPC 네트워크에서 온프레미스 연결 테스트

하이브리드 서브넷과 온프레미스 네트워크의 중첩되는 IP 주소 범위 사이의 연결을 테스트하려면 다음을 수행하면 됩니다.

  1. VPC 네트워크의 하이브리드 서브넷에서 테스트 VM을 만듭니다.
  2. 테스트 VM의 기본 내부 IPv4 주소를 확인합니다.
  3. 테스트 VM의 기본 내부 IPv4 주소에 대한 /32 커스텀 경로 공지를 포함하도록 Cloud Router BGP 세션의 커스텀 경로 공지를 업데이트합니다.
  4. SSH를 사용하여 VM에 연결합니다.
  5. 운영체제 프롬프트에서 ICMP를 사용하여 하이브리드 서브넷의 온프레미스 시스템의 IP 주소에 ping을 수행합니다.

ping 테스트가 실패하면 Google Cloud 방화벽 규칙과 온프레미스 방화벽이 하이브리드 서브넷의 IP 주소 범위 내에서 ICMP를 허용하는지 확인합니다.

워크로드 이동 및 라우팅 업데이트

워크로드 또는 워크로드 그룹을 마이그레이션할 때마다 다음 단계를 함께 수행합니다.

워크로드 마이그레이션

원하는 방법을 사용하여 온프레미스 네트워크에서 워크로드 및 VM을 VPC 네트워크로 마이그레이션합니다. VM을 Compute Engine으로 마이그레이션하려면 Migrate to Virtual Machines를 사용하는 것이 좋습니다.

마이그레이션 옵션에 대한 자세한 내용은 Hybrid Subnets 및 Migrate to Virtual Machines를 참조하세요.

커스텀 경로 공지 업데이트

Google Cloud로 VM을 마이그레이션할 때는 마이그레이션된 각 VM의 기본 내부 IPv4 주소를 포함하도록 Cloud Router BGP 세션의 커스텀 경로 공지를 업데이트합니다. /32 커스텀 경로 공지를 사용하여 개별 IP 주소를 추가합니다.

연속 IP 주소 블록의 경우 가능한 한 적은 수의 커스텀 공지로 주소를 통합합니다. 공지는 하이브리드 서브넷의 IP 주소 범위보다 더 구체적(서브넷 마스크가 더 김)으로 유지되어야 합니다.

온프레미스 네트워크에서 마이그레이션된 VM으로의 연결 테스트

Google Cloud로 마이그레이션한 VM에 대한 연결을 테스트하려면 다음을 수행하면 됩니다.

  1. 하이브리드 연결을 관리하는 BGP 세션에 대한 커스텀 경로 공지를 업데이트했는지 확인합니다. 경로 공지에는 마이그레이션된 VM의 기본 내부 IPv4 주소가 포함되어야 합니다.
  2. 온프레미스 시스템에서 마이그레이션된 VM의 IP 주소로 ICMP ping을 전송합니다.

다음 단계