GSP193
總覽
有了 Google Cloud 虛擬私有雲 (VPC) 網路對接功能,就能在兩個虛擬私有雲網路之間建立私人連線,無論是否屬於相同專案或機構都沒問題。
這項功能可讓您在 Google Cloud 中建構軟體式服務 (SaaS) 生態系統,於不同/相同機構中的不同虛擬私有雲網路上,以不公開的方式提供服務,讓各個工作負載可在私人空間中通訊。
虛擬私有雲網路對接適合:
具有數個網路管理網域的機構。
要與其他機構建立對接的機構。
如果貴機構有多個網路管理網域,虛擬私有雲網路對接可讓您跨虛擬私有雲網路,在私人空間中提供各項服務。您還可使用虛擬私有雲網路對接,透過私人空間為其他機構提供服務。
跨機構提供服務這項功能相當實用,不僅在為其他企業提供服務時可派上用場,如果因合併/收購或自家機構結構本身即擁有多個不同的機構節點,也可使用這項功能。
比起使用外部 IP 位址或 VPN 連線至網路,虛擬私有雲網路對接可帶來諸多優勢,其中包含:
網路延遲時間: 私人網路的延遲時間比公開 IP 網路短。
網路安全性: 服務擁有者不需要讓自己的服務暴露在公開的網際網路中,因此也不需要處理相關風險。
網路成本: 對接網路可使用內部 IP 進行通訊,節省 Google Cloud 輸出頻寬費用。一般網路定價仍然適用於所有流量。
學習內容
在兩項專案中建立自訂網路
設定虛擬私有雲網路對接工作階段
設定和需求
瞭解以下事項後,再點選「Start Lab」按鈕
請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」 後就會開始計時,顯示可使用 Google Cloud 資源的時間。
您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。
為了順利完成這個實驗室,請先確認:
可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項: 請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項: 務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。
如何開始研究室及登入 Google Cloud 控制台
點選「Start Lab」 按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:
「Open Google Cloud console」按鈕
剩餘時間
必須在這個研究室中使用的臨時憑證
完成這個實驗室所需的其他資訊 (如有)
點選「Open Google Cloud console」 ;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」 。
接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。
提示 :您可以在不同的視窗中並排開啟分頁。
注意 :如果頁面中顯示「選擇帳戶」 對話方塊,請點選「使用其他帳戶」 。
如有必要,請將下方的 Username 貼到「登入」 對話方塊。
{{{user_0.username | "Username"}}}
您也可以在「Lab Details」窗格找到 Username。
點選「下一步」 。
複製下方的 Password ,並貼到「歡迎使用」 對話方塊。
{{{user_0.password | "Password"}}}
您也可以在「Lab Details」窗格找到 Password。
點選「下一步」 。
重要事項 :請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。
注意 :如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
按過後續的所有頁面:
接受條款及細則。
由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
請勿申請免費試用。
Google Cloud 控制台稍後會在這個分頁開啟。
注意: 如要使用 Google Cloud 產品和服務,請點選「導覽選單」 ,或在「搜尋」 欄位輸入服務或產品名稱。
啟動 Cloud Shell
Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。
點按 Google Cloud 控制台頂端的「啟用 Cloud Shell」 圖示 。
系統顯示視窗時,請按照下列步驟操作:
繼續操作 Cloud Shell 視窗。
授權 Cloud Shell 使用您的憑證發出 Google Cloud API 呼叫。
連線建立完成即代表已通過驗證,而且專案已設為您的 Project_ID : 。輸出內容中有一行文字,宣告本工作階段的 Project_ID :
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵自動完成功能。
(選用) 您可以執行下列指令來列出使用中的帳戶:
gcloud auth list
點按「授權」 。
輸出內容:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
(選用) 您可以使用下列指令來列出專案 ID:
gcloud config list project
輸出內容:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
注意: 如需 gcloud
的完整說明,請前往 Google Cloud 參閱 gcloud CLI 總覽指南 。
工作 1:在兩項專案中建立自訂網路
在同一機構節點中,某個網路所託管的服務可能需透過相同/不同專案中的其他虛擬私有雲網路存取。
或者,某機構可能需要存取第三方服務提供的服務。
專案名稱在整個 Google Cloud 中皆不重複,因此設定對接時不需要指定機構。Google Cloud 可根據專案名稱辨別機構。
本實驗室已佈建 2 項專案,分別是「project-A」和 「project-B」 。
在每項專案中,點選「+」圖示 啟動新的 Cloud Shell。
在 project-A 的 Cloud Shell 中,設定 project-A 的專案 ID:
gcloud config set project {{{project_0.project_id | Project 1}}}
在 project-B 的 Cloud Shell 中,設定 project-B 的專案 ID:
gcloud config set project {{{project_1.project_id | Project 2}}}
project-A:
返回第一個 Cloud Shell,並執行以下指令來建立自訂網路:
gcloud compute networks create network-a --subnet-mode custom
執行以下指令,在這個虛擬私有雲中建立子網路,並指定區域和 IP 範圍:
gcloud compute networks subnets create network-a-subnet --network network-a \
--range 10.0.0.0/16 --region {{{ project_0.default_region }}}
建立 VM 執行個體:
gcloud compute instances create vm-a --zone {{{ project_0.default_zone }}} --network network-a --subnet network-a-subnet --machine-type e2-small
您需要使用安全殼層在測試連線時與 VM 通訊,因此請執行以下指令來啟用 SSH 和 icmp
:
gcloud compute firewall-rules create network-a-fw --network network-a --allow tcp:22,icmp
接著以相同方式設定 project-B。
點選「Check my progress」 ,確認目標已達成。
在 project-A 中建立自訂網路
project-B:
切換至第二個 Cloud Shell 並建立自訂網路:
gcloud compute networks create network-b --subnet-mode custom
執行以下指令,在這個虛擬私有雲中建立子網路,並指定區域和 IP 範圍:
gcloud compute networks subnets create network-b-subnet --network network-b \
--range 10.8.0.0/16 --region {{{ project_1.default_region }}}
建立 VM 執行個體:
gcloud compute instances create vm-b --zone {{{ project_1.default_zone }}} --network network-b --subnet network-b-subnet --machine-type e2-small
您需要使用安全殼層在測試連線時與 VM 通訊,因此請執行以下指令來啟用 SSH 和 icmp
:
gcloud compute firewall-rules create network-b-fw --network network-b --allow tcp:22,icmp
點選「Check my progress」 ,確認目標已達成。
在 project-B 中建立自訂網路
工作 2:設定虛擬私有雲網路對接工作階段
假設有一個機構需要在 project-A 的 network-A 與 project-B 中的 network-B 之間,建立虛擬私有雲網路對接。如要成功建立虛擬私有雲網路對接,network-A 和 network-B 的管理員必須個別設定對接關聯。
將 network-A 對接到 network-B:
套用設定前,請先在控制台中選取正確的專案,方法是在畫面頂端點選專案 ID 旁邊的向下箭頭,然後選取所需專案 ID。
project-A
在 Cloud 控制台中前往「虛擬私有雲網路對等互連」
部分,方法是在左選單中前往「網路」部分,然後依序點選「虛擬私有雲網路」>「虛擬私有雲網路對等互連」 。在該部分中:
點選「建立連線」 。
點選「繼續」 。
輸入「peer-ab」做為連線這一端的名稱 。
在「您的虛擬私有雲網路」 底下,選取要對接的網路 (network-a)。
將「對等互連虛擬私有雲網路」 圓形按鈕設為「在其他專案中」 。
貼上第二項專案的專案 ID 。
{{{ project_1.project_id }}}
輸入另一個網路 (network-b) 的虛擬私有雲網路名稱 。
點選「建立」 。
此時因為在 project-b 的 network-b 中沒有相符的設定,因此對接狀態仍然是「無效」。您應該會看到以下狀態訊息:Waiting for peer network to connect
。
點選「Check my progress」 ,確認目標已達成。
將 network-a 對接到 network-b
將 network-b 對接到 network-a
附註: 請在控制台中切換至第二項專案。
project-B
點選「建立連線」 。
點選「繼續」 。
輸入「peer-ba」做為連線這一端的名稱 。
在「您的虛擬私有雲網路」 底下,選取您要對接的網路 (network-b)。
除非您要在相同專案中進行對接,否則請將「對等互連虛擬私有雲網路」 圓形按鈕設為「在其他專案中」 。
指定第一項專案的專案 ID 。
{{{ project_0.project_id }}}
指定另一個網路 (network-a) 的虛擬私有雲網路名稱 。
點選「建立」 。
虛擬私有雲網路對接的屬性清單中現在應該會列出 peer-ba
。
虛擬私有雲網路對接會變為「有效」,且路徑會交換。對接進入「有效」狀態後,系統就會設定流量:
對接網路中的不同 VM 執行個體之間:完整網狀連線。
從單一網路中的 VM 執行個體到對接網路中的內部負載平衡端點。
針對連至對接網路的路徑,其 CIDR 前置碼現在會顯示在虛擬私有雲網路對接項目中。這些路徑是為有效的對接產生的隱含路徑,沒有對應的路徑資源。下列指令會列出 project-A 所有虛擬私有雲網路的路徑。
gcloud compute routes list --project {{{ project_0.project_id }}}
輸出內容範例:
NAME NETWORK DEST_RANGE NEXT_HOP PRIORITY
default-route-2a865a00fa31d5df network-a 0.0.0.0/0 default-internet-gateway 1000
default-route-8af4732e693eae27 network-a 10.0.0.0/16 1000
peering-route-4732ee69e3ecab41 network-a 10.8.0.0/16 peer-ab 1000
點選「Check my progress」 ,確認目標已達成。
將 network-b 對接到 network-a
工作 3:測試連線能力
在這項工作中,您要測試連線能力。
project-A
依序點選「導覽選單」 圖示 >「Compute Engine」 >「VM 執行個體」 ,前往 VM 執行個體控制台。
複製 vm-a
的 INTERNAL_IP 。
project-B
依序點選「導覽選單」 圖示 >「Compute Engine」 >「VM 執行個體」 。
透過 SSH 連線至 vm-b
執行個體。
在 vm-b
的 SSH 殼層中執行以下指令,並將 <INTERNAL_IP_OF_VM_A>
替換為 vm-a 執行個體的 INTERNAL_IP:
ping -c 5 <INTERNAL_IP_OF_VM_A>
輸出內容範例:
PING 10.8.0.2 (10.8.0.2) 56(84) bytes of data.
64 bytes from 10.8.0.2: icmp_seq=1 ttl=64 time=1.07 ms
64 bytes from 10.8.0.2: icmp_seq=2 ttl=64 time=0.364 ms
64 bytes from 10.8.0.2: icmp_seq=3 ttl=64 time=0.205 ms
64 bytes from 10.8.0.2: icmp_seq=4 ttl=64 time=0.216 ms
64 bytes from 10.8.0.2: icmp_seq=5 ttl=64 time=0.164 ms
--- 10.8.0.2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4065ms
rtt min/avg/max/mdev = 0.164/0.404/1.072/0.340 ms
恭喜!
您已瞭解如何在 Google Cloud 中,跨專案設定虛擬私有雲網路對接。
後續步驟/瞭解詳情
Google Cloud 教育訓練與認證
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程 會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證 可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2024 年 4 月 15 日
實驗室上次測試日期:2023 年 9 月 25 日
Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。