配置

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 命令行工具。

  1. 登录到 IBM Cloud。 如果您使用的是联合用户 ID,请务必切换到一次性验证码(ibmcloud login --sso ),或使用 API 密钥(ibmcloud --apikey key or @key_file )进行身份验证。 有关如何使用 CLI 登录的更多信息,请参阅 ibmcloud login 下的 “通用 CLI(ibmcloud)命令”。

    ibmcloud login
    
  2. 您可以在 Gen 2 平台上的 “隔离计算”托管模式下配置 IBM Cloud® Databases for MongoDB 实例。

  3. 请使用以下命令配置您的数据库:

    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_NAME Required 实例名称可以是任意字符串,它是用于在 Web 界面和 CLI 中识别新部署的名称。
    SERVICE_NAME Required 服务的名称或标识。 对于 Databases for MongoDB,请使用 databases-for-mongodb。
    SERVICE_PLAN_NAME Required standard-gen2
    LOCATION Required 您希望部署的位置。 要检索区域列表,请使用 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 和内存配置相对应的数值。

固定型材

固定配置文件 CLI 选项
主机大小 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 配置文件

Flex 配置文件 CLI 选项
主机大小 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 进行资源配置。

  1. 获取一个 IAM 令牌。

  2. 您需要知道要部署到的资源组的 ID。 使用以下命令获取您账户中的资源组列表:

```sh {: pre}
curl -X GET "https://resource-controller.cloud.ibm.com/v2/resource_groups?account_id=<YOUR_ACCOUNT>" -H "Authorization: Bearer <TOKEN>"
```
  1. 您可以在 Gen 2 平台上的 “隔离计算”托管模式下配置 IBM Cloud® Databases for MongoDB 实例。

  2. 获取上述所有信息后,请使用 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 和内存配置相对应的数值。

固定型材

固定配置文件 API 选项
主机大小 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 配置文件

Flex 配置文件 API 选项
主机大小 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 和内存配置相对应的数值。 请参见下表中的数值。

固定型材

固定配置的 Terraform 选项
主机大小 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 配置文件

Flex 配置文件中的 Terraform 选项
主机大小 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 利用率的指标。 要为您的实例添加资源,请手动调整部署的规模。