Megaport Terraform Provider 常见问题解答(FAQs)
本主题涵盖有关使用 Megaport Terraform Provider 的常见问题。有关详细信息,参见 Megaport Terraform Provider 概述。
如何查找数据中心(DC)位置信息?
查找位置的最简便方法,是在 Portal 中使用位置名称。
但是,数据中心位置信息(例如名称或站点代码)可能会在 API 中发生变更。 为了获得可靠且稳定的 Terraform 配置,我们强烈建议使用位置 ID,而不是名称或代码。有关最新的 Megaport 数据中心位置列表,参见 Megaport 位置 ID。
也可以通过 GET /v3/locations Megaport API 获取位置 ID。
有关更多信息,参见 创建 Megaport Terraform Provider 配置文件 的步骤 2。
在部署 Terraform 配置文件时,如何避免在生产环境中删除正在运行的服务?
在部署 Terraform 配置文件之前,通过 Portal 锁定正在运行的服务。 有关详细信息,参见 锁定 Megaport 服务。
如何向 Port 添加新的 VXC?
如果生产环境中已经存在某个服务(例如 Port),但它不在你的 Terraform 配置文件中,则需要将其导入。有关详细信息,参见 导入现有的生产服务。
之后,在 Terraform 文件中添加新的配置行,以在该 Port 下创建一个新的 VXC。
如何更改服务名称?
在 Terraform 配置文件中更新 product_name 字段。
示例:将 product_name = “Name of Product” 更改为 product_name = “Updated Name of Product”,然后运行 terraform apply 命令。
Megaport Terraform Provider 是否支持管理 IX 服务?
是的,支持。
如何在订购 VXC 时应用服务密钥?
首先,在 Portal 中设置服务密钥。有关详细信息,参见 设置服务密钥。
创建服务密钥后,在订购 VXC 时,可以在你的 .tf 配置中应用该密钥。
在 Megaport GitHub repository 中,resource.tf 提供了一个示例,精确展示如何执行此操作。
查找如下所示的起始代码块:
resource "megaport_vxc" "service_key_vxc" {
注意
- 将
"YOUR-SERVICE-KEY-HERE"替换为来自 Portal 的值。 b_end块用于为远端指定服务密钥。- 你仍可根据需要定义其他参数(例如
rate_limit、VLAN)。 - GitHub 上的 provider 文档包含多个 VXC 示例,包括 MCR 和云连接场景。
如何在我的计算机上查看 Terraform 的当前版本?
运行 terraform version 命令以检查已安装的 Terraform 版本。
该命令将输出 Terraform 的版本信息。
如果输出类似于以下示例,请访问 Upgrading Guides (HashiCorp) 以更新你的系统。
terraform version 您的 Terraform 版本已过期!
最新版本为 x.y.z。
您可以通过访问
https://www.terraform.io/downloads.html
下载最新版本进行更新。
如何查看 Megaport Terraform Provider 的当前版本?
Megaport 会针对最新的两个 Terraform 主版本进行主动测试,以确保兼容性和可靠性。
你可以在 Megaport Terraform Provider Releases page 上找到 Megaport Terraform Provider 的最新版本。 该页面还包含每个版本的发行说明。
我们强烈建议你将 Terraform 配置文件更新到最新的 provider 版本,以便利用改进、新功能和重要修复。
应在何处更新 Megaport Terraform Provider 的版本号?
在 provider.tf 文件中更新版本字段。
请参见以下示例中的 version = ">= 1.4.1"。 这是一个版本约束示例,指示 Terraform 使用 1.4.1 或更高版本的 provider。
terraform {
required_providers {
megaport = {
source = "megaport/megaport"
version = ">= 1.4.1"
}
}
}
是否支持 OpenTofu?
是的,Megaport Terraform Provider 已通过测试,并且自 v1.3.7 起与 OpenTofu 兼容。
OpenTofu 是 Terraform 的一个开源、社区驱动的分支,保持与相同的 providers 以及 HashiCorp Configuration Language (HCL) 语法的兼容性。
尽管我们会针对新的 Megaport Terraform Provider 发行版进行兼容性测试,但仍建议你查看 Megaport Terraform Provider GitHub Releases page 以获取最新信息。
有关使用详情,请参阅 OpenTofu Registry 上的 Megaport Provider,并参考 Megaport Terraform Provider GitHub Readme 文件。
最新的示例在哪里?
适用于 Ports、VXC、MCR 和 MVE 的示例可在该 provider 的 examples directory 中获取。还可在 Megaport Terraform Provider Registry 的 Guides 部分找到其他指导内容,为示例提供补充的背景和说明。
在该 provider 中如何处理合约期?
使用 Terraform 为服务设置合同期通常不会有任何问题。
为什么会有 requested_product_uid 字段?
这是因为在选择合作伙伴的 Port 时,我们不允许用户选择特定的 Port,出于容量原因由 API 动态选择一个。这意味着该字段的值可能与用户请求的不一致,从而会在 provider 中导致错误。