为 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 资源所需的 访问权。
-
遵循 Terraform on IBM Cloud® 入门教程 以安装 Terraform CLI 并为 Terraform 配置 IBM Cloud® 提供程序插件。 该插件对用于供应,更新或删除 Transit Gateway 服务实例和资源的 IBM Cloud® API 进行抽象。
-
创建名为
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" } }
-
初始化 Terraform CLI。
terraform init
-
创建 Terraform 执行计划。 Terraform 执行计划总结了在帐户中创建 Transit Gateway 实例时需要运行的所有操作。
terraform plan
-
在 IBM Cloud中创建 Transit Gateway 实例和 IAM 访问策略。
terraform apply
-
从 IBM Cloud 资源列表中,选择您创建的 Transit Gateway 实例并记下实例标识。
-
验证是否成功分配了访问策略。 有关更多信息,请参阅 在控制台中复审分配的访问权。