
准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
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 專案,並使用一組資源。
請透過無痕式視窗登入 Qwiklabs。
請記下研究室的存取時間 (例如 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 Cloud Skills Boost 會移除您使用的資源,並清除所用帳戶。
您可以針對研究室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」(提交)。
星級評等代表您的滿意程度:
如果不想提供意見回饋,您可以直接關閉對話方塊。
如有任何想法、建議或指教,請透過「Support」(支援) 分頁提交。
Copyright 2022 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验