使用「端點用量限制」政策設定環境

代管 Airflow (第 3 代) | 代管 Airflow (第 2 代) | 代管 Airflow (舊版第 1 代)

本頁面說明如何在強制執行端點用量限制組織政策時,建立 Managed Airflow 環境。

constraints/gcp.restrictEndpointUsage 組織政策會限制可用於存取資源的 Google API 端點。這樣一來,組織就能強制使用位置或區域端點,例如滿足資料必須保留在特定地理區域的要求。

關於 Managed Airflow 的「端點用量限制」政策

在專案中建立 Managed Airflow 環境時,如果「限制端點使用」政策拒絕存取 Cloud Storage API、Cloud Logging API、Pub/Sub API 或 Data Lineage API 等服務的全域端點,Managed Airflow 會設定環境的內部元件,為這些服務使用對應的區域端點 (REP)。

環境使用的特定端點僅在建立環境時由「端點用量限制」政策決定。即使日後重新設定政策,這些端點也不會變更。

限制 Managed Airflow 環境所需的服務

如果「限制端點用量」政策限制了 Managed Airflow 所需的部分服務,則會受到下列限制:

  • Airflow UI 中的 Airflow 工作記錄

    Airflow UI 仰賴全域 Cloud Logging 端點 (logging.googleapis.com) 顯示工作記錄。如果您在「限制端點使用」政策中拒絕 logging.googleapis.com,Airflow UI 就不會顯示工作記錄。

    這項限制僅適用於 Airflow UI。您仍可在 DAG UI 中查看工作記錄,並在 Google Cloud 控制台和 Cloud Logging 中查看 Airflow worker 記錄。

  • 環境指標

    Managed Airflow 會使用 Cloud Monitoring 的全域端點 (monitoring.googleapis.com),因為部分 Monitoring API 不完全支援區域端點。限制 monitoring.googleapis.com 可能會影響部分環境指標。

  • DAG 中的 Airflow 運算子

    如果 Airflow 運算子連線至「限制端點用量」政策拒絕的全域端點,就會失敗。如果 DAG 中的 Airflow 運算子支援區域端點,請務必將其設為使用區域端點。

  • 客戶自行管理的加密金鑰 (CMEK)

    客戶自行管理的加密金鑰,無法與「限制端點用量」政策搭配使用。

事前準備

設定「端點用量限制」政策

如要進一步瞭解如何設定「限制端點用量」政策,拒絕存取特定全域端點,並查看相關範例,請參閱「限制端點用量」。

建立套用「限制端點用量」政策的公開 IP 環境

公開 IP Managed Airflow 環境不需要任何額外設定。請執行下列步驟:

  1. 確認要區域化的服務在所選區域有可用的區域端點。

  2. 確認您已設定「端點用量限制」政策,並拒絕您要區域化的服務使用全域端點。

  3. 建立新的 Managed Airflow 環境。

    環境會根據「端點用量限制」政策使用區域端點。

建立採用「限制端點用量」政策的私人 IP 環境

如要在私人 IP 設定中建立具有「限制端點使用」政策的環境,您必須設定虛擬私有雲網路,使用 Private Service Connect 和 Cloud DNS 解析流量,並將流量轉送至必要的區域端點 (REP)。

如要建立採用「限制端點用量」政策的私人 IP 環境,請按照下列步驟操作:

  1. 確認要區域化的服務在所選區域有可用的區域端點。

  2. 確認您已設定「端點用量限制」政策,並拒絕您要區域化的服務使用全域端點。

  3. 確認您已有要用於私人 IP 環境的虛擬私有雲網路和子網路。

  4. 針對下列各項受「限制端點用量」政策限制的服務,重複執行網路設定步驟:

    • storage.googleapis.com
    • logging.googleapis.com
    • pubsub.googleapis.com
    • datalineage.googleapis.com
    • DAG 使用的所有其他服務的 Google API 端點。

為受政策限制的服務設定私人 IP 網路

如果專案中的任何 Google 服務限制存取全域端點,請對相應的區域端點 (REP) 執行下列步驟。

您必須建立 Private Service Connect 端點,指定 Managed Airflow 環境的區域,以指定這些服務的區域變化版本。舉例來說,如果環境位於 us-central1,則 Cloud Storage 的目標 REP 為 storage.us-central1.rep.googleapis.com。

如要進一步瞭解如何使用 Private Service Connect 端點,連線至支援的 Google API 區域端點,請參閱「透過端點存取區域性 Google API」。

建立 Private Service Connect 端點

  1. 前往 Google Cloud 控制台的「Private Service Connect」頁面。

    前往「Private Service Connect」

  2. 按一下「連結端點」。

  3. 按照下列步驟設定 Private Service Connect 端點:

    • 目標:選取「Google API」。

    • 目標詳細資料:

      1. 範圍:選取「Regional」。
      2. 區域:選取 Managed Airflow 環境的區域。
      3. 目標服務:選取要設定的服務。這會選取所選區域中的 REP。

      範例:

      如果環境位於 us-central1,且您正在設定 Cloud Storage,請選取 Iowa (us-central1) 和 Cloud Storage (storage.us-central1.rep.googleapis.com)。

    • 端點詳細資料:

      1. 端點名稱:端點的名稱。

        範例:psc-storage-endpoint-us-central1。

      2. 網路和子網路:選取 Managed Airflow 環境的虛擬私有雲網路和子網路。

      3. IP 位址:選擇現有 IP 位址,或按一下「Create IP address」(建立 IP 位址),從所選子網路預留新的靜態內部 IP 位址。

        為這個 IP 位址提供描述性名稱。稍後設定 DNS 記錄時會用到這個 IP 位址。

        範例:psc-storage-us-central1。

  4. 按一下「新增端點」。

建立私人 DNS 區域

  1. 前往 Google Cloud 控制台的「Cloud DNS」頁面。

    前往 Cloud DNS

  2. 按一下「Create zone」(建立區域)。

  3. 在「Zone type」(區域類型) 中,選取「Private」。

  4. 指定下列設定:

    • 區域名稱:區域的名稱。

      範例:storage-us-central1

    • DNS 名稱:DNS 名稱。請務必加上結尾的點號。

      範例:storage.us-central1.rep.googleapis.com.

    • 網路:選取 Managed Airflow 環境的虛擬私有雲網路。

  5. 點選「建立」。

在建立的 DNS 區域中新增 DNS 記錄

  1. 前往 Google Cloud 控制台的「Cloud DNS」頁面。

    前往 Cloud DNS

  2. 按一下您建立的區域名稱。

  3. 點選「Add Standard」(新增標準)。

  4. 按照下列方式設定 DNS 記錄:

    • DNS 名稱:指定 DNS 區域的子網域。

      範例:storage.us-central1.rep.googleapis.com

    • 資源記錄類型:選取「A」。

    • IPv4 位址:選取您指派給 Private Service Connect 端點的 IP 位址。

  5. 點選「建立」。

建立私人 IP Managed Airflow 環境

設定環境會使用的所有服務後,請繼續在所選虛擬私有雲網路和子網路中建立私人 IP 環境。

後續步驟