정책 기반 경로 사용
정책 기반 경로를 사용하면 패킷의 대상 IP 주소 이상을 기준으로 다음 홉을 선택할 수 있습니다. 이 페이지에서는 정책 기반 경로를 생성, 나열, 설명, 삭제하는 방법을 설명합니다.
시작하기 전에
- 이 가이드의 명령줄 예시를 사용하려면 최신 버전의 Google Cloud CLI를 설치하거나 업데이트합니다.
- 프로젝트에서 Network Connectivity API를 사용 설정해야 합니다.
- 내부 TCP/UDP 부하 분산기가 필요합니다. 내부 TCP/UDP 부하 분산기가 정의된 리전이 아닌 다른 리전에서 패킷을 삭제하지 않도록 전역 액세스를 사용 설정하는 것이 좋습니다.
필요한 역할
정책 기반 경로를 사용하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 네트워크 관리자(roles/compute.networkAdmin
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.
정책 기반 경로 만들기
정책 기반 경로를 만들 때 일치 기준을 한 개 이상 지정할 수 있습니다. 선택한 모든 기준과 일치하는 경우 지정된 내부 TCP/UDP 부하 분산기로 트래픽이 리디렉션됩니다. 일치하는 기준을 지정하지 않으면 경로가 VPC 네트워크 내의 모든 IPv4 트래픽에 적용됩니다.
VPC 네트워크 내부 트래픽의 정책 기반 경로 만들기
gcloud
VPC 네트워크 내부 트래픽에 대한 정책 기반 경로를 만들려면 policy-based-routes create
명령어를 사용합니다.
gcloud network-connectivity policy-based-routes create ROUTE_NAME \ --source-range=IP_RANGE_A \ --destination-range=IP_RANGE_B \ --ip-protocol=IP_PROTOCOL \ --network="projects/PROJECT_ID/global/networks/NETWORK" \ --tags=NETWORK_TAGS \ --next-hop-ilb-ip=LOAD_BALANCER_IP \ --description=DESCRIPTION \ --priority=PRIORITY
다음을 바꿉니다.
ROUTE_NAME
: 정책 기반 경로의 이름IP_RANGE_A
: 소스 IP CIDR 범위IP_RANGE_B
: 대상 IP CIDR 범위IP_PROTOCOL
: 전달하려는 트래픽의 IP 프로토콜 옵션은ALL
,TCP
또는UDP
입니다. 기본값은ALL
입니다.PROJECT_ID
: 프로젝트의 IDNETWORK
: 트래픽을 전달할 네트워크의 이름NETWORK_TAGS
: 하나 이상의 네트워크 태그(선택사항) 정책 기반 경로는 이러한 태그 중 하나 이상을 가진 모든 인스턴스에 적용됩니다. 쉼표로 구분된 목록으로 여러 태그를 포함할 수 있습니다.LOAD_BALANCER_IP
: 내부 TCP/UDP 부하 분산기의 IP 주소DESCRIPTION
: 경로에 대한 설명(선택사항)PRIORITY
: 다른 정책 기반 경로와 비교한 정책 기반 경로의 우선순위
정책 기반 경로와 동일한 방식으로 응답 트래픽을 라우팅하려면 다음 홉 및 프로토콜이 동일한 두 번째 정책 기반 경로를 만들되 소스 및 대상 IP 주소 범위를 전환합니다.
gcloud network-connectivity policy-based-routes create RETURN_ROUTE_NAME \ --source-range=IP_RANGE_B \ --destination-range=IP_RANGE_A \ --ip-protocol=IP_PROTOCOL \ --network="projects/PROJECT_ID/global/networks/NETWORK" \ --tags=NETWORK_TAGS \ --next-hop-ilb-ip=LOAD_BALANCER_IP \ --description=DESCRIPTION \ --priority=PRIORITY
RETURN_ROUTE_NAME
을 반환 경로의 이름으로 바꿉니다.
API
VPC 네트워크 내 트래픽에 대한 정책 기반 경로를 만들려면 policyBasedRoutes.create
메서드에 POST
요청을 수행합니다.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes?policyBasedRouteId=ROUTE_NAME { "filter": { "srcRange": "IP_RANGE_A", "destRange": "IP_RANGE_B", "ipProtocol": "IP_PROTOCOL", "protocolVersion": "IPv4" }, "network": "projects/PROJECT_ID/global/networks/NETWORK", "nextHopIlbIp": "LOAD_BALANCER_IP", "description": "DESCRIPTION", "priority": "PRIORITY", "virtualMachine": { "tags": [ "NETWORK_TAGS" ] } }
다음을 바꿉니다.
PROJECT_ID
: 프로젝트의 IDROUTE_NAME
: 정책 기반 경로의 이름IP_RANGE_A
: 소스 IP CIDR 범위IP_RANGE_B
: 대상 IP CIDR 범위IP_PROTOCOL
: 전달하려는 트래픽의 IP 프로토콜 옵션은ALL
,TCP
또는UDP
입니다. 기본값은ALL
입니다.NETWORK
: 네트워크의 이름LOAD_BALANCER_IP
: 내부 TCP/UDP 부하 분산기의 IP 주소DESCRIPTION
: 경로에 대한 설명(선택사항)PRIORITY
: 다른 정책 기반 경로와 비교한 정책 기반 경로의 우선순위NETWORK_TAGS
: 하나 이상의 네트워크 태그(선택사항) 정책 기반 경로는 이러한 태그 중 하나 이상을 가진 모든 인스턴스에 적용됩니다."tag1","tag2","tag3"
형식으로 태그를 여러 개 포함할 수 있습니다.
정책 기반 경로와 동일한 방식으로 응답 트래픽을 라우팅하려면 다음 홉 및 프로토콜이 동일한 두 번째 정책 기반 경로를 만들되 소스 및 대상 IP 주소 범위를 전환합니다.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes?policyBasedRouteId=RETURN_ROUTE_NAME { "filter": { "srcRange": "IP_RANGE_B", "destRange": "IP_RANGE_A", "ipProtocol": "IP_PROTOCOL", "protocolVersion": "IPv4" }, "network": "projects/PROJECT_ID/global/networks/NETWORK", "nextHopIlbIp": "LOAD_BALANCER_IP", "description": "DESCRIPTION", "priority": "PRIORITY", "virtualMachine": { "tags": [ "NETWORK_TAGS" ] } }
RETURN_ROUTE_NAME
을 반환 경로의 이름으로 바꿉니다.
Cloud Interconnect 연결에 사용할 정책 기반 경로 만들기
Cloud Interconnect 연결을 통해 온프레미스 네트워크에서 VPC 네트워크로 이동하는 트래픽을 전달하는 정책 기반 경로를 만들 수 있습니다. Cloud Interconnect 트래픽에 대한 정책 기반 경로를 만들 때 리전을 지정하면 해당 리전의 모든 Cloud Interconnect 연결에 이 경로가 사용 설정됩니다. 특정 Cloud Interconnect 연결에 정책 기반 경로를 만들 수는 없습니다.
gcloud
온프레미스 네트워크에서 시작되는 트래픽에 대한 정책 기반 경로를 만들려면 policy-based-routes create
명령어를 사용합니다.
gcloud network-connectivity policy-based-routes create ROUTE_NAME \ --interconnect-attachment-region=INTERCONNECT_REGION \ --tags=NETWORK_TAGS \ --source-range=IP_RANGE_A \ --destination-range=IP_RANGE_B \ --ip-protocol=IP_PROTOCOL \ --network="projects/PROJECT_ID/global/networks/NETWORK" \ --next-hop-ilb-ip=LOAD_BALANCER_IP \ --description=DESCRIPTION \ --priority=PRIORITY
다음을 바꿉니다.
ROUTE_NAME
: 정책 기반 경로의 이름INTERCONNECT_REGION
: 정책 기반 경로를 적용할 Cloud Interconnect 연결의 리전NETWORK_TAGS
: 하나 이상의 네트워크 태그(선택사항) 정책 기반 경로는 이러한 태그 중 하나 이상을 가진 모든 인스턴스에 적용됩니다. 쉼표로 구분된 목록으로 여러 태그를 포함할 수 있습니다.IP_RANGE_A
: 소스 IP CIDR 범위IP_RANGE_B
: 대상 IP CIDR 범위IP_PROTOCOL
: 전달하려는 트래픽의 IP 프로토콜 옵션은ALL
,TCP
또는UDP
입니다. 기본값은ALL
입니다.PROJECT_ID
: 프로젝트의 IDNETWORK
: 트래픽을 전달할 네트워크의 이름LOAD_BALANCER_IP
: 내부 TCP/UDP 부하 분산기의 IP 주소DESCRIPTION
: 경로에 대한 설명(선택사항)PRIORITY
: 다른 정책 기반 경로와 비교한 정책 기반 경로의 우선순위
API
온프레미스 네트워크에서 시작되는 트래픽에 대한 정책 기반 경로를 만들려면 policyBasedRoutes.create
메서드에 POST
요청을 수행합니다.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes?policyBasedRouteId=ROUTE_NAME { "filter": { "srcRange": "IP_RANGE_A", "destRange": "IP_RANGE_B", "ipProtocol": "IP_PROTOCOL", "protocolVersion": "IPv4" }, "interconnectAttachment": { "region": "INTERCONNECT_REGION" }, "network": "projects/PROJECT_ID/global/networks/NETWORK", "nextHopIlbIp": "LOAD_BALANCER_IP", "description": "DESCRIPTION", "priority": "PRIORITY", "virtualMachine": { "tags": [ "NETWORK_TAGS" ] } }
다음을 바꿉니다.
PROJECT_ID
: 프로젝트의 IDROUTE_NAME
: 정책 기반 경로의 이름IP_RANGE_A
: 소스 IP CIDR 범위IP_RANGE_B
: 대상 IP CIDR 범위IP_PROTOCOL
: 전달하려는 트래픽의 IP 프로토콜 옵션은ALL
,TCP
또는UDP
입니다. 기본값은ALL
입니다.INTERCONNECT_REGION
: 정책 기반 경로를 적용할 Cloud Interconnect 연결의 리전NETWORK
: 네트워크의 이름LOAD_BALANCER_IP
: 내부 TCP/UDP 부하 분산기의 IP 주소DESCRIPTION
: 경로에 대한 설명(선택사항)PRIORITY
: 다른 정책 기반 경로와 비교한 정책 기반 경로의 우선순위NETWORK_TAGS
: 하나 이상의 네트워크 태그(선택사항) 정책 기반 경로는 이러한 태그 중 하나 이상을 가진 모든 인스턴스에 적용됩니다."tag1","tag2","tag3"
형식으로 태그를 여러 개 포함할 수 있습니다.
정책 기반 경로의 연결 확인
연결 테스트는 네트워크의 엔드포인트 간 연결을 확인할 수 있게 해주는 진단 도구입니다. 구성을 분석하고 경우에 따라 런타임 확인을 수행합니다. 연결 테스트는 정책 기반 경로를 지원합니다. 정책 기반 경로로 연결 테스트를 실행하려면 연결 테스트 만들기 및 실행을 참조하세요.
정책 기반 경로 나열
정책 기반 경로를 나열하여 프로젝트의 모든 정책 기반 경로를 볼 수 있습니다.
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로 바꿉니다.
정책 기반 경로 설명
정책 기반 경로를 설명하여 경로에 대한 세부정보를 볼 수 있습니다.
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
: 프로젝트의 IDROUTE_NAME
: 설명할 정책 기반 경로의 이름
정책 기반 경로 삭제
정책 기반 경로를 삭제하여 VPC 네트워크에서 삭제할 수 있습니다.
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
: 프로젝트의 IDROUTE_NAME
: 삭제할 정책 기반 경로의 이름