Batch 網路總覽

本文說明 Batch 的網路概念,包括網路選項、網路設定時機,以及網路運作方式。

網路選項

網路選項可控管 Batch 與其他來源 (例如網際網路和其他 Google Cloud 資源和服務) 的連線方式。

Batch 提供下列網路選項:

  • 指定工作網路或使用預設網路。
  • 使用其他網路限制:
    • 封鎖工作執行階段環境的外部連線,包括所有 VM 或特定容器。
    • 使用 VPC Service Controls 保護 Batch 資源和資料。

如要進一步瞭解如何判斷要使用哪些網路選項來處理 Batch,請參閱本文件中的「何時設定網路」一節。如要進一步瞭解各個選項的網路概念,請參閱本文件中的「網路運作方式」。

設定網路功能的時機

請詳閱本節,判斷是否要在使用 Batch 時設定網路,或是使用預設的網路設定。

您必須在下列情況下為 Batch 設定網路:

  • 如果您的專案或網路使用 VPC Service Controls 限制 Batch 的網路存取權,您必須按照「在 Batch 中使用 VPC Service Controls」說明文件的說明設定網路。
  • 如果 compute.vmExternalIpAccess 機構政策限制要求您的專案建立沒有外部 IP 位址的 VM,或是您的網路使用私人 Google 存取權,您就必須建立可封鎖所有 VM 外部存取權的工作
  • 如果您無法或不想使用預設網路,請務必指定工作網路

    如要判斷是否可以為工作使用預設網路,請確認下列事項:

    • 您的專案有預設網路。除非啟用 compute.skipDefaultNetworkCreation 機構政策限制,否則新Google Cloud 專案會自動納入預設網路。
    • 預設網路可支援您任何特定的網路需求。請注意,如果修改專案的預設網路,您或其他使用者可能會遇到問題。如要進一步瞭解預設網路,請參閱本文件中的「預設網路設定」。

雖然這並非必要,但您可能還是想設定網路連線,以便提升 Batch 資源和資料的安全性。舉例來說,如果您想改善使用容器的工作安全性,且不封鎖所有 VM 的外部存取權,可以選擇建立只封鎖一或多個容器外部存取權的工作。使用非預設網路或額外網路限制,有助於實施最低權限原則。如要進一步瞭解可用來設定 Batch 網路的選項,請參閱本文件中的「網路運作方式」一節。

否則,如果您不需要或不想設定網路,可以建立工作,不必指定任何網路選項,即可使用預設網路設定

網路的運作方式

下列各節說明 Batch 的網路概念:

工作網路

每個工作都會在 Compute Engine 虛擬機器 (VM) 上執行,而這些 VM 必須屬於 Google Cloud 虛擬私有雲 (VPC) 網路,並隸屬於該網路的子網路。

虛擬私有雲網路可將 VM 連線至其他來源,例如網際網路和其他 Google Cloud 資源和服務。每個網路都包含至少一個子網路 (也稱為子網路),也就是一或多個與地區相關聯的IP 位址範圍。每個 VM 都有一個網路介面,其中包含內部 IP 位址和可選的從子網路分配的 IP 位址。您可以設定虛擬私有雲防火牆規則,允許或拒絕網路中 VM 的連線。每個網路都設有默示防火牆規則,分別會封鎖所有傳入連線以及允許所有傳出連線。通常,虛擬私有雲網路只能在專案內使用,但如果您想在多個專案中使用相同的網路,可以使用共用虛擬私有雲

總而言之,每個工作都會在 VM 上執行,而每個 VM 都會使用 IP 位址建立連線,這些連線會受到網路防火牆規則控制。

如要進一步瞭解網路概念,請參閱 Compute Engine 說明文件中的虛擬機器網路總覽,以及虛擬私有雲說明文件中的虛擬私有雲 (VPC) 總覽

其他網路限制

為了提升安全性,網路設定可能會包含更多限制,而非僅是網路的防火牆規則。舉例來說,專案或機構可以使用組織政策限制或其他 Google Cloud 服務來限制網路。

以下各節將說明進一步限制網路連線的常見選項:

封鎖工作執行階段環境的外部連線

您可以使用下列任一選項,封鎖工作與執行階段環境之間的直接外部連線:

  • 封鎖工作中所有 VM 的外部存取權。封鎖工作 VM 的外部存取權,以便在沒有外部 IP 位址的 VM 上執行工作。這個選項通常是網路或專案的必要條件,也可以視需要用於提升安全性。

    沒有外部 IP 位址的 VM 只能透過同一個網路上的另一個節點,透過其內部 IP 位址存取,因此您需要按照下列步驟設定存取這些 VM:

    • 如要在沒有外部 IP 位址的 VM 上執行工作,請使用 Cloud NAT私人 Google 存取權,允許工作使用的 API 和服務存取相關網域。舉例來說,所有 Batch 作業都會使用 Batch 和 Compute Engine API,而且經常使用 Cloud Logging API。

    • 如果您或其他使用者需要連線至沒有外部 IP 位址的 VM,請參閱 Compute Engine 說明文件中的「選擇僅限內部 VM 的連線選項」。

  • 禁止外部存取工作中一或多個容器。如果工作使用容器,且尚未封鎖所有 VM 的外部存取權,您可以選擇是否要封鎖每個容器的外部存取權。這個選項為選用,可用於為工作指定網路,或建立使用預設網路設定的工作時,用於提升安全性。

使用 VPC Service Controls 保護 Batch 資源和資料

除了封鎖工作中所有 VM 的外部存取權,您也可以選擇使用 VPC Service Controls 進一步限制網路。

與本文件說明的其他網路選項不同,VPC Service Controls 可讓您限制 Google Cloud 服務的資源和資料網路存取權,例如批次工作和資料。

您可以使用 VPC Service Controls 建立範圍,保護您指定的 Google Cloud 服務資源和資料。服務範圍會隔離所選服務和資源,並封鎖與範圍外 Google Cloud 服務的連線,以及未明確允許的任何網際網路連線。詳情請參閱 VPC Service Controls 說明文件,以及「在 Batch 中使用 VPC Service Controls」。

預設網路設定

建立工作時,如果未指定任何網路選項,該工作的 VM 會使用預設網路和 VM 位置的子網路。

每個專案都有名為 default 的預設網路,除非您刪除該網路,或是使用 compute.skipDefaultNetworkCreation 機構政策限制停用該網路。預設網路是自動模式網路,因此每個區域都有一個子網路。除了每個網路的默示防火牆規則外,default 網路也預先填入防火牆規則,允許存取常見用途。詳情請參閱 VPC 說明文件中的「預設網路中預先填入的規則」。

如果您不對工作有任何網路需求,也不想設定網路,建議您使用預設網路設定。如要進一步瞭解何時應使用預設網路設定,請參閱本文件的「何時應設定網路」一節。

後續步驟