本頁說明如何使用 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 的狀態、自動化服務帳戶和中央稽核記錄。
然後視需要新增自己的資料夾、專案、網路和其他資源。
下圖顯示「啟動條件」資源之間的關係:
事前準備
請確認以下事項:
- 您已為貴機構設定識別資訊提供者 (IdP),並以管理員 ID 登入 Cloud de Confiance 。
- 您已設定 Google Cloud CLI,可搭配 Cloud de Confiance使用。
- 您在本機電腦上安裝了
git和terraform工具:- 安裝 Git
- 安裝 Terraform (最低版本為 1.12)
請備妥下列資訊:
授予必要權限
執行下列指令,將必要的 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,請按照下列步驟,在新的機構根層級建立臨時專案:
- 在機構中建立專案,並記下專案 ID。
將專案設為 Google Cloud CLI 的目前專案:
gcloud config set project PROJECT_ID執行下列指令,在專案中啟用必要服務:
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 端點。
- 在機構設定階段的根目錄 (
0-org-setup) 中,建立名為providers.tf的檔案。 在檔案中新增下列內容:
provider "google" { universe_domain = "s3nsapis.fr" } provider "google-beta" { universe_domain = "s3nsapis.fr" }儲存新檔案。
指定資料集
啟動設定是在 starter-gcd dataset 中指定。在 Fabric FAST 中,資料集是 YAML 架構的設定,可指定要建立的雲端資源類型和數量,讓使用者根據不同類型的機構和技術需求,選擇最佳做法。
如要指定使用 starter-gcd 資料集,請完成下列步驟:
- 繼續留在機構設定階段的根目錄中,建立名為
terraform.tfvars的新檔案 在這個檔案中,指定要使用
starter-gcd資料集,如下所示:factories_config = { dataset="datasets/starter-gcd" }儲存新檔案。
指定設定預設值
Fabric FAST 會為每個資料集使用 defaults.yaml 檔案,指定整個設定中使用的值,例如特定宇宙的值和管理員詳細資料。
- 開啟 資料集目錄
0-org-setup/datasets/starter-gcd中的現有defaults.yaml檔案。 請按照下列方式更新預設檔案:
# ... 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 識別碼。
現省
defaults.yaml。
套用 Terraform
- 確認您已返回機構設定階段的根目錄。
執行下列指令來初始化 Terraform (每個目錄只需執行一次):
terraform init執行下列指令來套用 Terraform:
terraform apply
驗證設定
如要驗證設定,建議您先使用 Google Cloud CLI 或 Cloud de Confiance 控制台檢查資料夾和專案結構是否設定正確。
接著,您可以在其中一個應用程式專案中,嘗試部署應用程式工作負載,方法是使用您選擇的工作負載,或按照我們的快速入門導覽教學課程操作。這些簡短的教學課程可協助您快速在 Cloud de Confiance上執行簡單的範例。詳情請參閱「後續步驟」。