佈建
Gen 2
透過 目錄、Cloud Databases CLI 外掛程式、 Cloud Databases API 或 Terraform 來部署 IBM Cloud® Databases for MongoDB。
透過 IBM Cloud 控制台進行配置
請透過主控台指定以下參數來進行配置。
服務詳細資料
- 服務名稱: 名稱可以是任何字串,並將作為在網頁和命令列介面(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 上,唯一可用的託管模式是「隔離式」(Isolated ),這是一種專為複雜且需高效能的企業工作負載所設計的安全單租戶服務。 如需更多資訊,請參閱「隔離運算」。
資源配置
請為您的部署選擇初始主機大小及磁碟配置。 主機大小與磁碟配額均依各實例成員分別適用。
- 主機規格: 請從可用的 vCPU 和記憶體配置中選擇,以符合您的工作負載需求。
- 磁碟: 設定部署的初始磁碟大小。 請使用滑桿設定磁碟容量。 磁碟大小決定了 IOPS 的分配。 每 GB 硬碟空間可提供 5 IOPS。
為避免資料遺失,磁碟容量可在配置完成後增加,但無法減少。
服務配置
- 資料庫版本: Set only at deployment 這是在您的 MongoDB 部署中的版本。 主機會標示首選版本,以確保最佳效能。 如需更多資訊,請參閱「版本控制政策」。
- 資料庫版本: Set only at deployment 在 Gen 2 上,僅提供 Standard 版本。
- 加密: Set only at deployment 若您使用Key Protect,可選擇一個實例和金鑰來對部署的磁碟進行加密。 若您未使用自己的金鑰,部署程序將自動建立並管理專屬的磁碟加密金鑰。
- 端點 Set only at deployment[Set only at deployment- 對於第 2 代,僅支援私有端點。
選取適當的設定後,請按一下「建立」以開始配置程序。
透過 CLI 進行配置
透過 CLI 建立服務實例
在進行配置之前,請依照文件中的指示安裝 IBM Cloud 命令列介面(CLI)工具。
-
登入 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 和 RAM 容量(
bx3d.4x20.encrypted為 4 顆 CPU 和 20 RAM),因此此請求不接受同時選擇「隔離規格」以及分別設定 CPU 和 RAM 配額的選項。該指令中的各欄位說明詳見下表。
基本指令格式欄位 欄位 說明 旗標 INSTANCE_NAMERequired實例名稱可以是任何字串,這是用於在網頁和命令列介面 (CLI) 中識別新部署的名稱。 SERVICE_NAMERequired服務的名稱或 ID。 若要存取 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 和 RAM 配置。 如需更多資訊,請參閱下文的 表 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 參數用於定義您的 Compute 規格。 若要配置一個「隔離運算」執行個體,請輸入符合您所需 CPU 和 RAM 配置的適當數值。
固定型材
| 主機大小 | 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 RAM | mx3d.16x80.encrypted |
| 32x160 | 32 vCPU × 160 GB RAM | bx3d.32x160.encrypted |
| 48x240 | 48 個 vCPU 搭配 240 GB RAM | bx3d.48x240.encrypted |
Flex 配置檔
| 主機大小 | vCPU x RAM | host_flavor 值 |
|---|---|---|
| 4x16 | 4 顆 vCPU 處理器 × 16 GB RAM | b3c.4x16.encrypted |
| 8x32 | 8 vCPU × 32 GB RAM | b3c.8x32.encrypted |
| 16x64 | 16 vCPU x 64 GB 記憶體 | b3c.16x64.encrypted |
Cloud Databases 的「隔離運算」服務不支援 CPU 和 RAM 的自動擴展功能。 磁碟自動擴展功能即將推出。 如果您已配置隔離實例,或從具備自動擴展功能的部署切換過來,請透過 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 和 RAM 容量(bx3d.4x20.encrypted 為 4 顆 CPU 和 20 RAM),因此此請求不接受同時選擇「隔離規格」以及分別設定 CPU 和 RAM 配額的選項。
該指令中的各欄位說明詳見下表。
| 欄位 | 說明 | 旗標 |
|---|---|---|
name Required |
實例名稱可以是任何字串,這是用於在網頁和命令列介面 (CLI) 中識別新部署的名稱。 | |
resource_plan_id Required |
服務的名稱或 ID。 若要存取 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 和 RAM 配置。 如需更多資訊,請參閱下表。 |
host_flavor 參數
host_flavor 參數用於定義您的 Compute 規格。 若要配置一個「隔離運算」執行個體,請輸入符合您所需 CPU 和 RAM 配置的適當數值。
固定型材
| 主機大小 | 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 RAM | mx3d.16x80.encrypted |
| 32x160 | 32 vCPU × 160 GB RAM | bx3d.32x160.encrypted |
| 48x240 | 48 個 vCPU 搭配 240 GB RAM | bx3d.48x240.encrypted |
Flex 配置檔
| 主機大小 | vCPU x RAM | host_flavor 值 |
|---|---|---|
| 4x16 | 4 顆 vCPU 處理器 × 16 GB RAM | b3c.4x16.encrypted |
| 8x32 | 8 vCPU × 32 GB RAM | b3c.8x32.encrypted |
| 16x64 | 16 vCPU x 64 GB 記憶體 | b3c.16x64.encrypted |
Cloud Databases 的「隔離運算」服務不支援 CPU 和 RAM 的自動擴展功能。 磁碟自動擴展功能即將推出。 如果您已配置隔離實例,或從具備自動擴展功能的部署切換過來,請透過 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" 參數,將其設定為所需的隔離型實例大小。 可用的主機容量及其 host_flavor value 參數列 於表 1 中。 例如,{"host_flavor": "bx3d.4x20.encrypted"}。
請注意,由於主機規格選項已包含 CPU 和 RAM 容量(bx3d.4x20.encrypted 代表 4 顆 CPU 和 16 RAM),因此此請求不接受同時選擇「隔離規格」以及分別設定 CPU 和 RAM 配額的選項。
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 參數用於定義您的 Compute 規格。 若要配置一個「隔離運算」執行個體,請輸入符合您所需 CPU 和 RAM 配置的適當數值。 請參閱下表中的數值。
固定型材
| 主機大小 | 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 RAM | mx3d.16x80.encrypted |
| 32x160 | 32 vCPU × 160 GB RAM | bx3d.32x160.encrypted |
| 48x240 | 48 個 vCPU 搭配 240 GB RAM | bx3d.48x240.encrypted |
Flex 配置檔
| 主機大小 | vCPU x RAM | host_flavor 值 |
|---|---|---|
| 4x16 | 4 顆 vCPU 處理器 × 16 GB RAM | b3c.4x16.encrypted |
| 8x32 | 8 vCPU × 32 GB RAM | b3c.8x32.encrypted |
| 16x64 | 16 vCPU x 64 GB 記憶體 | b3c.16x64.encrypted |
Cloud Databases 的「隔離運算」服務不支援 CPU 和 RAM 的自動擴展功能。 磁碟自動擴展功能即將推出。 如果您已配置隔離實例,或從具備自動擴展功能的部署切換過來,請透過 IBM Cloud® Monitoring 整合功能密切監控您的資源,該功能可提供記憶體、磁碟空間及磁碟 I/O 使用率的指標。 若要為您的執行個體新增資源,請手動調整部署規模。