為 CIS 設定 Terraform
Terraform 於 IBM Cloud® 上,能以可預測且一致的方式建立 IBM Cloud 服務,讓您遵循基礎架構即程式碼 ( IaC ) 原則,快速建構複雜的多層級雲端環境。 與使用 IBM Cloud 命令列介面(CLI)、API及軟體開發套件(SDK)類似,您可透過 HashiCorp 配置語言(HCL)自動化執行 IBM Cloud Internet Services 實例的建立、更新與刪除作業。
正在尋找基於 IBM Cloud® 的託管式Terraform解決方案? 試試看 IBM Cloud® Schematics。 透過 Schematics,您可以使用熟悉的 Terraform 腳本語言,卻無需擔心設定和維護 Terraform 命令列以及 IBM Cloud® Provider 外掛程式。Schematics 還提供預先定義的 Terraform 範本,您可以從 IBM Cloud® 目錄中安裝這些範本。
安裝 Terraform 並配置 IBM Cloud Internet Services 的資源
在使用 Terraform 建立授權之前,請完成下列先決條件:
- 請確定您擁有 所需的存取權限,才能建立和使用 IBM Cloud Internet Services。
- 安裝 Terraform CLI 並為 Terraform 配置 IBM Cloud Provider 外掛程式。 如需詳細資訊,請參閱 IBM Cloud 上的 Terraform 入門。 外掛程式抽象出 IBM Cloud API,用來完成這項任務。
- 建立一個名為
main.tf的 Terraform 配置檔。 使用此檔案以 HashiCorp Configuration Language (HCL) 撰寫 Terraform 程式碼,以定義服務間的授權。 如需相關資訊,請參閱 Terraform 文件。
-
在 Terraform 配置文件中,找到用於創建 CIS 實例的 Terraform 程式碼。
-
在
main.tf檔案中使用ibm_resource_instance資源參數,建立 CIS 範例。 以下範例中的 CIS 範例命名為test,是以 Standard 定價方案建立的。resource_group_id為data.ibm_resource_group.group.id,而 location 屬性則設定為global。data "ibm_resource_group" "group" { name = "test" } resource "ibm_cis" "cis_instance" { name = "test" plan = "standard-next" resource_group_id = data.ibm_resource_group.group.id tags = ["tag1", "tag2"] location = "global" //User can increase timeouts timeouts { create = "15m" update = "15m" delete = "15m" } }如果未指定
resource_group_id,則 CIS 會在預設資源群組中建立。API_KEY必須有此群組的權限。如果您從一個計劃遷移至另一個計劃,則該變更會被視為現有資源的修改。 它不被視為資源的建立或刪除。
-
完成建置配置檔之後,請起始設定 Terraform CLI。 如需詳細資訊,請參閱 初始化工作目錄。
terraform init -
從
main.tf檔案供應資源。 如需詳細資訊,請參閱 Terraform 用於佈建基礎結構的工作流程。- 執行
terraform plan以產生 Terraform 執行計劃來預覽提出的動作。
terraform plan- 執行
terraform apply,以建立計劃中定義的資源。
terraform apply - 執行
-
從 IBM Cloud 資源清單中,選取您建立的 CIS 實例,並記下實例 ID。
-
驗證已順利指派存取原則。 如需相關資訊,請參閱 在主控台中檢閱指派的存取權。
下一步為何?
現在您已成功使用 Terraform 在 { CIS IBM Cloud 服務實例,您可以存取 CIS Cloud Internet Services (CIS) Terraform 註冊表以使用 Terraform 執行其他任務。