為 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 文件
  1. 在 Terraform 配置文件中,找到用於創建 CIS 實例的 Terraform 程式碼。

  2. main.tf 檔案中使用 ibm_resource_instance 資源參數,建立 CIS 範例。 以下範例中的 CIS 範例命名為 test,是以 Standard 定價方案建立的。 resource_group_iddata.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 必須有此群組的權限。

    如果您從一個計劃遷移至另一個計劃,則該變更會被視為現有資源的修改。 它不被視為資源的建立或刪除。

  3. 完成建置配置檔之後,請起始設定 Terraform CLI。 如需詳細資訊,請參閱 初始化工作目錄

    terraform init
    
  4. main.tf 檔案供應資源。 如需詳細資訊,請參閱 Terraform 用於佈建基礎結構的工作流程

    1. 執行 terraform plan 以產生 Terraform 執行計劃來預覽提出的動作。
       terraform plan
    
    1. 執行 terraform apply,以建立計劃中定義的資源。
       terraform apply
    
  5. IBM Cloud 資源清單中,選取您建立的 CIS 實例,並記下實例 ID。

  6. 驗證已順利指派存取原則。 如需相關資訊,請參閱 在主控台中檢閱指派的存取權

下一步為何?

現在您已成功使用 Terraform 在 { CIS IBM Cloud 服務實例,您可以存取 CIS Cloud Internet Services (CIS) Terraform 註冊表以使用 Terraform 執行其他任務。