配置
Gen 2
可通过 目录、Cloud Databases CLI 插件、 Cloud Databases API 或 Terraform 部署 IBM Cloud® Databases for MongoDB。
通过 IBM Cloud 控制台进行配置
通过在控制台中指定以下参数进行配置。
服务详细信息
- 服务名称: 名称可以是任意字符串,是用于在 Web 界面和命令行界面(CLI)中识别新部署的名称。
- 资源组: 如果您将服务组织到 资源组中,请在此字段中指定该资源组。 否则,您可以保留默认设置。 如需了解更多信息,请参阅 “管理资源组”。
- 位置: 该部署所在的云区域。 在 Gen 2 上,Databases for MongoDB 目前仅在蒙特利尔 (ca-mon)、金奈 - Airtel(in-che)、孟买(in-mum)、法兰克福(eu-de)、华盛顿(us-east)、马德里(eu-es)、悉尼(au-syd)、达拉斯(us-south) 和伦敦(eu-gb) 等区域提供。
选择您的部署平台。
- Gen 1: IBM Cloud® 的原始平台,可在所有 IBM Cloud 数据中心中使用。
- Gen 2: IBM Cloud® 的最新平台,基于高度安全的软件定义网络架构。 Gen 2 专为云原生应用进行了优化,目前仅在蒙特利尔、金奈、孟买、法兰克福、马德里、悉尼、华盛顿和伦敦提供。
有关更多详细信息,请参阅 第 1 代(经典版)和第 2 代(VPC)概述。
托管模型
在 Gen 2 上,唯一可用的托管模式是 “隔离”模式,这是一种面向复杂、高性能企业工作负载的安全单租户服务。 如需了解更多信息,请参阅 “隔离计算”。
资源分配
为您的部署选择初始主机规格和磁盘配置。 主机大小和磁盘分配按实例成员分别计算。
- 主机规格: 从可用的 vCPU 和内存配置中进行选择,以满足您的工作负载需求。
- 磁盘: 配置部署的初始磁盘大小。 使用滑块设置磁盘容量。 磁盘大小决定了 IOPS 的分配。 每GB磁盘可提供5 IOPS。
为防止数据丢失,磁盘大小在分配后可以增加,但不能减少。
服务配置
- 数据库版本: Set only at deployment 这是您的 MongoDB 部署的版本。 该控制台会突出显示推荐版本,以确保获得最佳性能。 如需了解更多信息,请参阅《 版本控制政策 》。
- 数据库版本: Set only at deployment。在 Gen 2 上,仅提供标准版。
- 加密: Set only at deployment 如果您使用Key Protect,则可选择一台实例和一个密钥来对部署的磁盘进行加密。 如果您不使用自己的密钥,部署系统会自动创建并管理其自身的磁盘加密密钥。
- 端点 Set only at deployment[Set only at deployment- 对于第 2 代,仅支持私有端点。
选择适当的设置后,点击 “创建” 以开始配置流程。
通过命令行界面(CLI)进行配置
通过 CLI 创建服务实例
在进行配置之前,请按照文档中的说明安装 IBM Cloud 命令行工具。
-
登录到 IBM Cloud。 如果您使用的是联合用户 ID,请务必切换到一次性验证码(
ibmcloud login --sso),或使用 API 密钥(ibmcloud --apikey key or @key_file)进行身份验证。 有关如何使用 CLI 登录的更多信息,请参阅ibmcloud login下的 “通用 CLI(ibmcloud)命令”。ibmcloud login -
您可以在 Gen 2 平台上的 “隔离计算”托管模式下配置 IBM Cloud® Databases for MongoDB 实例。
-
请使用以下命令配置您的数据库:
ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE_NAME> <SERVICE_PLAN_NAME> <LOCATION> <RESOURCE_GROUP> -p '{"host_flavor": "<host_flavor value>"}'例如,要配置一个 Databases for MongoDB 实例,请使用如下命令:
ibmcloud resource service-instance-create test-database databases-for-mongodb standard-gen2 us-south -p '{"host_flavor": "bx3d.4x20.encrypted", "storage_gb": 10 }'部署一个 Databases for MongoDB 隔离实例,并使用相同的
host_flavor-p 参数,将其设置为所需的隔离实例规格。 可用托管规格及其host_flavor value参数如 表2 所示。由于成员主机的配置选项中已包含 CPU 和内存容量(
bx3d.4x20.encrypted配置为 4 个 CPU 和 20 内存),因此本请求不支持同时选择“隔离”配置选项以及单独的 CPU 和内存分配选项。该命令中的各字段说明见下表。
基本命令格式字段 字段 描述 标志 INSTANCE_NAMERequired实例名称可以是任意字符串,它是用于在 Web 界面和 CLI 中识别新部署的名称。 SERVICE_NAMERequired服务的名称或标识。 对于 Databases for MongoDB,请使用 databases-for-mongodb。SERVICE_PLAN_NAMERequiredstandard-gen2LOCATIONRequired您希望部署的位置。 要检索区域列表,请使用 ibmcloud regions命令。RESOURCE_GROUP资源组的名称。 默认值为 default。-g --parameters用于创建服务实例的参数的 JSON 文件或 JSON 字符串 -p host_flavor要配置一个隔离计算实例,请访问 {"host_flavor": "<host_flavor value>"}。 对于“隔离计算”,请选择所需的 CPU 和内存配置。 有关更多信息,请参见下文的 表 2。你会看到类似以下的响应:
Creating service instance INSTANCE_NAME in resource group default of account USER... OK Service instance INSTANCE_NAME was created. Name: INSTANCE_NAME ID: crn:v1:bluemix:public:databases-for-mongodb:us-south:a/40ddc34a846383BGB5b60e:dd13152c-fe15-4bb6-af94-fde0af5303f4:: GUID: dd13152c-fe15-4bb6-af94-fde0af56897 Location: LOCATION State: provisioning Type: service_instance Sub Type: Public Service Endpoints: private Allow Cleanup: false Locked: false Created at: 2023-06-26T19:42:07Z Updated at: 2023-06-26T19:42:07Z Last Operation: Status create in progress Message Started create instance operation- 要检查配置状态,请使用以下命令:
ibmcloud resource service-instance <INSTANCE_NAME>完成后,您将看到类似以下的响应:
Retrieving service instance INSTANCE_NAME in resource group default under account USER's Account as USER... OK Name: INSTANCE_NAME ID: crn:v1:bluemix:public:databases-for-mongodb:us-south:a/40ddc34a953a8c02f109835656860e:dd13152c-fe15-4bb6-af94-fde0af5303f4:: GUID: dd13152c-fe15-4bb6-af94-fde5654765 Location: <LOCATION> Service Name: databases-for-mongodb Service Plan Name: standard-gen2 Resource Group Name: default State: active Type: service_instance Sub Type: Public Locked: false Service Endpoints: private Created at: 2023-06-26T19:42:07Z Created by: USER Updated at: 2023-06-26T19:53:25Z Last Operation: Status create succeeded Message Provisioning mongodb with version 7.17 (100%)- 可选:要删除一个服务实例,请运行以下命令:
ibmcloud resource service-instance-delete <INSTANCE_NAME_OR_CRN>
host_flavor 参数
host_flavor 参数用于定义您的计算资源规格。 要配置一个隔离计算实例,请输入与所需 CPU 和内存配置相对应的数值。
固定型材
| 主机大小 | vCPU x RAM | host_flavor 值 |
|---|---|---|
| 4x20 | 4个 vCPU,各配20 GB内存 | bx3d.4x20.encrypted |
| 8x40 | 8个 vCPU,配备40 GB内存 | bx3d.8x40.encrypted |
| 16x80 | 16 vCPU × 80 GB 内存 | mx3d.16x80.encrypted |
| 32x160 | 32 vCPU × 160 GB 内存 | bx3d.32x160.encrypted |
| 48x240 | 48 vCPU × 240 GB 内存 | bx3d.48x240.encrypted |
Flex 配置文件
| 主机大小 | vCPU x RAM | host_flavor 值 |
|---|---|---|
| 4x16 | 4个 vCPU 处理器 × 16 GB 内存 | b3c.4x16.encrypted |
| 8x32 | 8 vCPU × 32 GB 内存 | b3c.8x32.encrypted |
| 16x64 | 16 vCPU × 64 GB 内存 | b3c.16x64.encrypted |
Cloud Databases 隔离计算不支持CPU和内存的自动扩展。 磁盘自动扩展功能即将推出。 如果您已配置了隔离实例,或者从具有自动缩放功能的部署切换过来,请通过 IBM Cloud® Monitoring 集成来监控您的资源,该集成提供了内存、磁盘空间和磁盘 I/O 利用率的指标。 要为您的实例添加资源,请手动调整部署的规模。
--parameters 参数
service-instance-create 命令支持 -p 标志,该标志允许将JSON格式的参数传递给配置过程。 例如,您可以将云资源名称(CRN)作为参数值传递,该名称可唯一标识云中的某个资源。 所有参数名称和值均以字符串形式传递。
例如,如果正在从某个特定备份创建数据库,且新数据库的部署需要更大规格的主机( 16x80 ),则命令如下:
ibmcloud resource service-instance-create databases-for-mongodb <SERVICE_NAME> standard-gen2 us-south \
-p \ '{
"backup_id": "crn:v1:blue:public:databases-for-mongodb:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
"host_flavor": "bx3d.16x80.encrypted"
}'
通过资源控制器 API 进行资源配置
请按照以下步骤,使用 资源控制器 API 进行资源配置。
-
获取一个 IAM 令牌。
-
您需要知道要部署到的资源组的 ID。 使用以下命令获取您账户中的资源组列表:
```sh {: pre}
curl -X GET "https://resource-controller.cloud.ibm.com/v2/resource_groups?account_id=<YOUR_ACCOUNT>" -H "Authorization: Bearer <TOKEN>"
```
-
您可以在 Gen 2 平台上的 “隔离计算”托管模式下配置 IBM Cloud® Databases for MongoDB 实例。
-
获取上述所有信息后,请使用 IBM Cloud 资源控制器 创建一个新的资源实例。
```sh {: pre}
curl -X POST \
https://resource-controller.cloud.ibm.com/v2/resource_instances \
-H "Authorization: Bearer <TOKEN>" \
-H 'Content-Type: application/json' \
-d '{
"name": "<INSTANCE_NAME>",
"target": "<targeted-region>",
"resource_group": "RESOURCE_GROUP_ID",
"resource_plan_id": "<SERVICE_PLAN_NAME>",
"dataservices": {
"<db-service>":{
"host_flavor": "<members_host_flavor_value>",
}
}
}'
```
示例
要创建一个隔离计算实例,请按照以下示例操作:
```sh {: pre}
curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances -H "Authorization: Bearer <IAM token>" -H 'Content-Type: application/json' -d '{
"name": "my-instance",
"target": "ca-mon",
"resource_group": "5c49eabc-f5e8-5881-a37e-2d100a33b3df",
"resource_plan_id": databases-for-mongodb-gen2-standard",
"dataservices": {
"mongodb": {
"storage_gb": 10,
"host_flavor": "bx3d.4x20.encrypted"
},
"encryption": {
"disk": "crn:v1..."
},
"version": "8",
},
}'
```
部署一个 Databases for MongoDB 隔离实例,并使用相同的 `host_flavor` 参数,将其设置为所需的隔离实例规格。 可用托管规格及其 `host_flavor value` 参数如 [表2](#members_host-flavor-parameter-api) 所示。 例如,`{"host_flavor": "bx3d.4x20.encrypted"}`。
由于成员主机的配置选项中已包含 CPU 和内存容量(bx3d.4x20.encrypted 配置为 4 个 CPU 和 20 内存),因此本请求不支持同时选择“隔离”配置选项以及单独的 CPU 和内存分配选项。
该命令中的各字段说明见下表。
| 字段 | 描述 | 标志 |
|---|---|---|
name Required |
实例名称可以是任意字符串,它是用于在 Web 界面和 CLI 中识别新部署的名称。 | |
resource_plan_id Required |
服务的名称或标识。 对于 Databases for MongoDB,请使用 databases-for-mongodb-standard。 |
|
target Required |
您希望部署的位置。 要检索区域列表,请使用 ibmcloud regions 命令。 |
|
resource_groupRequired |
资源组的名称。 默认值为 default。 |
-g |
--parameters |
用于创建服务实例的参数的 JSON 文件或 JSON 字符串。 更多详情请参阅以下信息。 | -p |
host_flavor |
要配置一个隔离计算实例,请访问 {"host_flavor": "<members_host_flavor value>"}。 对于“隔离计算”,请选择所需的 CPU 和内存配置。 如需了解更多信息,请参阅下表。 |
host_flavor 参数
host_flavor 参数用于定义您的计算资源规格。 要配置一个隔离计算实例,请输入与所需 CPU 和内存配置相对应的数值。
固定型材
| 主机大小 | vCPU x RAM | host_flavor 值 |
|---|---|---|
| 4x20 | 4个 vCPU,各配20 GB内存 | bx3d.4x20.encrypted |
| 8x40 | 8个 vCPU,配备40 GB内存 | bx3d.8x40.encrypted |
| 16x80 | 16 vCPU × 80 GB 内存 | mx3d.16x80.encrypted |
| 32x160 | 32 vCPU × 160 GB 内存 | bx3d.32x160.encrypted |
| 48x240 | 48 vCPU × 240 GB 内存 | bx3d.48x240.encrypted |
Flex 配置文件
| 主机大小 | vCPU x RAM | host_flavor 值 |
|---|---|---|
| 4x16 | 4个 vCPU 处理器 × 16 GB 内存 | b3c.4x16.encrypted |
| 8x32 | 8 vCPU × 32 GB 内存 | b3c.8x32.encrypted |
| 16x64 | 16 vCPU × 64 GB 内存 | b3c.16x64.encrypted |
Cloud Databases 隔离计算不支持CPU和内存的自动扩展。 磁盘自动扩展功能即将推出。 如果您已配置了隔离实例,或者从具有自动缩放功能的部署切换过来,请通过 IBM Cloud® Monitoring 集成来监控您的资源,该集成提供了内存、磁盘空间和磁盘 I/O 利用率的指标。 要为您的实例添加资源,请手动调整部署的规模。
附加参数列表
在 --parameters 对象中,您可以提供额外信息来创建服务实例,包括:
backup_id- 用于还原的备份资源的 CRN。 该备份必须由具有相同服务 ID 的数据库部署创建。 在资源配置完成后,系统会加载备份,随后使用该数据的新部署将启动。 备用 CRN 的格式为crn:v1:<...>:backup:<uuid>。 如果省略,则数据库将以空状态进行配置。version- 待部署的数据库版本。 如果省略,则将使用最新的主版本号和次版本号创建数据库。disk_encryption_key_crn- KMS 密钥的 CRN( Key Protect ),随后该密钥将用于磁盘加密。 KMS 密钥的 CRN 格式为crn:v1:<...>:key:<id>。backup_encryption_key_crn- KMS 密钥的 CRN( Key Protect ),随后用于备份加密。 KMS 密钥的 CRN 格式为crn:v1:<...>:key:<id>。
若要在备份中使用密钥,您必须先 [启用服务间委托功能](/docs/cloud-databases?topic=cloud-databases-key-protect&interface=api#key-byok)。
{: note}
使用 Terraform 进行资源配置
开始之前:
通过 ibm_database Terraform 资源 使用 Terraform 管理您的基础设施,该平台支持配置 Cloud Databases 部署。
选择您希望数据库部署在其上的 托管模式。 您可以稍后更改此内容。
使用 Terraform 配置隔离计算资源
部署一个 Databases for MongoDB 隔离实例,并使用相同的 "host_flavor" 参数,将其设置为所需的隔离实例规格。 表 1 列出了可用的托管规格及其 host_flavor value 参数。 例如,{"host_flavor": "bx3d.4x20.encrypted"}。
请注意,由于主机配置选项包含 CPU 和内存大小(bx3d.4x20.encrypted 对应 4 个 CPU 和 16 RAM),因此该请求不支持同时选择“隔离”配置以及单独的 CPU 和内存分配选项。
data "ibm_resource_group" "group" {
name = "<your_group>"
}
resource "ibm_database" "<your_database>" {
name = "<your_database_name>"
plan = "standard"
location = "eu-gb"
service = "databases-for-mongodb"
resource_group_id = data.ibm_resource_group.group.id
service_endpoints = "private"
tags = ["tag1", "tag2"]
adminpassword = "password12"
group {
group_id = "member"
host_flavor {
id = "bx3d.4x20.encrypted"
}
disk {
allocation_mb = 256000
}
}
users {
name = "user123"
password = "password12"
}
allowlist {
address = "172.168.1.1/32"
description = "desc"
}
}
output "ICD MongoDB database connection string" {
value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}
host flavor 参数
host_flavor 参数用于定义您的计算资源规格。 要配置一个隔离计算实例,请输入与所需 CPU 和内存配置相对应的数值。 请参见下表中的数值。
固定型材
| 主机大小 | vCPU x RAM | host_flavor 值 |
|---|---|---|
| 4x20 | 4个 vCPU,各配20 GB内存 | bx3d.4x20.encrypted |
| 8x40 | 8个 vCPU,配备40 GB内存 | bx3d.8x40.encrypted |
| 16x80 | 16 vCPU × 80 GB 内存 | mx3d.16x80.encrypted |
| 32x160 | 32 vCPU × 160 GB 内存 | bx3d.32x160.encrypted |
| 48x240 | 48 vCPU × 240 GB 内存 | bx3d.48x240.encrypted |
Flex 配置文件
| 主机大小 | vCPU x RAM | host_flavor 值 |
|---|---|---|
| 4x16 | 4个 vCPU 处理器 × 16 GB 内存 | b3c.4x16.encrypted |
| 8x32 | 8 vCPU × 32 GB 内存 | b3c.8x32.encrypted |
| 16x64 | 16 vCPU × 64 GB 内存 | b3c.16x64.encrypted |
Cloud Databases 隔离计算不支持CPU和内存的自动扩展。 磁盘自动扩展功能即将推出。 如果您已配置了隔离实例,或者从具有自动缩放功能的部署切换过来,请通过 IBM Cloud® Monitoring 集成来监控您的资源,该集成提供了内存、磁盘空间和磁盘 I/O 利用率的指标。 要为您的实例添加资源,请手动调整部署的规模。