本頁說明如何建立 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 閘道,請按照下列步驟操作:
- 在閘道上指定介面名稱,代表 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。
 
- 檢查 - 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 閘道,請按照下列步驟操作:
- 指定介面名稱和對等互連 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
 
- 檢查 - 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 通道」中處理這個步驟。