IBM Cloud Docs
為 DNS Services 設定 Terraform

為 DNS Services 設定 Terraform

IBM Cloud® 上的 Terraform 可對 IBM Cloud 服務啟用可預測且一致的佈建,以便您可以遵循「基礎架構即程式碼 (IaC)」原則快速建置複式多層雲端環境。 類似於使用 IBM Cloud CLI 或 API 及 SDK,您可以使用 HashiCorp 配置語言 (HCL) 來自動佈建、更新及刪除 IBM Cloud® DNS Services 實例。

正在 IBM Cloud® 解決方案上尋找受管理 Terraform? 請試用 IBM Cloud® Schematics。 使用 Schematics,您可以使用熟悉的 Terraform Scripting 語言,但不必擔心設定及維護 Terraform 指令行和 IBM Cloud® 提供者外掛程式。Schematics 也提供預先定義的 Terraform 範本,您可以從 IBM Cloud® 型錄輕鬆安裝這些範本。

安裝 Terraform 並配置 DNS Services 的資源

開始之前,請確定您具有 必要存取權,可建立及使用 DNS Services 資源。

  • 安裝 Terraform CLI 並配置 Terraform 的 IBM Cloud 提供者外掛程式。 如需相關資訊,請參閱 在 IBM Cloud® 的指導教學。 外掛程式會將用來完成此作業的 IBM Cloud API 抽象化。
  • 建立一個名為的 Terraform 配置文件 main.tf。 在此檔案中,您新增配置以建立 DNS Services 服務實例,並使用 HashiCorp 配置語言 (HCL) 為使用者指派該實例的 Identity and Access Management (IAM) 存取原則。 如需相關資訊,請參閱 Terraform 文件
  1. 使用 main.tf 檔案中的 ibm_resource_instance 資源引數來建立 DNS Services 實例。

    下列範例中的 DNS Services DNS 區域命名為 my-dns-zone,並以實例 ID p-dns-instance-id 建立。

    data "ibm_resource_group" "rg" {
      is_default = true
    }
    
    resource "ibm_resource_instance" "test-pdns-instance" {
      name              = "private-dns-instance-example"
      resource_group_id = data.ibm_resource_group.rg.id
      location          = "global"
      service           = "dns-svcs"
      plan              = "standard-dns"
    }
    
    resource "ibm_dns_zone" "pdns-1-zone" {
      name = "my-dns-zone"
      instance_id = ibm_resource_instance.test-pdns-cr-instance.guid
      description = "testdescription"
      label = "testlabel"
    }
    
  2. 完成建置配置檔之後,請起始設定 Terraform CLI。 如需相關資訊,請參閱 起始設定工作目錄

    terraform init
    
  3. main.tf 檔案供應資源。 如需相關資訊,請參閱 使用 Terraform 佈建基礎架構

    1. 執行 terraform plan 以產生 Terraform 執行計劃來預覽提出的動作。

      terraform plan
      
    2. 執行 terraform apply,以建立計劃中定義的資源。

      terraform apply
      
  4. IBM Cloud 資源清單中,選取您建立的 DNS Services 實例,並記下實例 ID。

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

下一步為何?

既然您已順利在 IBM Cloud上使用 Terraform 建立第一個 DNS Services 服務實例,您可以造訪 DNS Services Terraform 登錄 以使用 Terraform 執行其他作業。