VPN 게이트웨이 및 피어 게이트웨이 만들기

이 페이지에서는 VPN 게이트웨이 또는 피어 게이트웨이 리소스를 만드는 방법을 설명합니다.

VPN 게이트웨이는 온프레미스 데이터 센터와 클라우드 환경 간과 같은 여러 사이트 간의 보안 연결을 제공합니다. Google Distributed Cloud (GDC) 오프라인 VPN에는 두 가지 게이트웨이 구성요소가 있습니다.

  • GDC의 VPN 게이트웨이
  • 피어 VPN 게이트웨이 VPN 게이트웨이가 연결되는 피어 네트워크의 실제 VPN 게이트웨이 기기 또는 소프트웨어 애플리케이션입니다. 피어 게이트웨이는 온프레미스 VPN 게이트웨이이거나 다른 클라우드 제공업체가 호스팅하는 게이트웨이일 수 있습니다.

시작하기 전에

GDC 콘솔에서 VPN 리소스를 관리하거나 보려면 필요한 ID 및 액세스 역할이 있어야 합니다.

  • VPN 관리자: 모든 VPN 관련 리소스에 대한 읽기 및 쓰기 권한이 있습니다. 조직 IAM 관리자에게 VPN 관리자 (vpn-admin) 역할을 부여해 달라고 요청하세요.
  • VPN 뷰어: 모든 VPN 관련 리소스에 대한 읽기 권한이 있습니다. 조직 IAM 관리자에게 VPN 뷰어 (vpn-viewer) 역할을 부여해 달라고 요청하세요.
  • 자세한 내용은 역할 정의를 참고하세요.

VPN 게이트웨이 만들기

VPN 게이트웨이를 만들려면 다음 단계를 따르세요.

  1. IP 주소를 나타내도록 게이트웨이에서 인터페이스 이름을 지정합니다. 게이트웨이가 생성되면 외부 IPv4 주소가 자동으로 할당됩니다. 플랫폼 네임스페이스에서 VPN 게이트웨이 객체를 만듭니다.

    kubectl --kubeconfig MANAGEMENT_API_SERVER create -n platform -f - <<EOF
    apiVersion: networking.gdc.goog/v1
    kind: VPNGateway
    metadata:
      name: VPN_GW_NAME
    spec:
      interfaces:
      - name: VPN_INTERFACE_NAME
    EOF
    

    다음을 바꿉니다.

    • MANAGEMENT_API_SERVER: 영역 API 서버의 kubeconfig 경로입니다. 타겟 영역의 API 서버에 대한 kubeconfig 파일을 아직 생성하지 않은 경우 로그인을 참고하세요.
    • VPN_GW_NAME: VPN 게이트웨이 객체의 이름입니다. 예를 들면 vpngateway입니다.
    • VPN_INTERFACE_NAME: VPN 인터페이스의 이름입니다. 예를 들면 interface0입니다.
  2. Status 필드를 검사하여 VPN_GW_NAME 객체가 올바르게 조정되었는지 확인합니다. VPN 게이트웨이 객체의 세부정보를 가져옵니다.

    kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpngateway VPN_GW_NAME
    

    출력을 검토합니다. 출력은 다음 예와 비슷해야 합니다.

    
    status:
      conditions:
      - lastTransitionTime: "2024-05-10T00:12:58Z"
        message: All interfaces are assigned an IP.
        observedGeneration: 1
        reason: Ready
        status: "True"
        type: IPsAssigned
      - lastTransitionTime: "2024-05-10T00:12:36Z"
        message: Condition "TunnelsAttached" is not ready.
        observedGeneration: 1
        reason: NotReady
        status: "False"
        type: Ready
      - lastTransitionTime: "2024-05-10T00:12:36Z"
        message: 'At least one interface is not attached to any VPNTunnel: ["interface0"]'
        observedGeneration: 1
        reason: NoTunnelAttached
        status: "False"
        type: TunnelsAttached
      interfaces:
      - ip: 10.252.218.240
        name: interface0
    

VPNGateway 객체는 VPNTunnel에 연결되어야 합니다. 이 단계는 VPN 터널 만들기에서 처리합니다.

피어 VPN 게이트웨이 만들기

관리 API 서버에서 PeerGateway 객체를 만들어 피어 VPN 게이트웨이를 만듭니다. PeerGateway 객체는 원격 VPN 엔드포인트를 나타냅니다. PeerGateway 객체의 인터페이스는 VPN 터널에서 원격 사이트에 암호화된 터널을 설정하는 데 사용됩니다. 피어 VPN 게이트웨이를 만들려면 다음 단계를 따르세요.

  1. 인터페이스 이름과 피어 VPN 게이트웨이의 정적 외부 IPv4 주소를 지정합니다. PeerGateway 객체는 플랫폼 네임스페이스에 만들어야 합니다.

    kubectl --kubeconfig MANAGEMENT_API_SERVER create -n platform -f - <<EOF
    apiVersion: networking.gdc.goog/v1
    kind: PeerGateway
    metadata:
      name: PEER_GW_NAME
    spec:
      interfaces:
      - name: PEER_INTERFACE_NAME
        ip: PEER_INTERFACE_IP
    EOF
    

    다음을 바꿉니다.

    • PEER_GW_NAME: 피어 VPN 게이트웨이의 이름입니다. 예를 들면 peergateway입니다.
    • PEER_INTERFACE_NAME: 피어 인터페이스의 이름입니다. 예를 들면 interface0입니다.
    • PEER_INTERFACE_IP: 피어 VPN 게이트웨이의 고정 외부 IPv4 주소입니다.
  2. Status 필드를 검사하여 PEER_GW_NAME 객체가 올바르게 조정되었는지 확인합니다.

    피어 VPN 게이트웨이 객체의 세부정보를 가져옵니다.

    kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform peergateway PEER_GW_NAME
    

    출력을 검토합니다. 출력은 다음 예와 비슷해야 합니다.

    Status:
      Conditions:
        Last Transition Time:  2024-05-10T00:15:25Z
        Message:               Condition "TunnelsAttached" is not ready.
        Observed Generation:   1
        Reason:                NotReady
        Status:                False
        Type:                  Ready
        Last Transition Time:  2024-05-10T00:20:45Z
        Message:               Ready
        Observed Generation:   1
        Reason:                Ready
        Status:                True
        Type:                  ValidGatewayIPs
        Last Transition Time:  2024-05-10T00:15:25Z
        Message:               At least one interface is not attached to any VPNTunnel: ["interface0"]
        Observed Generation:   1
        Reason:                NoTunnelAttached
        Status:                False
        Type:                  TunnelsAttached
    

    PeerGateway 객체는 VPNTunnel에 의해 참조되어야 합니다. 이 단계는 VPN 터널 만들기에서 처리합니다.

다음 단계