IBM Cloud Docs
为 Transit Gateway 设置 Terraform

为 Transit Gateway 设置 Terraform

IBM Cloud® 上的 Terraform 支持以可预测且一致的方式供应 IBM Cloud 服务,以便您可以遵循“基础架构即代码”(IaC) 原则快速构建复杂的多层云环境。 与使用 IBM Cloud CLI 或 API 和 SDK 类似,您可以使用 HashiCorp 配置语言 (HCL) 自动供应,更新和删除 Transit Gateway 实例。

要在 IBM Cloud® 解决方案上查找受管 Terraform 吗? 试用 IBM Cloud® Schematics。 通过 Schematics,可以使用您熟悉的 Terraform 脚本语言,但不必担心设置和维护 Terraform 命令行和 IBM Cloud® 提供者插件。Schematics 还提供了预定义的 Terraform 模板,您可以从 IBM Cloud® 目录轻松安装这些模板。

安装 Terraform 并配置 Transit Gateway 的资源

开始之前,请确保您具有创建和使用 Transit Gateway 资源所需的 访问权

  1. 遵循 Terraform on IBM Cloud® 入门教程 以安装 Terraform CLI 并为 Terraform 配置 IBM Cloud® 提供程序插件。 该插件对用于供应,更新或删除 Transit Gateway 服务实例和资源的 IBM Cloud® API 进行抽象。

  2. 创建名为 main.tf 的 Terraform 配置文件。 在此文件中,您将添加配置以创建 Transit Gateway 服务实例,并使用 HashiCorp 配置语言 (HCL) 在 Identity and Access Management (IAM) 中为用户分配该实例的访问策略。 有关更多信息,请参阅 Terraform 文档

    以下示例中的 Transit Gateway 资源名为 transit-gateway-1,位于 us-south 中,使用全局路由,并分配给正在创建 Transit Gateway 的资源组 30951d2dff914dafb26455a88c0c0092

    有关自变量和属性的更多信息,请参阅 ibm_tg_gateway 用法示例。

    resource "ibm_tg_gateway" "new_tg_gw" {
        name="transit-gateway-1"
        location="us-south"
        global=true
        resource_group="30951d2dff914dafb26455a88c0c0092"
    }
    
    resource "ibm_iam_user_policy" "policy" {
        ibm_id = "user@ibm.com"
        roles  = ["Administrator"]
        resources {
          service              = "transit"
          resource_instance_id = "ibm_tg_gateway.new_tg_gw.id"
        }
    }
    
  3. 初始化 Terraform CLI。

    terraform init
    
  4. 创建 Terraform 执行计划。 Terraform 执行计划总结了在帐户中创建 Transit Gateway 实例时需要运行的所有操作。

    terraform plan
    
  5. 在 IBM Cloud中创建 Transit Gateway 实例和 IAM 访问策略。

    terraform apply
    
  6. IBM Cloud 资源列表中,选择您创建的 Transit Gateway 实例并记下实例标识。

  7. 验证是否成功分配了访问策略。 有关更多信息,请参阅 在控制台中复审分配的访问权