Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create the VM instance
/ 30
Create a Cloud Storage bucket and Enable Private Google Access
/ 40
Configure a Cloud NAT gateway
/ 30
Create the VM instance
/ 30
Create a Cloud Storage bucket and Enable Private Google Access
/ 40
Configure a Cloud NAT gateway
/ 30
如果您是網路工程師或解決方案架構師,在某些情況下,可能需要為網路架構多添一層安全和/或隱私防護措施。舉例來說,您可能需要特定資源來建立與外部網路/公開網路的連線,但不希望任何未經授權的連線存取您的私人資源。
此時,您可以使用 Microsoft Azure 中的 Azure 私人端點來強化安全性和私密性。Azure 私人端點是一種網路介面,能以不公開的方式將 Azure 資源連至由 Azure Private Link 支援的服務。這個介面可為虛擬網路和 Azure 服務之間提供私密通訊,因此不必使用公開 IP 位址或在網際網路中曝光。
這樣的隱私性是透過 Azure 網路位址轉譯 (NAT) 閘道實現。Azure NAT 閘道是可用性高且受管理的網路閘道,能讓虛擬網路具備對外連線能力,並連至網際網路或其他網路。多個虛擬機器 (VM) 可共用向外存取網際網路的單一公開 IP 位址。
借助這些 Azure 功能,您可以強化網路流量的控管機制、讓連線保持不公開,並與 VM 互動,卻不會讓 VM 暴露於公開網路中。
看完上述內容後,您在 Google Cloud 工作時可能要考量下列問題:
現在您將學習如何在 Google Cloud 提升網路架構的安全性。
在本實驗室中,您將針對沒有外部 IP 位址的 VM 執行個體導入 Private Google Access 和 Cloud NAT。接著,再驗證是否可以存取 Google API 與服務的公開 IP 位址,以及能否進行其他網路連線。
沒有外部 IP 位址的 VM 執行個體會與外部網路隔絕。這類執行個體可以透過 Cloud NAT 存取網際網路,以便接收更新和修補程式,在某些情況下還能執行啟動程序。Cloud NAT 為代管服務,提供高可用性,且不須使用者管理和介入。
在本實驗室中,您將瞭解如何執行下列工作:
每個實驗室都會提供新的 Google Cloud 專案和一組資源,讓您在時限內免費使用。
請透過無痕視窗登入 Google Skills。
注意實驗室時間限制 (例如 1:15:00),並確實在該時限內完成相關工作。實驗室無法暫停。您可以重新開始,但原有進度不會保留。
準備就緒後,請按一下「Start lab」。
請記下研究室憑證 (使用者名稱和密碼),這組資訊將用於登入 Google Cloud 控制台。
點選「Open Google Console」。
點選「Use another account」,然後複製本實驗室的憑證,並貼到提示訊息中。 如果使用其他憑證,會出現錯誤訊息或產生費用。
接受條款,然後略過資源復原頁面。
建立具備防火牆規則的虛擬私有雲網路和沒有外部 IP 位址的 VM 執行個體,然後透過 IAP 通道連線至該執行個體。
首先,請為 VM 執行個體建立虛擬私有雲網路,並設定允許透過 SSH 存取的防火牆規則。
前往 Cloud 控制台的導覽選單 (),依序點選「虛擬私有雲網路」>「虛擬私有雲網路」。
點選「建立虛擬私有雲網路」。
在「名稱」部分,輸入 privatenet。
在「子網路建立模式」部分,按一下「自訂」。
在「新的子網路」部分中指定下列屬性,並將剩餘設定保持預設狀態:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 名稱 | privatenet-us |
| 區域 | |
| IPv4 位址範圍 | 10.130.0.0/20 |
按一下「完成」。
按一下「建立」,然後等待網路建立完成。
在左側窗格中點選「防火牆」。
按一下「建立防火牆規則」。
指定下列屬性,其餘設定保持預設狀態:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 名稱 | privatenet-allow-ssh |
| 網路 | privatenet |
| 目標 | 網路中的所有執行個體 |
| 來源篩選器 | IPv4 範圍 |
| 來源 IPv4 範圍 | 35.235.240.0/20 |
| 通訊協定和通訊埠 | 指定的通訊協定和通訊埠 |
在「TCP」部分,勾選核取方塊並指定通訊埠 22。
點選「建立」。
前往 Cloud 控制台的「導覽選單」,依序點選「Compute Engine」>「VM 執行個體」。
點選「建立執行個體」。
在「機器設定」頁面指定下列屬性,其餘設定保持預設狀態:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 名稱 | vm-internal |
| 區域 | |
| 可用區 | |
| 系列 | E2 |
| 機型 | e2-medium (2 個 vCPU,4 GB 記憶體) |
點選「OS 和儲存空間」。
如果顯示的「映像檔」不是「Debian GNU/Linux 12 (bookworm)」,請按一下「變更」後選擇「Debian GNU/Linux 12 (bookworm)」,再點按「選取」。
按一下「網路」。
在「網路介面」部分,指定下列資訊來編輯網路介面:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 網路 | privatenet |
| 子網路 | privatenet-us |
| 外部 IPv4 位址 | 無 |
點選「Check my progress」來確認目標已達成。
由於 vm-internal 沒有外部 IP 位址,這項指令應該會無法運作!
ping 指令執行完畢。沒有外部 IP 位址的 VM 執行個體可以使用 Private Google Access,存取 Google API 和服務的外部 IP 位址。系統預設會在虛擬私有雲網路中停用 Private Google Access。
建立 Cloud Storage bucket,用來測試能否存取 Google API 和服務。
前往 Cloud 控制台的導覽選單 (),依序點選「Cloud Storage」>「bucket」。
點選「建立」。
指定下列屬性,其餘設定保持預設狀態:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 名稱 | 輸入全域不重複的名稱 |
| 位置類型 | 多區域 |
點選「建立」。系統提示您啟用禁止公開存取功能時,請確定已勾選該選項,然後點選「確認」,並記下 Storage bucket 的名稱。
將 bucket 名稱存在環境變數中:
從公開的 Cloud Storage bucket 複製圖片到自己的 bucket。
您可以在 Cloud 控制台中點選該圖片的名稱,查看 Private Google Access 導入方式的示例。
這項指令應可正常運作,因為 Cloud Shell 具有外部 IP 位址!
如果出現提示訊息,輸入 Y 即可繼續操作。
將 bucket 名稱存在環境變數中:
這項指令應該會無法運作:由於 Private Google Access 預設為停用,vm-internal 只能在虛擬私有雲網路內傳送流量。
您可以在子網路層級啟用 Private Google Access。啟用後,子網路中只具有私人 IP 位址的執行個體就能透過預設路徑 (下一個躍點為預設網際網路閘道 (0.0.0.0/0)),將流量傳送到 Google API 和服務。
點選「Check my progress」來確認目標已達成。
由於 vm-internal 的子網路已啟用 Private Google Access,這項指令應可正常運作!
雖然目前 vm-internal 就算沒有外部 IP 位址也能存取特定 Google API 和服務,但該執行個體無法存取網際網路來接收更新和修補程式。您需要設定 Cloud NAT 閘道,藉此讓 vm-internal 存取網際網路。
輸出內容的結尾部分應該會與下方示例類似:
由於 Cloud Shell 具有外部 IP 位址,這項指令應可正常運作!
由於 vm-internal 僅具有 Google API 和服務的存取權,這項指令應該只適用於 Google Cloud 套件!
Cloud NAT 是區域性資源。您可以設定 Cloud NAT,允許下列來源的流量:某個區域中所有子網路的全部範圍、僅限該區域中的特定子網路,或是僅限特定的主要和次要 CIDR 範圍。
前往 Google Cloud 控制台,在標題列的「搜尋」欄位輸入「網路服務」,然後點選搜尋結果中的「網路服務」。
在「網路服務」頁面,點選「網路服務」旁的「固定」圖示。
點選「Cloud NAT」。
點選「開始」來設定 NAT 閘道。
指定下列屬性:
| 屬性 | 值 (按照指示輸入值或選取選項) |
|---|---|
| 閘道名稱 | nat-config |
| 網路 | privatenet |
| 區域 |
在「Cloud Router」部分,選取「建立新路由器」。
在「名稱」部分,輸入 nat-router。
點選「建立」。
點選「Check my progress」來確認目標已達成。
NAT 設定最多需要 3 分鐘才會套用至 VM,因此請先至少等待 1 分鐘,再重新嘗試存取網際網路。
輸出內容的結尾部分應該會與下方示例類似:
由於 vm-internal 正在使用 NAT 閘道,這項指令應可正常運作!
透過 Cloud NAT 記錄功能,您可以記錄 NAT 連線和錯誤。Cloud NAT 記錄功能啟用後,您可選擇在發生下列任一情況時,讓系統產生一個記錄項目:
您可以選擇一併記錄上述兩種事件,或者只記錄其中一種事件。建立完成的記錄檔會傳送至 Cloud Logging。
記錄功能啟用後,所有收集到的記錄檔依預設都會傳送至 Cloud Logging。您可以進行篩選,讓系統只傳送特定的記錄檔。
此外,您也能在建立 NAT 閘道時指定相關的值,或是編輯建立完成的閘道來指定這些值。以下說明如何為現有 NAT 閘道啟用記錄功能。
前往 Google Cloud 控制台的「導覽選單」,依序點選「網路服務」>「Cloud NAT」。
依序點選「nat-config」閘道 >「編輯」。
點選「進階設定」下拉式選單,即可展開相應區段。
選取「Logging」下方的「轉譯和錯誤」,然後點選「儲存」。
nat-config 閘道的 Cloud NAT 記錄功能已設定完畢,接著說明可以在哪裡查看記錄。
按一下「nat-config」來顯示相關詳細資料,接著點選 Logs Explorer 的連結。
Logs Explorer 隨即會在新分頁開啟。
閘道的記錄功能剛剛啟用,因此目前沒有任何記錄。
提醒您,發生下列任一情況時,系統會產生 Cloud NAT 記錄檔。
請再次將主機連線至內部 VM,看看是否會產生任何記錄檔。
輸出內容應該會與下方示例類似:
接著來看看啟動此連線是否在記錄檔中產生任何新內容。
頁面中應會顯示連線至內部 VM 後產生的兩筆新記錄。
在記錄檔中,您可以進一步瞭解所連線的虛擬私有雲網路及採用的連線方式。此外,也可任意展開各項標籤和詳細資料。
您建立了沒有外部 IP 位址的執行個體 vm-internal,然後透過 IAP 通道安全地連線至該執行個體。接著,您還啟用 Private Google Access、設定 NAT 閘道,並驗證 vm-internal 可存取 Google API 與服務,以及其他公開 IP 位址。
沒有外部 IP 位址的 VM 執行個體會與外部網路隔絕。這類執行個體可以透過 Cloud NAT 存取網際網路,以便接收更新和修補程式,在某些情況下還能執行啟動程序。Cloud NAT 為代管服務,提供高可用性,且不須使用者管理和介入。
當您連線至 VM 執行個體時,IAP 會使用您現有的專案角色和權限。根據預設,執行個體擁有者是唯一具有受 IAP 保護的通道使用者角色的使用者。
如要瞭解如何允許其他使用者透過 IAP 通道存取您的 VM,請參閱 Cloud Architecture Center 的「將存取權授予其他使用者」指南。
Private Google Access 和 Google Cloud NAT 是 Google Cloud 的兩大功能,可提供網路連線解決方案;相對應的 Microsoft Azure 功能則為 Private Link 和 Azure NAT 閘道。
以下統整這些服務之間的異同處:
相似處
相異處
如果您已完成實驗室,請點選「End Lab」。Google Skills 會清除您使用的資源和帳戶。
您可以為實驗室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」。
星級評等代表您的滿意程度:
如果不想提供意見回饋,您可以直接關閉對話方塊。
如有任何想法、建議或指教,請透過「Support」分頁提交。
Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。
This content is not currently available
We will notify you via email when it becomes available
Great!
We will contact you via email if it becomes available
One lab at a time
Confirm to end all existing labs and start this one
Complete this quick step to start your lab.