使用 Fabric FAST 工具包進行基本設定

本頁說明如何使用 Fabric FAST Terraform 框架,設定新的「入門」機構。您隨時可以手動建立專案、資料夾等,但使用 Fabric FAST 的基本設定,可讓您快速啟動並執行安全且經過充分測試的預設值,而且不會有大型企業設定的行政管理負擔。

本文適用於需要在Cloud de Confiance中設定新機構的管理員。如果貴機構符合下列情況,建議採用這個選項:

  • 您對雲端設定和 Terraform 的經驗有限。
  • 您希望由單一團隊 (甚至是單一工程師) 管理整個堆疊的端對端。如果您是規模較小的機構或新創公司,或是正在開發概念驗證,就可能屬於這種情況。

完成這項設定後,您可以繼續使用 Terraform 管理新機構,也可以改用 Google Cloud CLI 或 Cloud de Confiance 控制台。

如果貴機構或技術需求較為複雜,或是您先前已透過 Google Cloud 使用 Fabric FAST,建議直接參閱透過 Fabric FAST 進行企業設定,瞭解 FAST 階段並開始使用傳統設定。如果仍不確定哪個選項適合你,請參閱「哪種 Fabric FAST 設定適合我?」。

事前須知

閱讀本指南前,請先完成下列工作:

  • 瞭解 Cloud de ConfianceCloud de Confiance總覽中說明的基本概念。

  • 瞭解 Cloud de Confiance 資源階層,包括機構、資料夾和專案。

  • 請參閱設定總覽,特別是「關於 Fabric FAST」一節。本文所述的基本設定會使用特殊的 Fabric FAST 設定,專門鎖定您的領域並提供可立即使用的機構,所有項目都會在單一步驟中建立。

熟悉 Terraform 很有幫助,但您不需是經驗豐富的 Terraform 使用者,也能使用本指南。

這項設定提供哪些功能?

「入門」Fabric FAST 設定相對平坦,可為貴機構提供基本且可用的起點。這與「傳統」設定不同,後者具有深入的企業級資源階層,且涉及分階段逐步建構設定。

設定完成後,機構資源會包含下列項目:

  • 兩個環境資料夾,分別用於開發和正式環境。 系統會自動為這些資源加上標記,協助您追蹤費用,並為每個環境套用政策。
  • 每個資料夾中有兩個專案
    • 專屬的網路專案,用於存放資料夾的單一網路。
    • 第一個應用程式專案,在資料夾下建立,並設定為資料夾 VPC 的服務專案。
  • 每個資料夾中都有一個虛擬私有雲 (VPC)網路,其中包含一個子網路,以及預先設定的基本安全防火牆規則 (例如允許安全的 Identity-Aware Proxy (IAP) 登入)。
  • 單一頂層管理專案 (prod-iac-core-0)。這個專案是設定的中心,可安全地儲存 Terraform 的狀態、自動化服務帳戶和中央稽核記錄。

然後視需要新增自己的資料夾、專案、網路和其他資源。

下圖顯示「啟動條件」資源之間的關係:

顯示 FAST 啟動架構的圖表。

事前準備

請確認以下事項:

  • 已為貴機構設定識別資訊提供者 (IdP),並以管理員 ID 登入 Cloud de Confiance 。
  • 您已設定 Google Cloud CLI,可搭配 Cloud de Confiance使用。
  • 您在本機電腦上安裝了 gitterraform 工具:
  • 請備妥下列資訊:

    • 您選擇的主體,應獲授貴機構的管理員權限。這可以是您自己的 ID,也可以是您所屬的管理員使用者群組 (建議)。
    • 核心專案的重要聯絡人電子郵件地址
    • 您的機構資源 ID。您可以在 Cloud de Confiance 控制台中找到這項資訊,或執行下列 Google Cloud CLI 指令:

      gcloud organizations list
      

      這會列出您所屬的所有機構 (應該只有一個!) 及其對應的 ID。

授予必要權限

執行下列指令,將必要的 IAM 權限授予執行部署作業的主體:

export FAST_PRINCIPAL="PRINCIPAL_ID"

export FAST_ORG_ID="ORG_ID"

# set needed roles (billing role only needed for organization-owned account)
export FAST_ROLES="\
  roles/billing.admin \
  roles/logging.admin \
  roles/iam.organizationRoleAdmin \
  roles/orgpolicy.policyAdmin \
  roles/resourcemanager.folderAdmin \
  roles/resourcemanager.organizationAdmin \
  roles/resourcemanager.projectCreator \
  roles/resourcemanager.tagAdmin \
  roles/owner"

for role in $FAST_ROLES; do
  gcloud organizations add-iam-policy-binding $FAST_ORG_ID \
    --member $FAST_PRINCIPAL --role $role --condition None
done

更改下列內容:

  • PRINCIPAL_ID:相關主體的 ID。如要進一步瞭解如何指定員工身分聯盟中的身分和群組,請參閱「主體 ID」。
  • ORG_ID:您的機構資源 ID。

建立臨時專案

Fabric FAST Terraform 至少需要一個現有專案才能執行,因為在初始設定期間,機構政策服務不會自動在機構根層級提供。如果您是第一次在空白機構中套用 Terraform,請按照下列步驟,在新的機構根層級建立臨時專案:

  1. 在機構中建立專案,並記下專案 ID。
  2. 將專案設為 Google Cloud CLI 的目前專案:

    gcloud config set project PROJECT_ID
    
  3. 執行下列指令,在專案中啟用必要服務:

    gcloud services enable \
     bigquery.googleapis.com \
     cloudbilling.googleapis.com \
     cloudresourcemanager.googleapis.com \
     essentialcontacts.googleapis.com \
     iam.googleapis.com \
     logging.googleapis.com \
     orgpolicy.googleapis.com \
     serviceusage.googleapis.com
    

設定完成後,您可以視需要刪除這個專案。

取得 Terraform

執行下列指令,將 Fabric FAST 存放區複製到本機電腦:

git clone https://github.com/GoogleCloudPlatform/cloud-foundation-fabric.git

將檔案複製到電腦後,請將 Fabric FAST 機構設定階段的根目錄變更為工作目錄,然後開始使用。

cd cloud-foundation-fabric/fast/stages/0-org-setup

更新設定檔

套用 Terraform 前,您需要更新 Fabric FAST 使用的部分設定檔,指定所選設定、目標領域和管理員帳戶等詳細資料。使用偏好的文字編輯器。

建立提供者檔案

供應商檔案可確保 Terraform 針對部署環境使用正確的 API 端點。

  1. 在機構設定階段的根目錄 (0-org-setup) 中,建立名為 providers.tf 的檔案。
  2. 在檔案中新增下列內容:

    provider "google" {
      universe_domain = "s3nsapis.fr"
    }
    
    provider "google-beta" {
      universe_domain = "s3nsapis.fr"
    }
    
  3. 儲存新檔案。

指定資料集

啟動設定是在 starter-gcd dataset 中指定。在 Fabric FAST 中,資料集是 YAML 架構的設定,可指定要建立的雲端資源類型和數量,讓使用者根據不同類型的機構和技術需求,選擇最佳做法。

如要指定使用 starter-gcd 資料集,請完成下列步驟:

  1. 繼續留在機構設定階段的根目錄中,建立名為 terraform.tfvars 的新檔案
  2. 在這個檔案中,指定要使用 starter-gcd 資料集,如下所示:

    factories_config = {
       dataset="datasets/starter-gcd"
    }
    
  3. 儲存新檔案。

指定設定預設值

Fabric FAST 會為每個資料集使用 defaults.yaml 檔案,指定整個設定中使用的值,例如特定宇宙的值和管理員詳細資料。

  1. 開啟 資料集目錄 0-org-setup/datasets/starter-gcd 中的現有 defaults.yaml 檔案。
  2. 請按照下列方式更新預設檔案:

    # ... existing configuration ...
    projects:
      defaults:
        prefix: PREFIX
        locations:
          logging: global
          storage: u-france-east1
      overrides:
        universe:
          domain: s3nsapis.fr
          prefix: s3ns
          forced_jit_service_identities:
            - compute.googleapis.com
          unavailable_service_identities:
            - dns.googleapis.com
            - monitoring.googleapis.com
            - networksecurity.googleapis.com
    context:
      email_addresses:
        gcp-organization-admins: CONTACT_EMAIL
      iam_principals:
        gcp-organization-admins: ADMIN_ID
      locations:
        primary: u-france-east1
    # ... existing configuration ...
    

    更改下列內容:

    • PREFIX:除了自動產生的特定領域前置字串外,系統還會將這個前置字串加到每個建立的專案 ID。這有助於確保專案 ID 在您的環境中是獨一無二。
    • CONTACT_EMAIL:您要設為核心專案必要聯絡人的電子郵件地址。
    • ADMIN_ID:應具備貴機構管理員權限的群組或 ID 識別碼。
  3. 現省 defaults.yaml

套用 Terraform

  1. 確認您已返回機構設定階段的根目錄。
  2. 執行下列指令來初始化 Terraform (每個目錄只需執行一次):

    terraform init
    
  3. 執行下列指令來套用 Terraform:

    terraform apply
    

驗證設定

如要驗證設定,建議您先使用 Google Cloud CLI 或 Cloud de Confiance 控制台檢查資料夾和專案結構是否設定正確。

接著,您可以在其中一個應用程式專案中,嘗試部署應用程式工作負載,方法是使用您選擇的工作負載,或按照我們的快速入門導覽教學課程操作。這些簡短的教學課程可協助您快速在 Cloud de Confiance上執行簡單的範例。詳情請參閱「後續步驟」。

後續步驟