VPC 네트워크 피어링 설정 및 관리

Google Cloud VPC 네트워크 피어링은 동일한 프로젝트에 속하는지 또는 동일한 조직에 속하는지에 관계없이 두 개의 Virtual Private Cloud(VPC) 네트워크에서 내부 IP 주소를 연결할 수 있습니다. 피어링은 이중 스택 서브넷이 있는 네트워크 간 연결을 지원합니다.

자세한 내용은 VPC 네트워크 피어링을 참조하세요.

피어링 구성 만들기

시작하기 전에 피어링할 VPC 네트워크의 이름이 있어야 합니다. 해당 네트워크가 다른 프로젝트에 있는 경우 해당 프로젝트의 프로젝트 ID도 있어야 합니다. VPC 네트워크에 대한 피어링 요청을 나열할 수 없습니다. 필요한 경우 피어링할 네트워크의 관리자에게 네트워크 및 프로젝트 이름을 요청하세요.

피어링 구성은 다른 VPC 네트워크에 연결할 인텐트를 설정합니다. 내 네트워크와 다른 네트워크는 각 네트워크에 상대 네트워크에 대한 피어링 구성이 만들어질 때까지 연결되지 않습니다. 내 네트워크와 피어링할 상응하는 구성이 다른 네트워크에 있으면 피어링 상태가 두 네트워크 모두에서 ACTIVE로 변경되고 두 네트워크가 연결됩니다. 다른 네트워크에 일치하는 피어링 구성이 없으면 피어링 상태가 INACTIVE로 유지됩니다. 이는 내 네트워크와 다른 네트워크가 연결되지 않는다는 것을 나타냅니다.

Google Cloud는 피어링된 네트워크 전역에서 한 번에 피어링 관련 활동 하나만 허용합니다. 예를 들어 하나의 네트워크와 피어링을 설정하고 즉시 다른 피어링을 설정하려고 시도하면 다음과 함께 작업이 실패합니다. Error: There is a peering operation in progress on the local or peer network. Try again later.

두 네트워크가 연결되면 항상 서브넷 경로를 교환합니다. 정적 및 동적 IPv4 커스텀 경로와 동적 IPv6 커스텀 경로를 내보내도록 구성된 경우 피어링된 네트워크에서 두 경로를 모두 가져올 수 있습니다. 자세한 내용은 커스텀 경로 가져오기 및 내보내기를 참조하세요.

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 피어링 페이지로 이동합니다.
    VPC 네트워크 피어링으로 이동
  2. 연결 만들기를 클릭합니다.
  3. 계속을 클릭합니다.
  4. 이름 필드에 피어링 구성 이름을 입력합니다.
  5. 내 VPC 네트워크에서 피어링할 네트워크를 선택합니다.
  6. 피어링할 네트워크를 선택합니다.

    • 피어링할 네트워크가 동일한 프로젝트에 있는 경우 프로젝트 [NAME-OF-YOUR-PROJECT]에서를 선택한 다음 피어링할 네트워크를 선택합니다.
    • 피어링할 네트워크가 다른 프로젝트에 있는 경우 다른 프로젝트에서를 선택합니다. 피어링할 네트워크가 포함된 프로젝트 ID와 VPC 네트워크의 이름을 지정합니다.
  7. IP 스택 유형에서 피어링된 네트워크 간에 교환할 서브넷 경로를 지정합니다.

    • IPv4(단일 스택): IPv4 경로만 교환합니다.
    • IPv4 및 IPv6(이중 스택): IPv4 및 IPv6 경로를 모두 교환합니다.
  8. IPv4 및 IPv6 커스텀 경로를 가져오거나 내보내려면 다음 옵션 중 하나 또는 둘 다 선택합니다.

    • 커스텀 경로 가져오기: 피어 네트워크에서 커스텀 경로를 가져옵니다. 피어 네트워크에서 가져올 경로에 커스텀 경로 내보내기를 사용 설정해야 합니다.
    • 커스텀 경로 내보내기: 커스텀 경로를 피어 네트워크로 내보냅니다. 피어 네트워크에서 내보낼 경로에 커스텀 경로 가져오기를 사용 설정해야 합니다.
  9. 네트워크 또는 피어 네트워크가 서브넷에서 비공개로 사용되는 공개 IPv4 범위를 사용하는 경우 이러한 경로를 기본적으로 내보내지만 기본적으로 가져오지는 않습니다. 비공개로 사용되는 공개 IPv4 서브넷 경로를 가져오려면 다음을 선택합니다.

    • 다른 네트워크에서 내보낸 비공개로 사용되는 공개 IP 서브넷 경로를 가져오려면 공개 IP를 사용하여 서브넷 경로를 가져옵니다.
  10. 만들기를 클릭합니다.

gcloud

VPC 네트워크 피어링 연결을 만듭니다.

gcloud compute networks peerings create PEERING_NAME \
    --network=NETWORK \
    --peer-project=PEER_PROJECT_ID \
    --peer-network=PEER_NETWORK_NAME \
    [--stack-type=STACK_TYPE] \
    [--import-custom-routes] \
    [--export-custom-routes] \
    [--import-subnet-routes-with-public-ip] \
    [--export-subnet-routes-with-public-ip]

다음을 바꿉니다.

  • PEERING_NAME: 피어링 구성의 이름
  • NETWORK: 피어링할 프로젝트의 네트워크 이름
  • PEER_PROJECT_ID: 피어링할 네트워크가 포함된 프로젝트의 ID
  • PEER_NETWORK_NAME: 피어링할 네트워크의 이름
  • STACK_TYPE: 피어링 연결의 스택 유형입니다. IPv4 경로만 교환하려면 IPV4_ONLY를 지정합니다. 또는 IPv4 및 IPv6 경로를 모두 교환하도록 IPV4_IPV6를 지정합니다. IPV4_ONLY가 기본값입니다.
  • --import-custom-routes는 피어링된 네트워크의 커스텀 경로를 수락하도록 네트워크에 지시합니다. 피어링된 네트워크는 먼저 경로를 내보내야 합니다.
  • --export-custom-routes커스텀 경로를 피어링된 네트워크로 내보내도록 네트워크에 지시합니다. 피어링된 네트워크는 경로를 가져오도록 설정되어야 합니다.
  • --import-subnet-routes-with-public-ip는 네트워크가 서브넷에서 비공개로 사용되는 공개 IPv4 주소를 사용하는 경우 피어링된 네트워크의 서브넷 경로를 수락하도록 네트워크에 지시합니다. 피어링된 네트워크는 먼저 경로를 내보내야 합니다.
  • --export-subnet-routes-with-public-ip는 비공개로 사용되는 공개 IP 주소가 포함된 서브넷 경로를 내보내도록 네트워크에 지시합니다. 피어링된 네트워크는 경로를 가져오도록 설정되어야 합니다.

Terraform

Terraform 모듈을 사용하여 피어링 구성을 만들 수 있습니다.

module "peering1" {
  source        = "terraform-google-modules/network/google//modules/network-peering"
  version       = "~> 9.0"
  local_network = var.local_network # Replace with self link to VPC network "foobar" in quotes
  peer_network  = var.peer_network  # Replace with self link to VPC network "other" in quotes
}

피어링된 두 VPC 네트워크의 경우 각 자체 링크에는 프로젝트 ID와 VPC 네트워크의 이름이 포함됩니다. VPC 네트워크의 자체 링크를 가져오려면 각 VPC 네트워크의 프로젝트에서 gcloud compute networks describe 명령어 또는 networks.get 메서드를 사용하면 됩니다.

local_network에서 peer_network로 피어링을 만들면 피어링 관계가 양방향이 됩니다. peer_network에서 local_network로의 피어링이 자동으로 생성됩니다.

Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.

피어링된 VPC 네트워크 간에 트래픽이 전달되는지 확인

VPC 흐름 로그를 사용하여 VM 인스턴스에서 전송되거나 수신되는 네트워크 흐름을 볼 수 있습니다. 또한 방화벽 규칙 로깅을 사용하여 트래픽이 네트워크 간에 전달되고 있는지 확인할 수 있습니다. 피어링된 네트워크 간에 트래픽을 허용하거나 거부하는 VPC 방화벽 규칙을 만들고 해당 규칙에 방화벽 규칙 로깅을 사용 설정합니다. 그런 다음 Cloud Logging을 사용하여 적중 항목이 있는 방화벽 규칙을 볼 수 있습니다.

피어링 연결 업데이트

기존 VPC 네트워크 피어링 연결을 업데이트할 때는 다음을 수행할 수 있습니다.

  • VPC 네트워크가 커스텀 경로나 비공개로 사용되는 공개 IPv4 서브넷 경로를 피어 VPC 네트워크에 내보내는지 또는 피어 VPC 네트워크에서 가져오는지 여부를 변경합니다.
  • 기존 피어링 연결을 업데이트하여 피어링 네트워크 간에 IPv6 경로 교환을 사용 설정 또는 사용 중지합니다.

또한 피어 네트워크가 경로를 내보내는 경우에만 네트워크에서 경로를 가져오고 경로를 가져오는 경우에만 피어 네트워크에서 경로를 수신합니다.

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 피어링 페이지로 이동합니다.
    VPC 네트워크 피어링으로 이동
  2. 업데이트할 피어링 연결을 선택합니다.
  3. 수정을 클릭합니다.
  4. IP 스택 유형 선택 항목을 업데이트하여 피어링된 네트워크 간에 교환해야 하는 서브넷 경로를 지정합니다.
    • IPv4(단일 스택): 피어링을 통한 IPv6 경로의 기존 교환을 중지하고 IPv4 경로만 계속 교환합니다.
    • IPv4 및 IPv6(이중 스택): 일치하는 피어링 연결도 IP 스택 유형IPv4 및 IPv6(이중 스택)으로 설정된 경우 IPv4 경로와 IPv6 경로를 모두 교환하기 시작합니다.
  5. IPv4 및 IPv6 커스텀 경로를 가져오거나 내보내려면 다음 옵션 중 하나 또는 둘 다 선택합니다.
    • 다른 네트워크에서 내보낸 커스텀 경로를 가져오려면 커스텀 경로를 가져옵니다.
    • 커스텀 경로를 다른 네트워크로 내보내려면 커스텀 경로를 내보냅니다. 다른 네트워크에서 경로를 보려면 경로를 가져와야 합니다.
  6. 네트워크 또는 피어 네트워크가 서브넷에서 비공개로 사용되는 공개 IPv4 범위를 사용하는 경우 이러한 경로를 기본적으로 내보내지만 기본적으로 가져오지는 않습니다. 비공개로 사용되는 공개 IPv4 서브넷 경로를 가져오려면 다음을 선택합니다.
    • 다른 네트워크에서 내보낸 비공개로 사용되는 공개 IP 서브넷 경로를 가져오려면 공개 IP를 사용하여 서브넷 경로를 가져옵니다.
    • 저장을 클릭합니다.

gcloud

gcloud compute networks peerings update PEERING_NAME \
    --network=NETWORK \
    [--stack-type=STACK_TYPE] \
    [--import-custom-routes] \
    [--export-custom-routes] \
    [--export-subnet-routes-with-public-ip] \
    [--import-subnet-routes-with-public-ip]

다음을 업데이트합니다.

  • PEERING_NAME: 기존 피어링 연결의 이름입니다.
  • NETWORK: 피어링된 프로젝트의 네트워크 이름입니다.
  • STACK_TYPE: 피어링 연결의 스택 유형입니다.
    • 피어링을 통한 IPv6 경로의 기존 교환을 중지하고 IPv4 경로만 계속 교환하려면 IPV4_ONLY를 지정합니다.
    • 일치하는 피어링 연결도 stack_typeIPV4_IPV6로 설정한 경우 IPV4_IPV6를 지정하여 IPv4 경로와 IPv6 경로를 모두 교환합니다.
  • --import-custom-routes는 피어링된 네트워크의 커스텀 경로를 수락하도록 네트워크에 지시합니다. 피어링된 네트워크는 먼저 경로를 내보내야 합니다.
  • --export-custom-routes커스텀 경로를 피어링된 네트워크로 내보내도록 네트워크에 지시합니다. 피어링된 네트워크는 경로를 가져오도록 설정되어야 합니다.
  • --import-subnet-routes-with-public-ip는 네트워크가 서브넷에서 비공개로 사용되는 공개 IPv4 주소를 사용하는 경우 피어링된 네트워크의 서브넷 경로를 수락하도록 네트워크에 지시합니다. 피어링된 네트워크는 먼저 경로를 내보내야 합니다.
  • --export-subnet-routes-with-public-ip는 비공개로 사용되는 공개 IP 주소가 포함된 서브넷 경로를 내보내도록 네트워크에 지시합니다. 피어링된 네트워크는 경로를 가져오도록 설정되어야 합니다.

피어링 연결 목록 표시

기존 피어링 연결 목록을 표시하여 해당 상태와 커스텀 경로를 가져오는지 또는 내보내는지 여부를 확인합니다.

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 피어링 페이지로 이동합니다.
    VPC 네트워크 피어링으로 이동
  2. 세부정보를 확인할 피어링 연결을 선택합니다.

gcloud

gcloud compute networks peerings list

피어링 경로 나열

콘솔

유효한 경로 탭을 사용하여 가져온 피어링 서브넷, 피어링 정적 경로, 피어링 동적 경로를 포함하여 VPC 네트워크의 모든 적용 가능한 경로 유형을 볼 수 있습니다.

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

    경로로 이동

  2. 유효한 경로 탭에서 다음을 수행합니다.

    • VPC 네트워크를 선택합니다.
    • 리전을 선택합니다.
  3. 보기를 클릭합니다.

  4. 필터 텍스트 필드를 클릭하고 다음을 수행합니다.

    • 속성 메뉴에서 유형을 선택합니다.
    • 메뉴에서 다음 중 하나를 선택합니다.
      • 피어링 서브넷: 피어 VPC 네트워크의 서브넷 경로를 확인합니다.
      • 피어링 정적: 피어 VPC 네트워크의 가져온 정적 경로를 확인합니다.
      • 피어링 동적: 피어 VPC 네트워크의 가져온 동적 경로를 확인합니다.
  5. 선택적으로 숨겨진 경로 표시를 클릭하여 숨겨진 경로를 확인합니다. 상태 열에 있는 아이콘 위로 포인터를 가져가면 경로가 숨겨진 이유가 표시됩니다. 이유에는 설명이 있는 라우팅 순서 문서 링크가 포함됩니다.

gcloud

다음 Google Cloud CLI 명령어를 사용하여 다음을 수행합니다.

  • VPC 네트워크에서 피어 VPC 네트워크로 전송된 경로 내보내기를 나열합니다.
  • VPC 네트워크의 경로 가져오기 후보를 나열합니다.
gcloud compute networks peerings list-routes PEERING_NAME \
    --network=NETWORK \
    --region=REGION \
    --direction=DIRECTION

다음을 바꿉니다.

  • PEERING_NAME: 기존 피어링 연결의 이름입니다.
  • NETWORK: 피어링된 프로젝트의 네트워크 이름입니다.
  • REGION: 모든 동적 경로를 나열하려는 리전입니다. 서브넷 및 정적 경로는 전역 경로이며 모든 리전에 표시됩니다.
  • DIRECTION: 가져온(incoming) 경로나 내보낸(outgoing) 경로를 나열할지 여부를 지정합니다.

VPC 네트워크 피어링 연결 삭제

피어 VPC 네트워크의 네트워크 관리자 또는 사용자는 피어링 연결을 삭제할 수 있습니다. 피어링 구성이 삭제되면, 피어링 연결이 다른 네트워크에서 INACTIVE로 전환되고 네트워크 간에 공유되는 모든 경로가 삭제됩니다.

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 피어링 페이지로 이동합니다.
    VPC 네트워크 피어링으로 이동
  2. 제거할 피어링 옆의 체크박스를 선택합니다.
  3. 삭제를 클릭합니다.

gcloud

gcloud compute networks peerings delete PEERING_NAME \
    --network=NETWORK

다음을 업데이트합니다.

  • PEERING_NAME: 삭제할 피어링 연결의 이름입니다.
  • NETWORK: 피어링된 프로젝트의 네트워크 이름입니다.

할당량 및 한도

VPC 네트워크 피어링 할당량 및 한도를 참조하세요.

문제 해결

다음 섹션에서는 VPC 네트워크 피어링과 관련된 문제 해결 방법을 설명합니다.

피어 VM에 연결할 수 없음

피어링 연결이 활성화되면 피어링된 네트워크 간의 모든 트래픽 흐름이 설정될 때까지 최대 1분이 걸릴 수 있습니다. 이 시간은 피어링하는 네트워크의 크기에 따라 달라집니다. 최근에 피어링 연결을 설정했으면 최대 1분 동안 기다린 후 다시 시도하세요. 또한 피어 VPC 네트워크 서브넷 CIDR의 액세스를 차단하는 방화벽 규칙이 없는지 확인하세요.

커스텀 경로 누락

이 섹션에서는 누락된 커스텀 경로의 문제 해결 방법을 설명합니다.

피어링 연결 상태 확인

피어링 연결 상태를 확인하려면 다음을 수행합니다.

  1. 피어링 연결 목록을 표시합니다.
  2. 문제 해결할 피어링 연결을 식별하고 피어링 상태를 검토합니다.
    1. 상태가 ACTIVE이면 다음 섹션의 단계를 수행합니다.
    2. 피어링 상태가 INACTIVE이면 다른 네트워크의 네트워크 관리자가 사용자의 VPC 네트워크에 대해 피어링 구성을 만들어야 합니다.

ACTIVE 연결 문제 해결

ACTIVE 피어링 연결에서 누락된 커스텀 경로 문제를 해결하려면 다음 안내를 따르세요.

  1. VPC 네트워크에서 피어링 경로를 나열합니다. 유효한 경로 탭에서 다음을 수행합니다.

    1. 동적 경로가 프로그래밍된 리전은 커스텀 경로를 내보내는 VPC 네트워크의 동적 라우팅 모드에 의존한다는 것을 고려하세요. 자세한 내용은 동적 라우팅 모드의 효과를 참조하세요. 전역 동적 라우팅 모드에서는 다음 홉 리전과 일치하지 않는 리전에 최우선 동적 경로만 프로그래밍됩니다.

    2. 숨겨진 경로 표시 전환 버튼을 설정 위치로 클릭하고 경로를 확인합니다. 경로가 숨겨진 이유를 보려면 상태 열의 아이콘을 가리킵니다. Google Cloud는 VPC 네트워크 피어링을 사용하여 경로를 가져오는 VPC 네트워크에서 리전별 기준으로 경로 충돌 해결을 제공합니다.

    3. VPC 네트워크가 리전 및 피어링 그룹당 동적 경로 할당량 한도에 도달했음을 나타내는 경고를 찾습니다. VPC 네트워크가 이 할당량 한도에 도달하면 하나 이상의 피어링 동적 경로가 프로그래밍되지 않습니다. 프로그래밍되지 않은 피어링 동적 경로를 정확하게 표시하는 것이 가능하지 않기 때문에 리전 및 피어링 그룹당 동적 경로 할당량에 대해 할당량 한도 증가를 요청합니다.

  2. 예상한 경로가 계속 표시되지 않으면 다음을 수행합니다.

    1. 피어링 구성을 검토하고 커스텀 경로를 가져오도록 필요에 따라 피어링 구성을 업데이트합니다.

    2. 해당 경로가 VPC 네트워크 피어링을 사용하여 교환할 수 없는 다음 경로 유형 중 하나가 아닌지 확인합니다.

      • 다른 피어 네트워크에서 수신된 피어링된 VPC 네트워크에 있는 피어링 서브넷, 피어링 정적, 피어링 동적 경로는 VPC 네트워크 피어링을 사용하여 VPC 네트워크로 교환될 수 없습니다.

      • 네트워크 태그와 함께 기본 인터넷 게이트웨이 다음 홉 및 정적 경로를 사용하는 정적 경로는 VPC 네트워크 피어링을 사용하여 교환될 수 없습니다.

      자세한 내용은 경로 교환 옵션을 참조하세요.

    3. 피어링된 VPC 네트워크의 네트워크 관리자에게 다음을 요청하세요.

      1. VPC 네트워크의 경로를 나열하여 원하는 경로를 찾습니다.

      2. 피어링 구성을 검토하고 커스텀 경로를 내보내도록 필요에 따라 피어링 구성을 업데이트합니다.

피어 네트워크를 대상으로 하는 트래픽이 삭제됨

연결 테스트를 사용하면 피어 네트워크를 향하는 트래픽이 삭제되는 이유를 확인하는 데 도움이 됩니다. 커스텀 경로를 사용하여 트래픽을 전송해야 하는 경우 커스텀 경로 누락을 참조하세요.

트래픽이 예상치 못한 다음 홉으로 전송됨

연결 테스트를 사용하면 트래픽이 예상치 않은 다음 홉으로 전송되는 이유를 확인하는 데 도움이 됩니다. 커스텀 경로를 사용하여 트래픽을 전송해야 하는 경우 커스텀 경로 누락을 참조하세요.

특정 VPC 네트워크와 피어링할 수 없음

특정 VPC 네트워크에서 피어링 구성을 만들 수 없는 경우 조직 정책이 네트워크에서 피어링할 수 있는 VPC 네트워크를 제한할 수 있습니다. 조직 정책에서 허용되는 피어 목록에 네트워크를 추가하거나 조직 관리자에게 문의하세요. 자세한 내용은 constraints/compute.restrictVpcPeering 제약조건을 참조하세요.

피어링의 stack_typeIPV4_IPV6로 업데이트한 후 IPv6 서브넷 경로가 교환되지 않음

일치하는 피어링 연결의 stack_type 값도 IPV4_IPV6로 설정되었는지 확인합니다. IPv6 경로와 트래픽을 교환하려면 피어링 연결의 양측에서 stack_typeIPV4_IPV6로 설정해야 합니다.

피어링의 stack_typeIPV4_IPV6로 업데이트한 후 IPv6 동적 경로를 내보내지 않음

동적 및 정적 IPv6 경로를 내보내려면 일치하는 피어링 연결에서 –export-custom-route–import-custom-route 플래그를 사용 설정해야 합니다.

커스텀 경로 가져오기 및 내보내기를 사용 설정한 후 IPv6 정적 및 동적 경로가 교환되지 않음

두 피어링 모두에서 stack_typeIPV4_IPV6로 설정되었는지 확인합니다.

다음 단계