arrow_back

多個虛擬私有雲網路

加入 登录
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

多個虛擬私有雲網路

Lab 1 小时 10 分钟 universal_currency_alt 5 积分 show_chart 中级
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP211

Google Cloud 自修研究室標誌

總覽

在這個研究室中,您會建立多個虛擬私有雲網路和 VM 執行個體,並測試網路之間的連線能力。具體來說,您會建立兩個含有防火牆規則和 VM 執行個體的自訂模式網路 (managementnetprivatenet),如下列網路圖表所示:

網路圖表

在這個研究室中,我們已為您建立 mynetwork 網路,當中含有防火牆規則和兩個 VM 執行個體 (mynet--vmmynet--vm)。

目標

在這個研究室中,您可學習如何執行下列工作:

  • 建立含有防火牆規則的自訂模式虛擬私有雲網路
  • 使用 Compute Engine 建立 VM 執行個體
  • 瞭解各個虛擬私有雲網路的 VM 執行個體連線能力
  • 建立具備多個網路介面的 VM 執行個體

設定和需求

點選「Start Lab」按鈕前的須知事項

請詳閱以下操作說明。研究室活動會計時,而且中途無法暫停。點選「Start Lab」 後就會開始計時,讓您瞭解有多少時間可以使用 Google Cloud 資源。

您將在真正的雲端環境中完成實作研究室活動,而不是在模擬或示範環境。為達此目的,我們會提供新的暫時憑證,讓您用來在研究室活動期間登入及存取 Google Cloud。

如要完成這個研究室活動,請先確認:

  • 您可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意:請使用無痕模式或私密瀏覽視窗執行此研究室。這可以防止個人帳戶和學生帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成研究室活動了!別忘了,活動一開始將無法暫停。
注意:如果您擁有個人 Google Cloud 帳戶或專案,請勿用於本研究室,以免產生額外費用。

如何開始研究室及登入 Google Cloud 控制台

  1. 按一下「Start Lab」(開始研究室) 按鈕。如果研究室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。左側的「Lab Details」(研究室詳細資料) 面板會顯示下列項目:

    • 「Open Google Console」(開啟 Google 控制台) 按鈕
    • 剩餘時間
    • 必須在這個研究室中使用的暫時憑證
    • 完成這個研究室所需的其他資訊 (如有)
  2. 按一下「Open Google Console」(開啟 Google 控制台)。接著,研究室會啟動相關資源並開啟另一個分頁,當中會顯示「Sign in」(登入) 頁面。

    提示:您可以在不同的視窗中並排開啟分頁。

    注意事項:如果頁面中顯示了「Choose an account」(選擇帳戶) 對話方塊,請按一下「Use Another Account」(使用其他帳戶)
  3. 如有必要,請複製「Lab Details」(研究室詳細資料) 面板中的使用者名稱,然後貼到「Sign in」(登入) 對話方塊。按一下「Next」(下一步)

  4. 複製「Lab Details」(研究室詳細資料) 面板中的密碼,然後貼到「Welcome」(歡迎使用) 對話方塊。按一下「Next」(下一步)

    重要注意事項:請務必使用左側面板中的憑證,而非 Google Cloud 技能重點加強的憑證。 注意事項:如果使用自己的 Google Cloud 帳戶來進行這個研究室,可能會產生額外費用。
  5. 按過後續的所有頁面:

    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

Cloud 控制台稍後會在這個分頁中開啟。

注意事項:按一下畫面左上方的導覽選單,即可在選單中查看 Google Cloud 產品與服務的清單。「導覽選單」圖示

啟動 Cloud Shell

Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。

  1. 點按 Google Cloud 控制台上方的「啟用 Cloud Shell」圖示 「啟動 Cloud Shell」圖示

連線完成即代表已通過驗證,且專案已設為您的 PROJECT_ID。輸出內容中有一行宣告本工作階段 PROJECT_ID 的文字:

您在本工作階段中的 Cloud Platform 專案會設為「YOUR_PROJECT_ID」

gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵自動完成功能。

  1. (選用) 您可以執行下列指令來列出使用中的帳戶:
gcloud auth list
  1. 點按「授權」

  2. 輸出畫面應如下所示:

輸出內容:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (選用) 您可以使用下列指令來列出專案 ID:
gcloud config list project

輸出內容:

[core] project = <project_ID>

輸出內容範例:

[core] project = qwiklabs-gcp-44776a13dea667a6 附註:如需有關 gcloud 的完整說明,請前往 Google Cloud 並參閱「gcloud CLI overview guide」(gcloud CLI 總覽指南)。

工作 1:建立含有防火牆規則的自訂模式虛擬私有雲網路

建立兩個分別名為 managementnetprivatenet 的自訂網路,並設定防火牆規則來允許 SSHICMPRDP 輸入流量。

建立 managementnet 網路

使用 Cloud 控制台建立 managementnet 網路。

  1. 依序點選 Cloud 控制台中的「導覽選單」圖示 「導覽選單」圖示 >「虛擬私有雲網路」>「虛擬私有雲網路」

導覽選單

  1. 請留意 defaultmynetwork 網路及其子網路。

    各項 Google Cloud 專案一開始時都含有 default 網路。另外,系統已為您預先建立了 mynetwork 網路,如網路圖表所示。

  2. 按一下「建立虛擬私有雲網路」

  3. 在「名稱」中輸入 managementnet

  4. 在「子網路建立模式」部分,按一下「自訂」

  5. 依據下方的值進行設定,其他設定均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    名稱 managementsubnet-
    區域
    IPv4 範圍 10.130.0.0/20
  6. 按一下「完成」

  7. 按一下「對等指令列」

    您也可以依據這些指令,透過 Cloud Shell 指令列建立網路和子網路。稍後建立 privatenet 網路時,您會使用這些指令,並設定類似的參數。

  8. 按一下「關閉」

  9. 按一下「建立」

測試已完成的工作

點選「Check my progress」,確認工作已完成。如果已成功建立 managementnet 網路,您就會看見評估分數。

建立 managementnet 網路

建立 privatenet 網路

透過 Cloud Shell 指令列建立 privatenet 網路。

  1. 執行下列指令來建立 privatenet 網路:
gcloud compute networks create privatenet --subnet-mode=custom
  1. 執行下列指令,建立 privatesubnet- 子網路:
gcloud compute networks subnets create privatesubnet-{{{project_0.startup_script.gcp_region | Region}}} --network=privatenet --region={{{project_0.startup_script.gcp_region | Region}}} --range=172.16.0.0/24
  1. 執行下列指令,建立 privatesubnet- 子網路:
gcloud compute networks subnets create privatesubnet-{{{project_0.startup_script.secondary_region | Region}}} --network=privatenet --region={{{project_0.startup_script.secondary_region | Region}}} --range=172.20.0.0/20

測試已完成的工作

點選「Check my progress」,確認工作已完成。如果已成功建立 privatenet 網路,您就會看見評估分數。

建立 privatenet 網路
  1. 執行下列指令,列出可用的虛擬私有雲網路:
gcloud compute networks list

輸出內容應如下所示:

NAME: default SUBNET_MODE: AUTO BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: NAME: managementnet SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: ... 注意事項:defaultmynetwork 均為自動模式網路,managementnetprivatenet 則是自訂模式網路。自動模式網路會自動在每個區域中建立子網路,自訂模式網路一開始則沒有任何子網路,方便您完整控管是否建立子網路
  1. 執行下列指令,列出可用的虛擬私有雲子網路 (按照虛擬私有雲網路排序):
gcloud compute networks subnets list --sort-by=NETWORK

輸出內容應如下所示:

NAME: default REGION: {{{project_0.startup_script.gcp_region | Region}}} NETWORK: default RANGE: 10.128.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: ... 注意事項:一如預期,defaultmynetwork 網路為自動模式網路,因此每個區域 (可用區/區域可能會因研究室要求而有出入) 都有子網路。managementnetprivatenet 網路是自訂模式網路,因此只含有您建立的子網路。
  1. 依序點選 Cloud 控制台中的「導覽選單」圖示 >「虛擬私有雲網路」>「虛擬私有雲網路」
  2. 您會發現 Cloud 控制台列出了相同的網路和子網路。

建立 managementnet 的防火牆規則

建立防火牆規則,藉此允許 SSHICMPRDP 輸入流量傳送至 managementnet 網路中的 VM 執行個體。

  1. 依序點選 Cloud 控制台中的「導覽選單」圖示 「導覽選單」圖示 >「虛擬私有雲網路」>「防火牆」

  2. 按一下「+ 建立防火牆規則」

  3. 依據下方的值進行設定,其他設定均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    名稱 managementnet-allow-icmp-ssh-rdp
    網路 managementnet
    目標 網路中的所有執行個體
    來源篩選器 IPv4 範圍
    來源 IPv4 範圍 0.0.0.0/0
    通訊協定和通訊埠 指定通訊協定和通訊埠,先勾選「TCP」並輸入「22, 3389」,然後勾選「其他通訊協定」並輸入「icmp」。
注意事項:請務必在「來源 IPv4 範圍」中加入 /0 來指定所有網路。
  1. 按一下「對等指令列」

    您也可以依據這些指令,透過 Cloud Shell 指令列建立防火牆規則。之後建立 privatenet 的防火牆規則時,您會使用這些指令,並設定類似的參數。

  2. 按一下「關閉」

  3. 按一下「建立」

測試已完成的工作

點選「Check my progress」,確認工作已完成。如果已成功建立 managementnet 網路的防火牆規則,您就會看見評估分數。

建立 managementnet 的防火牆規則

建立 privatenet 的防火牆規則

使用 Cloud Shell 指令列建立 privatenet 網路的防火牆。

  1. 在 Cloud Shell 中執行下列指令,藉此建立 privatenet-allow-icmp-ssh-rdp 防火牆規則:
gcloud compute firewall-rules create privatenet-allow-icmp-ssh-rdp --direction=INGRESS --priority=1000 --network=privatenet --action=ALLOW --rules=icmp,tcp:22,tcp:3389 --source-ranges=0.0.0.0/0

輸出內容應如下所示:

Creating firewall...done. NAME: privatenet-allow-icmp-ssh-rdp NETWORK: privatenet DIRECTION: INGRESS PRIORITY: 1000 ALLOW: icmp,tcp:22,tcp:3389 DENY: DISABLED: False

測試已完成的工作

點選「Check my progress」,確認工作已完成。如果已成功建立 privatenet 網路的防火牆規則,您就會看見評估分數。

建立 privatenet 的防火牆規則
  1. 執行下列指令,列出所有防火牆規則 (按照虛擬私有雲排序):
gcloud compute firewall-rules list --sort-by=NETWORK

輸出內容應如下所示:

NAME: default-allow-icmp NETWORK: default DIRECTION: INGRESS PRIORITY: 65534 ALLOW: icmp DENY: DISABLED: False NAME: default-allow-internal NETWORK: default DIRECTION: INGRESS PRIORITY: 65534 ALLOW: tcp:0-65535,udp:0-65535,icmp DENY: DISABLED: False ...

系統已為您建立 mynetwork 網路的防火牆規則。您可以在單一防火牆規則 (例如 privatenetmanagementnet 的規則) 中定義多個通訊協定和通訊埠,也可以在多項規則 (例如預設網路和 mynetwork 的規則) 中分別進行設定。

  1. 依序點選 Cloud 控制台中的「導覽選單」圖示 >「虛擬私有雲網路」>「防火牆」
  2. 您會發現 Cloud 控制台列出了相同的防火牆規則。

工作 2:建立 VM 執行個體

建立兩個 VM 執行個體:

  • managementsubnet- 中建立 managementsubnet--vm
  • privatesubnet- 中建立 privatesubnet--vm

建立 managementnet--vm 執行個體

使用 Cloud 控制台建立 managementnet--vm 執行個體。

  1. 依序點選 Cloud 控制台中的「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」

    系統已為您建立 mynet--vmmynet--vm 網路,如網路圖表所示。

  2. 點選「建立執行個體」

  3. 依據下方的值進行設定,其他設定均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    名稱 managementnet--vm
    區域
    可用區
    系列 E2
    機器類型 e2-micro
  4. 按一下「進階選項」中的「網路、磁碟、安全性、管理、單一用戶群」下拉式選單。

  5. 按一下「網路」

  6. 在「網路介面」部分,點選下拉式選單來進行編輯。

  7. 依據下方的值進行設定,其他設定均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    網路 managementnet
    子網路 managementsubnet-
  8. 點選「完成」

  9. 點選「等效程式碼」

    您也可以依據此指令,透過 Cloud Shell 指令列建立 VM 執行個體。稍後建立 privatenet--vm 執行個體時,您會用到這些指令並設定類似的參數。

  10. 點選「建立」

測試已完成的工作

點選「Check my progress」,確認工作已完成。如果已成功在 managementnet 網路中建立 VM 執行個體,您就會看見評估分數。

建立 managementnet--vm 執行個體

建立 privatenet--vm 執行個體

使用 Cloud Shell 指令列建立 privatenet--vm 執行個體。

  1. 在 Cloud Shell 中執行下列指令,建立 privatenet--vm 執行個體:
gcloud compute instances create privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm --zone={{{project_0.startup_script.primary_zone}}} --machine-type=e2-micro --subnet=privatesubnet-{{{project_0.startup_script.gcp_region | Region}}}

輸出內容應如下所示:

Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-04-972c7275ce91/zones/"{{{project_0.startup_script.primary_zone}}}"/instances/privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm]. NAME: privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm ZONE: {{{project_0.startup_script.primary_zone}}} MACHINE_TYPE: e2-micro PREEMPTIBLE: INTERNAL_IP: 172.16.0.2 EXTERNAL_IP: 34.135.195.199 STATUS: RUNNING

測試已完成的工作

點選「Check my progress」,確認工作已完成。如果已成功在 privatenet 網路中建立 VM 執行個體,您就會看見評估分數。

建立 privatenet--vm 執行個體
  1. 執行下列指令,列出所有 VM 執行個體 (按照可用區排序):
gcloud compute instances list --sort-by=ZONE

輸出內容應如下所示:

NAME: mynet-{{{project_0.startup_script.secondary_region}}}-vm ZONE: {{{project_0.startup_script.secondary_zone}}} MACHINE_TYPE: e2-micro PREEMPTIBLE: INTERNAL_IP: 10.164.0.2 EXTERNAL_IP: 34.147.23.235 STATUS: RUNNING NAME: mynet-{{{project_0.startup_script.gcp_region}}}-vm ZONE: {{{project_0.startup_script.primary_zone}}} MACHINE_TYPE: e2-micro PREEMPTIBLE: INTERNAL_IP: 10.128.0.2 EXTERNAL_IP: 35.232.221.58 STATUS: RUNNING ...
  1. 依序點選 Cloud 控制台中的「導覽選單」圖示 「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」

  2. 您會發現 Cloud 控制台列出了相同的 VM 執行個體。

  3. 按一下「資料欄顯示選項」,然後選取「網路」。點選「確定」

    中有三個執行個體, 中有一個執行個體。不過,這些執行個體分散在三個虛擬私有雲網路中,分別是 managementnetmynetworkprivatenet,而且位於不同的可用區和網路。在下一節中,您會瞭解這項配置對內部連線能力的影響。

工作 3:瞭解 VM 執行個體之間的連線能力

瞭解 VM 執行個體之間的連線能力。具體而言,您將確認 VM 執行個體位於相同可用區,以及位於相同虛擬私有雲網路的影響。

對外部 IP 位址進行連線偵測 (ping)

對 VM 執行個體的外部 IP 位址進行連線偵測 (ping),藉此確認是否可以從公開網際網路存取這些執行個體。

  1. 依序點選 Cloud 控制台中的「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」

  2. 記下 mynet--vmmanagementnet--vmprivatenet--vm 的外部 IP 位址。

  3. mynet--vm 的資料列上,點選「SSH」啟動終端機並連線。

  4. 如要測試連至 mynet--vm 外部 IP 的連線,請執行下列指令,並輸入 mynet--vm 的外部 IP:

ping -c 3 'Enter mynet-{{{project_0.startup_script.secondary_region | Region}}}-vm external IP here'

這項指令應可正常運作!

  1. 如要測試連至 managementnet--vm 外部 IP 的連線,請執行下列指令,並輸入 managementnet--vm 的外部 IP:
ping -c 3 'Enter managementnet-{{{project_0.startup_script.gcp_region | Region}}}-vm external IP here'

這項指令應可正常運作!

  1. 如要測試連至 privatenet--vm 外部 IP 的連線,請執行下列指令,並輸入 privatenet--vm 的外部 IP:
ping -c 3 'Enter privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm external IP here'

這項指令應可正常運作!

注意事項:您可以對所有 VM 執行個體的外部 IP 位址進行連線偵測 (ping),即便執行個體位於不同的可用區或虛擬私有雲網路也沒問題。由此可證,這些執行個體的公開存取權僅受您先前建立的 ICMP 防火牆規則控管。

對內部 IP 位址進行連線偵測 (ping)

對 VM 執行個體的內部 IP 位址進行連線偵測 (ping),藉此確認是否可以從虛擬私有雲網路存取這些執行個體。

  1. 依序點選 Cloud 控制台中的「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」
  2. 記下 mynet--vmmanagementnet--vmprivatenet--vm 的內部 IP 位址。
  3. 返回 mynet--vmSSH 終端機。
  4. 如要測試連至 mynet--vm 內部 IP 的連線,請執行下列指令,並輸入 mynet--vm 的內部 IP:
ping -c 3 'Enter mynet-{{{project_0.startup_script.secondary_region | Region}}}-vm internal IP here' 注意事項:mynet--vm 和連線偵測 (ping) 的來源 mynet--vm 位於相同的虛擬私有雲網路,因此即便這兩個 VM 執行個體位於不同的可用區、區域和大洲,您還是可以對內部 IP 位址進行連線偵測 (ping)。
  1. 如要測試連至 managementnet--vm 內部 IP 的連線,請執行下列指令,並輸入 managementnet--vm 的內部 IP:
ping -c 3 'Enter managementnet-{{{project_0.startup_script.gcp_region | Region}}}-vm internal IP here' 注意事項:如輸出內容中的「100% packet loss」所示,這項指令應該無法運作!
  1. 如要測試連至 privatenet--vm 內部 IP 的連線,請執行下列指令,並輸入 privatenet--vm 的內部 IP:
ping -c 3 'Enter privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm internal IP here' 注意事項:如輸出內容中的「100% packet loss」所示,這項指令應該無法運作!managementnet--vmprivatenet--vm 和連線偵測 (ping) 的來源 mynet--vm 位於不同的虛擬私有雲網路,因此即便這些 VM 執行個體位於相同區域 ,您還是無法對內部 IP 位址進行連線偵測 (ping)。

根據預設,虛擬私有雲網路是獨立的私人網路網域。不過,除非設有虛擬私有雲對等互連或 VPN 等機制,否則不同網路之間不允許任何內部 IP 位址通訊。

注意事項:請考慮對下列工作使用 region_1 = region_2 =

工作 4:建立具備多個網路介面的 VM 執行個體

虛擬私有雲網路中的每個執行個體都有預設的網路介面。您可以建立連結至 VM 的額外網路介面。多個網路介面可讓您建立設定,將執行個體直接連結至多個虛擬私有雲網路 (最多 8 個介面,視執行個體類型而定)。

建立具備多個網路介面的 VM 執行個體

建立 vm-appliance 執行個體,且網路介面分別位於 privatesubnet-managementsubnet-mynetwork。這些子網路的 CIDR 範圍不會重疊,如要建立具備多個網路介面控制器 (NIC) 的 VM,此為必要條件。

  1. 依序點選 Cloud 控制台中的「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」

  2. 按一下「建立執行個體」

  3. 依據下方的值進行設定,其他設定均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    名稱 vm-appliance
    區域
    可用區
    系列 E2
    機器類型 e2-standard-4
注意事項:執行個體中的介面數量上限會因執行個體的機器類型和 vCPU 數量而異。e2-standard-4 最多可以建立 4 個網路介面。詳情請參閱 Google Cloud 指南的「網路介面數量上限」一節
  1. 按一下「進階選項」中的「網路、磁碟、安全性、管理、單一用戶群」下拉式選單。

  2. 按一下「網路」

  3. 在「網路介面」部分,點選下拉式選單來進行編輯。

  4. 依據下方的值進行設定,其他設定均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    網路 privatenet
    子網路 privatenet-
  5. 按一下「完成」

  6. 按一下「新增網路介面」

  7. 依據下方的值進行設定,其他設定均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    網路 managementnet
    子網路 managementsubnet-
  8. 點選「完成」

  9. 按一下「新增網路介面」

  10. 依據下方的值進行設定,其他設定均保留預設值:

    屬性 值 (依指示輸入值或選取選項)
    網路 mynetwork
    子網路 mynetwork
  11. 按一下「完成」

  12. 按一下「建立」

測試已完成的工作

點選「Check my progress」,確認工作已完成。如果已成功建立具備多個網路介面的 VM 執行個體,您就會看見評估分數。

建立具備多個網路介面的 VM 執行個體

查看網路介面詳細資料

透過 Cloud 控制台和 VM 的終端機查看 vm-appliance 的網路介面詳細資料。

  1. 依序點選 Cloud 控制台中的「導覽選單」圖示 「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」
  2. vm-appliance 的「內部 IP」位址中,點選「nic0」開啟「網路介面詳細資料」頁面。
  3. 確認 nic0 已連結至 privatesubnet-、已獲派位於該子網路 (172.16.0.0/24) 的內部 IP 位址,並含有適用的防火牆規則。
  4. 點選「nic0」,選取「nic1」
  5. 確認 nic1 已連結至 managementsubnet-、已獲派位於該子網路 (10.130.0.0/20) 的內部 IP 位址,並含有適用的防火牆規則。
  6. 點選「nic1」,選取「nic2」
  7. 確認 nic2 已連結至 mynetwork、已獲派位於該子網路 (10.128.0.0/20) 的內部 IP 位址,並含有適用的防火牆規則。
注意事項: 每個網路介面都有專屬的內部 IP 位址,以便 VM 執行個體與這些網路相互通訊。
  1. 依序點選 Cloud 控制台中的「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」
  2. 在「vm-appliance」部分,按一下「SSH」來啟動終端機並建立連線。
  3. 執行下列指令,列出 VM 執行個體中的網路介面:
sudo ifconfig

輸出內容應如下所示:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460 inet 172.16.0.3 netmask 255.255.255.255 broadcast 172.16.0.3 inet6 fe80::4001:acff:fe10:3 prefixlen 64 scopeid 0x20<link> ether 42:01:ac:10:00:03 txqueuelen 1000 (Ethernet) RX packets 626 bytes 171556 (167.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 568 bytes 62294 (60.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460 inet 10.130.0.3 netmask 255.255.255.255 broadcast 10.130.0.3 inet6 fe80::4001:aff:fe82:3 prefixlen 64 scopeid 0x20<link> ether 42:01:0a:82:00:03 txqueuelen 1000 (Ethernet) RX packets 7 bytes 1222 (1.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 17 bytes 1842 (1.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460 inet 10.128.0.3 netmask 255.255.255.255 broadcast 10.128.0.3 inet6 fe80::4001:aff:fe80:3 prefixlen 64 scopeid 0x20<link> ether 42:01:0a:80:00:03 txqueuelen 1000 (Ethernet) RX packets 17 bytes 2014 (1.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 17 bytes 1862 (1.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 注意事項:sudo ifconfig 指令會列出 Linux VM 的網路介面,以及各個介面的內部 IP 位址。

查看網路介面的連線能力

對位於 privatesubnet-managementsubnet-mynetwork 的 VM 執行個體進行連線偵測 (ping),展示 vm-appliance 執行個體已連至這三個子網路。

  1. 依序點選 Cloud 控制台中的「導覽選單」圖示 >「Compute Engine」>「VM 執行個體」
  2. 記下 privatenet--vmmanagementnet--vmmynet--vmmynet--vm 的內部 IP 位址。
  3. 返回 vm-applianceSSH 終端機。
  4. 如要測試連至 privatenet--vm 內部 IP 的連線,請執行下列指令,並輸入 privatenet--vm 的內部 IP:
ping -c 3 Enter privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm's internal IP here

這項指令可以正常運作!

  1. 執行下列指令,重複進行相同的測試:
ping -c 3 privatenet-{{{project_0.startup_script.gcp_region | Region}}}-vm 注意事項:您可以依據名稱對 privatenet--vm 進行連線偵測 (ping),這是因為虛擬私有雲網路具備內部 DNS 服務,可讓您依據 DNS 名稱 (而非內部 IP 位址) 指出執行個體。使用執行個體主機名稱執行內部 DNS 查詢時,該項查詢會解析為執行個體的主要介面 (nic0),因此在這個示例中,此情況僅限於 privatenet--vm
  1. 如要測試連至 managementnet--vm 內部 IP 的連線,請執行下列指令,並輸入 managementnet--vm 的內部 IP:
ping -c 3 Enter managementnet-{{{project_0.startup_script.gcp_region | Region}}}-vm's internal IP here

這項指令可以正常運作!

  1. 如要測試連至 mynet--vm 內部 IP 的連線,請執行下列指令,並輸入 mynet--vm 的內部 IP:
ping -c 3 Enter mynet-{{{project_0.startup_script.gcp_region | Region}}}-vm's internal IP here

這項指令可以正常運作!

  1. 如要測試連至 mynet--vm 內部 IP 的連線,請執行下列指令,並輸入 mynet--vm 的內部 IP:
ping -c 3 Enter mynet-{{{project_0.startup_script.secondary_region | Region}}}-vm's internal IP here 注意事項:這項指令無法正常運作!在具備多個介面的執行個體中,每個介面都會取得所在子網路的路徑。另外,執行個體也會取得一個與主要介面 eth0 相關聯的預設路徑。除非您手動設定,否則流量從執行個體傳送至直接連線的子網路以外的任何目的地時,都會透過 eth0 的預設路徑傳出執行個體。
  1. 如要列出 vm-appliance 執行個體的路徑,請執行下列指令:
ip route

輸出內容應如下所示:

default via 172.16.0.1 dev eth0 10.128.0.0/20 via 10.128.0.1 dev eth2 10.128.0.1 dev eth2 scope link 10.130.0.0/20 via 10.130.0.1 dev eth1 10.130.0.1 dev eth1 scope link 172.16.0.0/24 via 172.16.0.1 dev eth0 172.16.0.1 dev eth0 scope link 注意事項:主要介面 eth0 會取得預設路徑 (default via 172.16.0.1 dev eth0),而且 eth0、eth1 和 eth2 這三個介面都會取得個別子網路的路徑。mynet--vm 的子網路 (10.132.0.0/20) 並未列入這個轉送表格,因此對該執行個體進行的連線偵測 (ping) 會在 eth0 (位於其他虛擬私有雲網路) 從 vm-appliance 傳出。如要變更這項行為,您可以設定政策轉送機制,詳情請參閱 Google Cloud 指南中的「設定政策轉送」一節

恭喜!

在這個研究室中,您建立了具備三個網路介面的 VM 執行個體,並驗證了子網路 (連結至具備多個介面的 VM) 中 VM 執行個體的內部連線能力。

另外,您也瞭解了預設網路,以及預設網路的子網路、路徑和防火牆規則,隨後還為新的自動模式虛擬私有雲網路建立了經過測試的連線。

完成您的任務

這個自修研究室是「Cloud Engineering」任務的一部分。「任務」是指一系列相關的研究室課程,這些研究室構成一個完整的學習路徑。完成上述任一項任務即可獲得徽章,以表彰您的成就。您可以公開展示徽章,並連結至自己的線上履歷或社群媒體帳戶。只要報名參加包含本研究室的任務,就能立即取得完成學分。請參閱「Google Cloud Skills Boost 目錄」來查看所有可參加的任務。

挑戰下一個研究室

挑戰「虛擬私有雲網路 - 控管存取權」繼續完成您的任務,或是參考下列建議:

後續步驟/瞭解詳情

如要進一步瞭解虛擬私有雲網路,請參閱使用虛擬私有雲網路相關說明。

Google Cloud 教育訓練與認證

協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。

使用手冊上次更新日期:2023 年 11 月 24 日

研究室上次測試日期:2023 年 11 月 24 日

Copyright 2024 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。