建立 VPN 閘道和對等互連閘道

本頁說明如何建立 VPN 閘道或對等互連閘道資源。

VPN 閘道可在多個網站之間提供安全連線,例如內部部署資料中心和雲端環境之間。如要設定 Google Distributed Cloud (GDC) 氣隙隔離 VPN,需要設定兩個閘道元件:

  • GDC 中的 VPN 閘道。
  • 對等互連 VPN 閘道。這是對等互連網路中的實體 VPN 閘道裝置或軟體應用程式,VPN 閘道會連線至該網路。對等互連閘道可以是地端部署 VPN 閘道,也可以是由其他雲端供應商代管的閘道。

事前準備

如要透過 GDC 控制台管理或查看 VPN 資源,您必須具備必要的 Identity and Access 角色:

  • 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 介面的名稱。VPN_INTERFACE_NAME例如: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 閘道

在 Management API 伺服器中建立 PeerGateway 物件,即可建立對等互連 VPN 閘道。PeerGateway 物件代表遠端 VPN 端點。VPN 通道會使用 PeerGateway 物件上的介面,與遠端網站建立加密通道。如要建立對等互連 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
    • :對等互連 VPN 閘道的靜態外部 IPv4 位址。PEER_INTERFACE_IP
  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 通道」中處理這個步驟。

後續步驟