本頁說明如何建立 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 通道」中處理這個步驟。