정책 기반 경로 사용

정책 기반 경로를 사용하면 패킷의 대상 IP 주소 이상을 기준으로 다음 홉을 선택할 수 있습니다. 이 페이지에서는 정책 기반 경로를 생성, 나열, 설명, 삭제하는 방법을 설명합니다.

시작하기 전에

필요한 역할

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

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

정책 기반 경로 만들기

정책 기반 경로를 만들 때 다음을 지정합니다.

  • 경로 범위: 경로를 적용할 수 있는 리소스입니다.
  • 분류 기준: 소스 IP 주소 범위, 대상 IP 주소 범위, 경로가 적용되는 패킷을 결정하는 프로토콜입니다. 정책 기반 경로는 지정된 분류 기준과 모두 일치하는 패킷에 적용됩니다.
  • 다음 홉: 다음 홉 내부 패스 스루 네트워크 부하 분산기 또는 다른 정책 기반 경로를 건너뛰는 다음 홉입니다.

콘솔

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

    경로로 이동

  2. 경로 관리를 클릭합니다.

  3. 경로 만들기를 클릭합니다.

  4. 경로의 이름을 입력합니다.

  5. 선택사항: 설명을 입력합니다.

  6. 네트워크를 클릭한 다음 정책 기반 경로를 추가할 네트워크를 선택합니다.

  7. 경로 유형을 클릭한 후 정책 기반 경로를 선택합니다.

  8. 경로 범위 섹션에서 다음 중 하나를 수행합니다.

    • 경로를 모든 가상 머신(VM) 인스턴스, Cloud Interconnect용 VLAN 연결, Virtual Private Cloud 네트워크의 Cloud VPN 터널에 적용하려면 이 경로를 모든 VM 인스턴스, VLAN 연결, VPN 터널에 적용을 선택합니다.

      이러한 유형의 경로를 만들 때는 주의하는 것이 좋습니다. 경로는 분류 기준과 일치하는 모든 이그레스 패킷에 적용되며, 여기에는 내부 패스 스루 네트워크 부하 분산기의 백엔드에서 전송된 이그레스 트래픽이 포함될 수 있습니다.

    • 경로를 특정 VM 인스턴스에만 적용하려면 이 경로를 VM 인스턴스에만 적용을 선택한 후 이 경로를 적용해야 할 VM의 네트워크 태그를 입력합니다. 쉼표로 구분된 목록으로 여러 네트워크 태그를 입력할 수 있습니다.

    • 경로의 VPC 네트워크에서 Cloud Interconnect의 모든 VLAN 연결에 경로를 적용하려면 이 경로를 VLAN 연결에만 적용을 선택합니다.

    • 특정 리전의 Cloud Interconnect용 VLAN 연결에 경로를 적용하려면 이 경로를 VLAN 연결에만 적용을 선택한 후 VLAN 연결의 리전을 선택합니다. 특정 VLAN 연결에 적용되는 정책 기반 경로를 만들 수 없습니다.

  9. 분류 기준 섹션에서 다음을 수행합니다.

    1. 소스 IP 범위를 입력합니다.
    2. 대상 IP 범위를 입력합니다.
    3. 프로토콜을 클릭한 후 이 경로가 적용되는 프로토콜을 선택합니다.
  10. 우선순위를 입력합니다.

  11. 다음 홉 섹션에서 다음 홉을 클릭한 후 다음을 수행합니다.

    • 다음 홉 내부 패스 스루 네트워크 부하 분산기를 지정하려면 내부 패스 스루 네트워크 부하 분산기의 전달 규칙 지정을 선택한 후 다음을 수행합니다.
      • 기존 전달 규칙 목록에서 전달 규칙을 선택하려면 다음 안내를 따르세요.
        1. 현재 프로젝트에 있는 내부 부하 분산기의 전달 규칙에서 사용 중을 선택합니다.
        2. 전달 규칙 IP 주소를 클릭한 후 선택한 프로젝트에서 내부 부하 분산기와 연결된 IP 주소를 선택합니다.
      • IP 주소를 입력하려면 다음 안내를 따르세요.
        1. 사용되지 않음을 선택합니다.
        2. 전달 규칙 IP 주소 필드에 IP 주소를 입력합니다. IP 주소는 이 정책 기반 경로를 만들 네트워크의 IP 주소 범위에서 가져와야 합니다. 이미 내부 패스 스루 네트워크 부하 분산기의 전달 규칙과 연결된 IP 주소를 지정하거나 사용되지 않은 IP 주소를 지정하고 이 정책 기반 경로을 만든 후 전달 규칙을 만들 수 있습니다.
    • 다른 정책 기반 경로를 건너뛰는 정책 기반 경로를 만들려면 다른 정책 기반 경로 건너뛰기를 선택합니다.
  12. 만들기를 클릭합니다.

gcloud

policy-based-routes create 명령어를 사용합니다.

  • 모든 VM 인스턴스, Cloud Interconnect용 VLAN 연결, Virtual Private Cloud 네트워크의 Cloud VPN 터널에 경로를 적용하려면 다음 명령어를 사용합니다.

    이러한 유형의 경로를 만들 때는 주의하는 것이 좋습니다. 경로는 분류 기준과 일치하는 모든 이그레스 패킷에 적용되며, 여기에는 내부 패스 스루 네트워크 부하 분산기의 백엔드에서 전송된 이그레스 트래픽이 포함될 수 있습니다.

    gcloud network-connectivity policy-based-routes create ROUTE_NAME \
      --source-range=SOURCE_RANGE \
      --destination-range=DESTINATION_RANGE \
      --ip-protocol=PROTOCOL \
      --network="projects/PROJECT_ID/global/networks/NETWORK" \
      --next-hop-ilb-ip=NEXT_HOP \
      --description=DESCRIPTION \
      --priority=PRIORITY
    

    다음을 바꿉니다.

    • ROUTE_NAME: 정책 기반 경로의 이름입니다.
    • SOURCE_RANGE: 소스 IP CIDR 범위입니다.
    • DESTINATION_RANGE: 대상 IP CIDR 범위입니다.
    • PROTOCOL: 전달하려는 트래픽의 프로토콜입니다. 옵션은 ALL, TCP 또는 UDP입니다. 기본값은 ALL입니다.
    • PROJECT_ID: 프로젝트 ID입니다.
    • NETWORK: 정책 기반 경로를 적용할 네트워크의 이름입니다.
    • NEXT_HOP: 경로의 다음 홉 내부 패스 스루 네트워크 부하 분산기의 IPv4 주소입니다.
    • DESCRIPTION: 경로에 대한 선택적인 설명입니다.
    • PRIORITY: 다른 정책 기반 경로와 비교한 정책 기반 경로의 우선순위입니다.
  • 특정 VM 인스턴스에만 경로를 적용하려면 다음 명령어를 사용합니다.

    gcloud network-connectivity policy-based-routes create ROUTE_NAME \
      --source-range=SOURCE_RANGE \
      --destination-range=DESTINATION_RANGE \
      --ip-protocol=PROTOCOL \
      --network="projects/PROJECT_ID/global/networks/NETWORK" \
      --next-hop-ilb-ip=NEXT_HOP \
      --description=DESCRIPTION \
      --priority=PRIORITY \
      --tags=NETWORK_TAGS
    

    NETWORK_TAGS을 경로를 적용할 VM의 네트워크 태그 하나 이상으로 바꿉니다. 쉼표로 구분된 목록으로 여러 네트워크 태그를 포함할 수 있습니다.

  • Cloud Interconnect의 VLAN 연결에만 경로를 적용하려면 다음 명령어를 사용합니다. 특정 리전의 Cloud Interconnect용 VLAN 연결 또는 VPC 네트워크의 Cloud Interconnect용 모든 VLAN 연결에 경로를 적용할 수 있습니다.

    gcloud network-connectivity policy-based-routes create ROUTE_NAME \
      --source-range=SOURCE_RANGE \
      --destination-range=DESTINATION_RANGE \
      --ip-protocol=PROTOCOL \
      --network="projects/PROJECT_ID/global/networks/NETWORK" \
      --next-hop-ilb-ip=NEXT_HOP \
      --description=DESCRIPTION \
      --priority=PRIORITY \
      --interconnect-attachment-region=INTERCONNECT_REGION
    

    INTERCONNECT_REGION을 경로를 적용할 Cloud Interconnect용 VLAN 연결의 리전으로 바꿉니다. 경로의 VPC 네트워크에서 Cloud Interconnect의 모든 VLAN 연결에 정책 기반 경로를 적용하려면 all을 사용합니다.

  • 네트워크 태그로 식별된 특정 VM에 대해 다른 정책 기반 경로를 건너뛰는 다음 홉을 지정하려면 다음 명령어를 사용합니다.

    gcloud network-connectivity policy-based-routes create ROUTE_NAME \
      --source-range=SOURCE_RANGE \
      --destination-range=DESTINATION_RANGE \
      --ip-protocol=PROTOCOL \
      --network="projects/PROJECT_ID/global/networks/NETWORK" \
      --next-hop-other-routes=DEFAULT_ROUTING \
      --description=DESCRIPTION \
      --priority=PRIORITY \
      --tags=NETWORK_TAGS
    

API

policyBasedRoutes.create 메서드에 POST 요청을 전송합니다.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes?policyBasedRouteId=ROUTE_NAME
  • 모든 VM 인스턴스, Cloud Interconnect용 VLAN 연결, Virtual Private Cloud 네트워크의 Cloud VPN 터널에 경로를 적용하려면 다음 요청 본문을 포함합니다.

    이러한 유형의 경로를 만들 때는 주의하는 것이 좋습니다. 경로는 분류 기준과 일치하는 모든 이그레스 패킷에 적용되며, 여기에는 내부 패스 스루 네트워크 부하 분산기의 백엔드에서 전송된 이그레스 트래픽이 포함될 수 있습니다.

    {
      "filter": {
        "srcRange": "SOURCE_RANGE",
        "destRange": "DESTINATION_RANGE",
        "ipProtocol": "PROTOCOL",
        "protocolVersion": "IPv4"
      },
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "nextHopIlbIp": "NEXT_HOP",
      "description": "DESCRIPTION",
      "priority": "PRIORITY"
    }
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • ROUTE_NAME: 정책 기반 경로의 이름입니다.
    • SOURCE_RANGE: 소스 IP CIDR 범위입니다.
    • DESTINATION_RANGE: 대상 IP CIDR 범위입니다.
    • PROTOCOL: 전달하려는 트래픽의 프로토콜입니다. 옵션은 ALL, TCP 또는 UDP입니다. 기본값은 ALL입니다.
    • NETWORK: 정책 기반 경로를 적용할 네트워크의 이름입니다. 경로는 이 네트워크에서 다른 분류 기준을 충족하는 인스턴스의 이그레스 트래픽에 적용됩니다.
    • NEXT_HOP: 경로의 다음 홉 내부 패스 스루 네트워크 부하 분산기의 IPv4 주소입니다.
    • DESCRIPTION: 경로에 대한 선택적인 설명입니다.
    • PRIORITY: 다른 정책 기반 경로와 비교한 정책 기반 경로의 우선순위입니다.
  • 특정 VM 인스턴스에만 경로를 적용하려면 다음 요청 본문을 포함합니다.

    {
      "filter": {
        "srcRange": "SOURCE_RANGE",
        "destRange": "DESTINATION_RANGE",
        "ipProtocol": "PROTOCOL",
        "protocolVersion": "IPv4"
      },
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "nextHopIlbIp": "NEXT_HOP",
      "description": "DESCRIPTION",
      "priority": "PRIORITY",
      "virtualMachine": {
        "tags": [
          "NETWORK_TAGS"
        ]
      }
    }
    

    NETWORK_TAGS를 하나 이상의 네트워크 태그로 바꿉니다. 정책 기반 경로는 이러한 태그 중 하나 이상이 있는 인스턴스의 이그레스 트래픽에 적용됩니다. "tag1","tag2","tag3" 형식으로 태그를 여러 개 포함할 수 있습니다.

  • Cloud Interconnect용 VLAN 연결에만 경로를 적용하려면 다음 요청 본문을 포함합니다. 특정 VLAN 연결에 적용되는 정책 기반 경로를 만들 수 없습니다.

    {
      "filter": {
        "srcRange": "SOURCE_RANGE",
        "destRange": "DESTINATION_RANGE",
        "ipProtocol": "PROTOCOL",
        "protocolVersion": "IPv4"
      },
      "interconnectAttachment": {
        "region": "INTERCONNECT_REGION"
      },
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "nextHopIlbIp": "NEXT_HOP",
      "description": "DESCRIPTION",
      "priority": "PRIORITY"
    }
    

    INTERCONNECT_REGION을 이 경로를 적용할 Cloud Interconnect용 VLAN 연결의 리전으로 바꿉니다. 경로의 VPC 네트워크에서 Cloud Interconnect의 모든 VLAN 연결에 정책 기반 경로를 적용하려면 all을 사용합니다.

  • 네트워크 태그로 식별된 특정 VM에 대해 다른 정책 기반 경로를 건너뛰는 다음 홉을 지정하려면 다음 명령어를 사용합니다.

    {
      "filter": {
        "srcRange": "SOURCE_RANGE",
        "destRange": "DESTINATION_RANGE",
        "ipProtocol": "PROTOCOL",
        "protocolVersion": "IPv4"
      },
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "nextHopOtherRoutes": "DEFAULT_ROUTING",
      "description": "DESCRIPTION",
      "priority": "PRIORITY",
      "virtualMachine": {
        "tags": [
          "NETWORK_TAGS"
        ]
      }
    }
    

정책 기반 경로의 연결 확인

연결 테스트는 네트워크의 엔드포인트 간 연결을 확인할 수 있게 해주는 진단 도구입니다. 구성을 분석하고 경우에 따라 런타임 확인을 수행합니다. 연결 테스트는 정책 기반 경로를 지원합니다. 정책 기반 경로로 연결 테스트를 실행하려면 연결 테스트 만들기 및 실행을 참조하세요.

정책 기반 경로 나열

정책 기반 경로를 나열하여 프로젝트 또는 네트워크 및 리전의 모든 정책 기반 경로를 볼 수 있습니다.

콘솔

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

    경로로 이동

    • VPC 네트워크 및 리전의 모든 정책 기반 경로를 보려면 다음을 수행하세요.

      1. 유효 경로를 클릭합니다.
      2. 네트워크를 클릭한 다음 네트워크를 선택합니다.
      3. 리전을 클릭한 다음 리전을 선택합니다.
      4. 보기를 클릭합니다.
    • 프로젝트의 모든 정책 기반 경로를 보려면 다음을 수행하세요.

      1. 경로 관리를 클릭합니다.

gcloud

policy-based-routes list 명령어를 사용합니다.

gcloud network-connectivity policy-based-routes list

API

policyBasedRoutes.list 메서드에 GET 요청을 전송합니다.

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes

PROJECT_ID를 정책 기반 경로를 나열할 프로젝트의 ID로 바꿉니다.

정책 기반 경로 설명

정책 기반 경로를 설명하여 경로에 대한 세부정보를 볼 수 있습니다.

콘솔

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

    경로로 이동

  2. 유효 경로를 클릭합니다.

  3. 네트워크를 클릭한 다음 네트워크를 선택합니다.

  4. 리전을 클릭한 다음 리전을 선택합니다.

  5. 보기를 클릭합니다.

  6. 정책 기반 경로의 이름을 클릭하여 세부정보를 확인합니다.

gcloud

정책 기반 경로를 설명하려면 policy-based-routes describe 명령어를 사용합니다.

gcloud network-connectivity policy-based-routes describe NAME

NAME을 설명할 경로의 이름으로 바꿉니다.

API

policyBasedRoutes.get 메서드에 GET 요청을 전송합니다.

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes/ROUTE_NAME

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • ROUTE_NAME: 설명할 정책 기반 경로의 이름입니다.

정책 기반 경로 삭제

정책 기반 경로를 삭제하여 VPC 네트워크에서 삭제할 수 있습니다.

콘솔

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

    경로로 이동

  2. 유효 경로를 클릭합니다.

  3. 네트워크를 클릭한 다음 네트워크를 선택합니다.

  4. 리전을 클릭한 다음 리전을 선택합니다.

  5. 보기를 클릭합니다.

  6. 정책 기반 경로의 이름을 클릭합니다.

  7. 삭제를 클릭하고 한 번 더 삭제를 클릭하여 확인합니다.

gcloud

정책 기반 경로를 삭제하려면 policy-based-routes delete 명령어를 사용합니다.

gcloud network-connectivity policy-based-routes delete NAME

NAME을 삭제할 경로의 이름으로 바꿉니다.

API

policyBasedRoutes.delete 메서드에 DELETE 요청을 전송합니다.

DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes/ROUTE_NAME

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • ROUTE_NAME: 삭제할 정책 기반 경로의 이름입니다.

호환성

다음과 같은 방식으로 정책 기반 경로를 사용하려면 특수 구성이 필요합니다.

GKE에서 정책 기반 경로 사용

Google Kubernetes Engine(GKE) 클러스터가 있는 VPC 네트워크에서 정책 기반 경로를 만드는 경우 다음 사항에 유의하세요.

  • 대상에 클러스터 노드 또는 포드 IP 주소가 포함된 정책 기반 경로를 만들지 마세요.
  • 대상에 클러스터 제어 영역 비공개 엔드포인트가 포함된 정책 기반 경로를 만들지 마세요.

정책 기반 경로와 게시된 서비스의 Private Service Connect

정책 기반 경로는 VM에서 게시된 서비스의 Private Service Connect 엔드포인트 또는 게시된 서비스의 Private Service Connect 백엔드로 트래픽을 라우팅하는 데 사용될 수 없습니다. 정책 기반 경로와 게시된 서비스의 Private Service Connect를 사용하는 경우:

  • 정책 기반 경로를 특정 VM에 적용할 수 있도록 네트워크 태그를 사용합니다.
  • 소스 또는 대상 IP 주소 범위가 0.0.0.0/0인 정책 기반 경로를 만들지 마세요.
  • Private Service Connect 엔드포인트 또는 백엔드의 IP 주소가 포함된 대상 범위로 정책 기반 경로를 만들어야 하는 경우 다른 정책 기반 경로를 건너뛰는 우선순위가 더 높은 정책 기반 경로를 만듭니다. Private Service Connect 엔드포인트 또는 백엔드의 IP 주소가 포함된 보다 구체적인 IP 주소 범위로 우선순위가 높은 정책 기반 경로의 대상을 구성합니다.

정책 기반 경로와 Google API 및 서비스 액세스

Google Cloud는 정책 기반 경로에서 다음 홉 내부 패스 스루 네트워크 부하 분산기의 VM 백엔드를 포함한 다른 VM 인스턴스 또는 커스텀 다음 홉을 통해 Google API 및 서비스로 트래픽을 라우팅하지 않습니다.

다음 방법을 사용하여 Google API 및 서비스에 액세스하는 경우 다음 섹션에 나열된 권장사항을 참조하세요.

권장사항

Google API 및 서비스에 액세스할 때 위의 방법을 사용하는 경우 다음과 같은 권장사항을 따르는 것이 좋습니다.

  • 정책 기반 경로를 특정 VM에 적용할 수 있도록 네트워크 태그를 사용합니다.
  • 0.0.0.0/0의 소스 또는 대상 범위로 정책 기반 경로를 만들지 마세요.
  • Google API 및 서비스에서 사용하는 대상 범위, Google API용 Private Service Connect 엔드포인트 또는 API용 Private Service Connect 백엔드를 포함하는 정책 기반 경로를 만들 경우 다른 정책 기반 경로를 건너뛰는 우선순위가 더 높은 정책 기반 경로를 만듭니다. 우선순위가 더 높은 정책 기반 경로의 대상을 사용 중인 Google API 및 서비스의 IP 주소, Private Service Connect 엔드포인트 또는 Private Service Connect 백엔드와 일치하도록 설정합니다. Google API 및 서비스에서 사용되는 IP 주소 범위에는 다음이 포함됩니다.
    • Google API 및 서비스에서 사용되는 기본 도메인의 IP 주소
    • 비공개 Google 액세스 가상 IP 주소(VIP):
      • private.googleapis.com(199.36.153.8/30)
      • restricted.googleapis.com(199.36.153.4/30)