이 페이지에서는 VPN 경계 게이트웨이 프로토콜 (BGP) 세션이 준수해야 하는 사양과 VPN BGP 세션을 만드는 방법을 설명합니다.
Google Distributed Cloud (GDC) 오프라인 VPN은 각 VPN 터널에 대해 IPv4 BGP 세션을 사용하여 동적 라우팅을 지원합니다. BGP 세션을 사용하면 원격 네트워크와 GDC 조직의 BGP 피어가 서로에게 경로를 공지할 수 있습니다.
시작하기 전에
VPN BGP 세션을 만들려면 필요한 ID 및 액세스 역할이 있어야 합니다.
- VPN 관리자: 모든 VPN 관련 리소스에 대한 읽기 및 쓰기 권한이 있습니다. 조직 IAM 관리자에게 VPN 관리자 (
vpn-admin
) 역할을 부여해 달라고 요청하세요. - VPN 뷰어: 모든 VPN 관련 리소스에 대한 읽기 권한이 있습니다. 조직 IAM 관리자에게 VPN 뷰어 (
vpn-viewer
) 역할을 부여해 달라고 요청하세요. - 자세한 내용은 역할 정의를 참고하세요.
VPN BGP 세션 사양
조직의 BGP 피어는 90초의 홀드 타이머와 함께 30초의 BGP 활성 상태 유지 간격을 지원합니다. 각 BGP 세션의 IPv4 주소는 다음 요구사항을 충족해야 합니다.
- 각 BGP IPv4 주소는
169.254.0.0/16
범위에 들어가는 동일한/30
서브넷에 속해야 합니다. - 각 BGP IPv4 주소가
/30
서브넷의 첫 번째 또는 두 번째 호스트여야 합니다. 서브넷의 첫 번째 및 마지막 IP 주소는 네트워크 및 브로드캐스트 주소로 예약됩니다. - 각 BGP 세션의 각 BGP IP 주소 범위는 조직의 모든 VPN BGP 세션에서 고유해야 합니다.
MD5 인증은 지원되지 않습니다. MD5 해싱 알고리즘을 사용하여 데이터의 무결성과 신뢰성을 확인하는 방법입니다.
VPN BGP 세션 만들기
VPN 터널에 대해 BGP 세션을 만들려면 다음 단계를 따르세요.
플랫폼 네임스페이스의 조직 관리자 클러스터에
VPNBGPPeer
객체를 만듭니다.kubectl --kubeconfig MANAGEMENT_API_SERVER create -n platform -f - <<EOF apiVersion: networking.gdc.goog/v1 kind: VPNBGPPeer metadata: name: VPN_BGP_PEER_NAME spec: remote: name: REMOTE_PEER_NAME ip: REMOTE_PEER_IP asn: REMOTE_PEER_ASN local: name: LOCAL_PEER_NAME ip: LOCAL_PEER_IP asn: LOCAL_PEER_ASN EOF
다음을 바꿉니다.
MANAGEMENT_API_SERVER
: 영역 API 서버의 kubeconfig 경로입니다. 타겟 영역의 API 서버에 대한 kubeconfig 파일을 아직 생성하지 않은 경우 로그인을 참고하세요.VPN_BGP_PEER_NAME
: VPN BGP 피어의 이름입니다.REMOTE_PEER_NAME
: 원격 네트워크의 BGP 피어 이름입니다.REMOTE_PEER_IP
: 원격 네트워크에 있는 BGP 피어의/30
서브넷의 BGP IPv4 주소입니다.REMOTE_PEER_ASN
: 원격 네트워크에 구성된 자율 시스템 번호 (ASN)입니다.LOCAL_PEER_NAME
: GDC 조직의 BGP 피어 이름입니다.LOCAL_PEER_IP
: GDC 조직의 BGP 피어의/30
서브넷에서 가져온 BGP IPv4 주소입니다.LOCAL_PEER_ASN
: GDC 조직에 대해 구성된 ASN입니다.
Status
필드를 검사하여VPN_BGP_PEER_NAME
객체가 올바르게 조정되었는지 확인합니다.VPNBGPPeer
객체의 세부정보를 가져옵니다.kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpnbgppeer VPN_BGP_PEER_NAME
출력을 검토합니다. 출력은 다음 예와 비슷해야 합니다.
Status: Conditions: Last Transition Time: 2024-05-10T00:26:13Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: ValidIPs Last Transition Time: 2024-05-10T00:26:00Z Message: Used by 0 VPNTunnels, must be used by a single VPNTunnel Observed Generation: 1 Reason: GetResourceFailed Status: False Type: TunnelsAttached Last Transition Time: 2024-05-10T00:26:00Z Message: TunnelsAttached or ValidIPs Condition not Ready. Observed Generation: 1 Reason: Unknown Status: False Type: Reconciled Last Transition Time: 2024-05-10T00:26:01Z Message: ValidIPs or Reconciled Condition not Ready. Observed Generation: 1 Reason: Unknown Status: False Type: AdvertisedRoutesReady Last Transition Time: 2024-05-10T00:26:13Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: ReceivedRoutesValid Last Transition Time: 2024-05-10T00:26:01Z Message: TunnelsAttached Condition not Ready. Observed Generation: 1 Reason: Unknown Status: False Type: ReceivedRoutesReady Last Transition Time: 2024-05-10T00:26:01Z Message: Condition "TunnelsAttached" is not ready. Observed Generation: 1 Reason: NotReady Status: False Type: Ready ```
VPNBGPPeer
는 VPNTunnel
에 연결되어야 합니다. 이 단계는 VPN 터널 만들기에서 처리합니다.