
准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Create the VM instance
/ 30
Create a Cloud Storage bucket and Enable Private Google Access
/ 40
Configure a Cloud NAT gateway
/ 30
如果您是網路工程師或解決方案架構師,在某些情況下,可能需要為網路架構多添一層安全和/或隱私防護措施。舉例來說,您可能需要特定資源來建立與外部網路/公開網路的連線,但不希望任何未經授權的連線存取私人資源。
使用 AWS 時,您應該擬定不同策略,以精確控管能存取您服務和資源 (例如 EC2 執行個體) 的連線:
看完上述內容後,您在 Google Cloud 工作時可能會有下列疑問:
現在您將學習如何在 Google Cloud 提升網路架構的安全性。
在本實驗室中,您將針對沒有外部 IP 位址的 VM 執行個體導入 Private Google Access 和 Cloud NAT。接著,再驗證是否可以存取 Google API 與服務的公開 IP 位址,以及能否進行其他網路連線。
沒有外部 IP 位址的 VM 執行個體會與外部網路隔絕。透過 Cloud NAT,這類執行個體可以存取網際網路,以便接收更新和修補程式,在某些情況下還能執行啟動程序。Cloud NAT 為代管服務,提供高可用性,且不須使用者管理和介入。
在本實驗室中,您將瞭解如何執行下列工作:
每個實驗室都會提供新的 Google Cloud 專案和一組資源,讓您在時限內免費使用。
按一下「Start Lab」按鈕。如果研究室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。左側的「Lab Details」窗格會顯示下列項目:
點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。
接著,實驗室會啟動相關資源並開啟另一個分頁,當中顯示「登入」頁面。
提示:您可以在不同的視窗中並排開啟分頁。
如有必要,請將下方的 Username 貼到「登入」對話方塊。
您也可以在「Lab Details」窗格找到 Username。
點選「下一步」。
複製下方的 Password,並貼到「歡迎使用」對話方塊。
您也可以在「Lab Details」窗格找到 Password。
點選「下一步」。
按過後續的所有頁面:
Google Cloud 控制台稍後會在這個分頁開啟。
建立具備防火牆規則的虛擬私有雲網路和沒有外部 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 名稱存在環境變數中:
這項指令應該會無法運作:vm-internal 只能在虛擬私有雲網路內傳送流量,因為私人 Google 存取權預設為停用。
您可以在子網路層級啟用 Private Google Access。啟用後,子網路中只具有私人 IP 位址的執行個體就能透過預設路徑 (下一個躍點為預設網際網路閘道 (0.0.0.0/0)),將流量傳送到 Google API 和服務。
點選「Check my progress」來確認目標已達成。
這項指令應可正常運作,因為 vm-internal 的子網路已啟用私人 Google 存取權!
雖然目前 vm-internal 就算沒有外部 IP 位址也能存取特定 Google API 和服務,但該執行個體無法存取網際網路來接收更新和修補程式。您需要設定 Cloud NAT 閘道,藉此讓 vm-internal 存取網際網路。
輸出內容的結尾部分應該會與下方示例類似:
這項指令應可正常運作,因為 Cloud Shell 具有外部 IP 位址!
這項指令應該只適用於 Google Cloud 套件,因為 vm-internal 僅具有 Google API 和服務的存取權!
Cloud NAT 是區域性資源。您可以將 Cloud NAT 設為允許下列類型的流量:來自某個區域中所有子網路範圍的流量、僅限來自某個區域中特定子網路的流量,或是僅限來自特定主要和次要 CIDR 範圍的流量。
前往 Google Cloud 控制台,在標題列的「搜尋」欄位輸入「網路服務」,然後點選「產品和頁面」部分中的「網路服務」。
在「Network service」(網路服務) 頁面,點選「Network services」(網路服務) 旁的固定圖示。
點選「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。
閘道的記錄功能剛剛啟用,因此目前沒有任何記錄。
提醒您,發生下列任一情況時,系統可產生 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 的「將存取權授予其他使用者」指南。
Google Cloud 可讓您透過多種方式為網路導入隱私和安全防護機制,做法與 AWS 類似:
如果您已完成研究室,請按一下「End Lab」(關閉研究室)。Google Cloud Skills Boost 會移除您使用的資源,並清除所用帳戶。
您可以針對研究室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」(提交)。
星級評等代表您的滿意程度:
如果不想提供意見回饋,您可以直接關閉對話方塊。
如有任何想法、建議或指教,請透過「Support」(支援) 分頁提交。
Copyright 2022 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验