本页概述了如何使用 MongoDB Extension for Visual Studio Code 中包含的用于 Terraform 文件的 Atlas 模板来创建 Flex 集群。
加载模板后,您可以配置集群并提供有关 Atlas 帐户的详细信息。然后,您可以使用 Terraform 命令规划、应用和销毁 Atlas 集群。
先决条件
在使用 MongoDB Extension for Visual Studio Code 中包含的用于 Terraform 文件的 Atlas 模板之前,您必须:
拥有 Atlas 账户。
有一个 Atlas 组织。
在 |service| 组织中拥有服务账户 并具有
Organization Owner或Organization Project Creator角色。
步骤
使用模板创建 Atlas Terraform 文件
使用 VS Code 扩展中包含的用于 Terraform 文件的 Atlas 模板来配置 Atlas 集群:
在 main.tf 文件中,键入 atlas,然后按 Enter 或 Return 键。
MongoDB Extension for VSCode 通过使用 MongoDB Atlas Terraform 提供商创建 Flex 集群的示例配置填充文件。
更新 Atlas Terraform 配置以配置集群。
移动游标以选择 mongodbatlas_project 资源的 name 参数的值。
为以下参数提供值以便配置集群:
提示
按 Tab 键选择模板中应更新的下一个参数。
属性 | 值 |
|---|---|
| 此配置创建的 Atlas 项目的名称。 |
| 此配置创建的 Atlas Flex 集群的名称。 |
| 托管此配置创建的 Atlas Flex 集群的提供商。选择以下已接受的值之一:
|
| 部署此配置创建的 Atlas Flex 集群的区域。确保所选区域支持 Flex 集群。 有关每个提供商支持的区域的详细信息,请参阅 Atlas 文档中的以下部分: |
更新 local 变量。
警告
local 变量包含敏感信息。不要将这些值签入公开可用的存储库。
为以下 local 变量提供值:
变量 | 值 |
|---|---|
| Atlas 服务账户客户端 ID。 |
| Atlas 服务账户客户端秘密。 |
| 要在其中创建项目的 Atlas 组织 ID。 |
| Atlas 为您集群创建的 MongoDB 数据库用户的用户名。 |
| 在 |
| 可访问您 Atlas 集群的 IP 地址或 CIDR 区块。 |
注意
该模板使用服务账户向 Atlas 进行身份验证。也支持使用 API 密钥,但建议使用服务账户进行身份验证。要学习这两种方法,请参阅 MongoDB Atlas Terraform 提供商 身份验证指南。
例子
使用输入变量文件最大限度地提高安全性
为了最大限度地提高安全性,请考虑采取以下步骤:
在输入变量文件中定义
local变量。variable "mongodb_atlas_client_id" { default = "my-client-id"} variable "mongodb_atlas_client_secret" { default = "my-client-secret"}排除存储库中的输入变量文件。例如,将文件名添加到存储库的
.gitignore文件中。引用
main.tf文件中输入变量文件中的变量,方法是使用var.作为前缀。provider "mongodbatlas" { client_id = var.mongodb_atlas_client_id client_secret = var.mongodb_atlas_client_secret}
向 main.tf 文件添加可选的配置选项。
有关支持的配置选项的完整列表,请参阅MongoDB Atlas Terraform Provider 文档。
对于生产部署,请考虑使用官方的 MongoDB Atlas 集群 模块,它将集群资源与生产最佳实践默认设置捆绑在一起。
注意
Flex 集群不支持 MongoDB Atlas Terraform 提供商提供的所有配置。有关不支持的配置列表,请参阅 Atlas 文档。
使用 Terraform 创建 Atlas 集群
使用模板创建 Terraform 文件后,创建 Atlas 集群:
运行 terraform apply 命令,以便从 Terraform 配置中创建一个 Atlas 集群。
当系统提示你确认要应用的配置时,键入 yes。
注意
terraform apply 命令可能需要几分钟才能完成。
以下输出表示 Atlas 集群已创建。您可以使用 VS Code Extension 以及显示的连接字符串创建与此部署的连接:
terraform apply使用 Terraform 删除 Atlas 集群
警告
删除集群会破坏其中存储的数据库、集合和文档,以及配置集群的 Terraform 配置中定义的所有其他资源。
请谨慎操作。
要删除 Atlas 集群: