佈建
透過 目錄、Cloud Databases CLI 外掛程式、 Cloud Databases API、Terraform 或預先建立、開放源碼且適用於企業的 Terraform IBM 模組(TIM),提供 IBM Cloud® Databases for Elasticsearch 部署。
透過 IBM Cloud 主控台佈建
透過指定以下參數從控制台進行配置。
服務詳細資料
代管模式
- 隔離式: 專為複雜且需高效能的企業工作負載所設計的安全單租戶解決方案。
- 共享型: 靈活的多租戶方案,可進行動態、精細調整且解耦的容量選擇。
Databases for Elasticsearch 白金功能僅在 Isolated Compute 上提供。
如需相關資訊,請參閱 管理模型 及 Databases for Elasticsearch 方案。
資源配置
細部調整您的資源配置。 可用的選項會根據您選取的管理模型而有所不同。
- 隔離: 使用表格來選擇部署中每一個成員的機器大小,並指定磁碟大小。
- 共用: 依預設,會選取可能的最小資源配置。 這適用於小型應用程式或測試。 對於較大的配置,請選取 自訂 磚,以容許具有 2 個以上核心的彈性資源配置。
「共用運算管理」模型支援更精細的資源配置,這些資源配置未顯示在使用者介面中,以保持清晰。 如需相關資訊,請參閱 管理模型。
視您的需求而定,指定磁碟大小。 它可以在佈建之後增加,但無法減少以防止資料流失。
服務配置
- 資料庫版本:僅在部署時設定資料庫的部署版本。 若要確保最佳效能,請執行偏好的版本。 會自動使用最新的次要版本。 有關更多信息,請參閱 版本控制政策。
- 資料庫版本:僅在部署時設定選擇您要部署的版本。 選擇企業版或白金版。 請注意,白金級僅適用於獨立託管模型。
- 加密:僅在部署時設定如果您使用Key Protect,則可以選擇實例和金鑰來加密部署的磁碟。 如果您不使用自己的金鑰,部署會自動建立並管理自己的磁碟加密金鑰。
- 端點:僅在部署時設定在部署上配置服務端點。 預設設定為「私密」。
選取適當的設定之後,請按一下 建立 以啟動佈建處理程序。
透過 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 -
選取您要在其上佈建資料庫的 管理模型。 您可以稍後進行變更。
-
使用下列指令來佈建資料庫:
ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE_NAME> <SERVICE_PLAN_NAME> <LOCATION> <RESOURCE_GROUP> -p '{"members_host_flavor": "<members_host_flavor value>"}' --service-endpoints="<Endpoint>"例如,若要設定Databases for Elasticsearch共用運算託管模型實例,請使用下列指令:
ibmcloud resource service-instance-create test-database databases-for-elasticsearch enterprise us-south -p '{ "backup_id": "<BACKUP_CRN>", "version": "<VERSION_STRING>", "members_memory_allocation_mb": "4096" }' --service-endpoints="private"規定一Databases for Elasticsearch具有相同的孤立實例
"members_host_flavor"-p參數,將其設定為所需的隔離大小。 表 2 列出可用的主機作業大小及其members_host_flavor value參數。 例如,{"members_host_flavor": "b3c.4x16.encrypted"}。 請注意,由於主機特性選擇包括 CPU 和 RAM 大小 (b3c.4x16.encrypted是 4 CPU 和 16 RAM),因此此要求不同時接受隔離大小選擇和個別 CPU 和 RAM 配置選擇。ibmcloud resource service-instance-create test-database databases-for-elasticsearch enterprise us-south -p '{"members_host_flavor": "b3c.4x16.encrypted"}' --service-endpoints="private"下表說明指令中的欄位。
基本命令格式字段 欄位 說明 旗標 INSTANCE_NAME必須實例名稱可以是任何字串,而且是在 Web 及 CLI 中用來識別新部署的名稱。 SERVICE_NAME必須服務的名稱或 ID。 對於 Databases for Elasticsearch,請使用 databases-for-elasticsearch。SERVICE_PLAN_NAME必須enterprise或者platinum。 注意platinum需要一個isolated主機味。LOCATION必須您要部署的位置。 若要擷取區域清單,請使用 ibmcloud regions指令。RESOURCE_GROUP資源群組名稱。 預設值為 default。-g --parameters要建立服務實例之參數的 JSON 檔案或 JSON 字串 -p members_host_flavor若要佈建隔離或共用運算實例,請使用 {"members_host_flavor": "<members_host_flavor value>"}。 對於共用運算,指定值為multitenant。 若為「隔離式運算」,請選取所需的 CPU 及 RAM 配置。 有關更多信息,請參閱下表或 託管模型。--service-endpoints必須配置部署的 服務端點, public、private或public-and-private。在 CLI 中,
service-endpoints是一個旗標,不是參數。
members host flavor 參數
members_host_flavor 參數定義計算大小。
若要配置共用計算實例,請指定 multitenant。 若要佈建「隔離運算」實例,請輸入所需 CPU 及 RAM 配置的適當值。
| 會員主機口味 | members_host_flavor 值 |
|---|---|
| 共用運算 | multitenant |
| 4 顆 CPU × 16 RAM | b3c.4x16.encrypted |
| 8 核心 CPU × 32 GB 記憶體 | b3c.8x32.encrypted |
| 8 顆 CPU × 64 RAM | m3c.8x64.encrypted |
| 16 核心 CPU × 64 RAM | b3c.16x64.encrypted |
| 32 核心 CPU × 128 RAM | b3c.32x128.encrypted |
| 30 CPU × 240 RAM | m3c.30x240.encrypted |
您會看到如下的回應:
```text {: codeblock}
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-elasticsearch: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
```
- To check provisioning status, use the following command:
```sh {: pre}
ibmcloud resource service-instance <INSTANCE_NAME>
```
When complete, you will see a response like:
```text {: codeblock}
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-elasticsearch:us-south:a/40ddc34a953a8c02f109835656860e:dd13152c-fe15-4bb6-af94-fde0af5303f4::
GUID: dd13152c-fe15-4bb6-af94-fde5654765
Location: <LOCATION>
Service Name: databases-for-elasticsearch
Service Plan Name: standard
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 elasticsearch with version 7.17 (100%)
```
- Optional: To delete a service instance, run the following command:
```sh {: pre}
ibmcloud resource service-instance-delete <INSTANCE_NAME_OR_CRN>
```
Cloud Databases Isolated Compute 不支援 CPU 和 RAM 自動調整。 磁碟自動調整可用。 如果您已佈建隔離式實體,或從具有自動擴充功能的部署轉換過來,請使用 IBM Cloud® Monitoring 整合 來監控您的資源,它提供記憶體、磁碟空間和磁碟 I/O 使用率的指標。 若要將資源新增至實例,請手動調整部署。
--parameters 參數
service-instance-create 命令支援 -p 參數,該參數允許將 JSON 格式的參數傳遞到配置過程。 例如,您可以傳遞「雲端資源名稱 (CRN)」作為參數值,以唯一識別雲端中的資源。 所有參數名稱和值都會以字串形式傳遞。
例如,如果從特定備份配置資料庫,並且新資料庫部署需要三個成員總共 12 GB 內存,則為每個成員配置 4 GB 的命令如下所示:
ibmcloud resource service-instance-create databases-for-elasticsearch <INSTANCE_NAME> enterprise us-south \
-p \ '{
"backup_id": "crn:v1:blue:public:databases-for-elasticsearch:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
"members_memory_allocation_mb": "4096"
}' --service-endpoints="private"
透過資源控制器 API 佈建
請依照下列步驟使用 資源控制器 API進行設定。
-
從 API 記號取得 IAM 記號。
-
您需要知道要部署至其中的資源群組 ID。 此資訊可透過 IBM Cloud CLI 取得。
使用類似下列的指令:
ibmcloud resource groups -
您需要知道要部署到的區域。
若要列出可從現行地區佈建部署至其中的所有地區,請使用 Cloud Databases CLI 外掛程式。
指令看起來如下:
ibmcloud cdb regions --json -
選取您要在其上佈建資料庫的 管理模型。 您可以稍後進行變更。
主機特性代表保證資源配置的固定大小。 若要查看區域中可用的主機特性,請呼叫 主機特性功能端點,如下所示:
curl -X POST https://api.{region}.databases.cloud.ibm.com/v5/ibm/capability/flavors \ -H 'Authorization: Bearer <>' \ -H 'ContentType: application/json' \ -d '{ "deployment": { "type": "elasticsearch", "location": "us-south" } }'這會傳回:
{ "deployment": { "type": "elasticsearch", "location": "us-south", "platform": "classic" }, "capability": { "flavors": [ { "id": "b3c.4x16.encrypted", "name": "4x16", "cpu": { "allocation_count": 4 }, "memory": { "allocation_mb": 16384 }, "hosting_size": "xs" }, { "id": "b3c.8x32.encrypted", "name": "8x32", "cpu": { "allocation_count": 8 }, "memory": { "allocation_mb": 32768 }, "hosting_size": "s" }, { "id": "m3c.8x64.encrypted", "name": "8x64", "cpu": { "allocation_count": 8 }, "memory": { "allocation_mb": 65536 }, "hosting_size": "s+" }, { "id": "b3c.16x64.encrypted", "name": "16x64", "cpu": { "allocation_count": 16 }, "memory": { "allocation_mb": 65536 }, "hosting_size": "m" }, { "id": "b3c.32x128.encrypted", "name": "32x128", "cpu": { "allocation_count": 32 }, "memory": { "allocation_mb": 131072 }, "hosting_size": "l" }, { "id": "m3c.30x240.encrypted", "name": "30x240", "cpu": { "allocation_count": 30 }, "memory": { "allocation_mb": 245760 }, "hosting_size": "xl" }, { "id": "multitenant", "name": "multitenant", "cpu": { "allocation_count": 0 }, "memory": { "allocation_mb": 0 }, "hosting_size": "" } ] } }如圖所示,
us-south區域中的Databases for Elasticsearch實例可用的獨立計算主機類型有:b3c.4x16.encryptedb3c.8x32.encryptedm3c.8x64.encryptedb3c.16x64.encryptedb3c.32x128.encryptedm3c.30x240.encrypted
若要將實例佈建或調整為 4 個 CPU 及
16384MB 或 RAM,請提交下列指令:{ "parameters": { "members_host_flavor": "`b3c.4x16.encrypted`" } }若要將實例調整為最多 8 個 CPU 及
32768MB RAM,請提交下列指令:{ "parameters": { "members_host_flavor": "b3c.8x32.encrypted" } } -
取得所有資訊之後,請使用 IBM Cloud 資源控制器來 佈建新的資源實例。
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>" "parameters": { "members_host_flavor": "<members_host_flavor_value>", "service_endpoints":" <ENDPOINT>", "version":"<VERSION>" } }'若要建立共用計算實例,請遵循下列範例。 請注意,Elasticsearch的高級版本不適用於共享計算。
curl -X POST \ https://resource-controller.cloud.ibm.com/v2/resource_instances \ -H "Authorization: Bearer <TOKEN>" \ -H 'Content-Type: application/json' \ -d '{ \ "name": "my-instance", \ "target": "us-south", \ "resource_group": "<RESOURCE_GROUP_ID>", \ "resource_plan_id": "<SERVICE_PLAN_NAME>", \ "parameters": { "members_host_flavor": "multitenant", "service_endpoints": "private", "members_memory_allocation_mb": 16384, "members_cpu_allocation_count": 4 } \ }' \使用相同的
"members_host_flavor"參數佈建 Databases for Elasticsearch 隔離實例,並將它設為所需的隔離大小。 表 2 列出可用的主機作業大小及其members_host_flavor value參數。 例如,{"members_host_flavor": "b3c.4x16.encrypted"}。 請注意,由於主機特性選擇包括 CPU 和 RAM 大小 (b3c.4x16.encrypted是 4 CPU 和 16 RAM),因此此要求不同時接受隔離大小選擇和個別 CPU 和 RAM 配置選擇。curl -X POST \ https://resource-controller.cloud.ibm.com/v2/resource_instances \ -H "Authorization: Bearer <TOKEN>" \ -H 'Content-Type: application/json' \ -d '{ \ "name": "my-instance", \ "target": "us-south", \ "resource_group": "5g9f447903254bb58972a2f3f5a4c711", \ "resource_plan_id": "<SERVICE_PLAN_NAME>", \ "parameters": { "members_host_flavor": "b3c.4x16.encrypted", "service_endpoints": "private" } \ }' \參數
name、target、resource_group、resource_plan_id和service_endpoints都是必需的。下表說明指令中的欄位。
基本命令格式字段 欄位 說明 旗標 NAME必須實例名稱可以是任何字串,而且是在 Web 及 CLI 中用來識別新部署的名稱。 SERVICE_NAME必須服務的名稱或 ID。 對於 Databases for Elasticsearch,請使用 databases-for-elasticsearch。SERVICE_PLAN_NAME必須enterprise或platinumTARGET必須您要部署的區域。 若要擷取區域清單,請使用 ibmcloud regions指令。SERVICE_ENDPOINTS_TYPEConfigure the 服務端點 of your deployment, either publicorprivate. 預設值為public。RESOURCE_GROUP資源群組名稱。 預設值為 default。-g --parameters要建立服務實例之參數的 JSON 檔案或 JSON 字串 -p members_host_flavor若要佈建隔離或共用運算實例,請使用 {"members_host_flavor": "<members_host_flavor value>"}。 對於共用運算,指定值為multitenant。 若為「隔離式運算」,請選取所需的 CPU 及 RAM 配置。 如需詳細資訊,請參閱下表,或 託管機型。service-endpoints必須配置部署的 服務端點, public、private或public-and-private。
members host flavor 參數
members_host_flavor 參數定義計算大小。 若要佈建「共用運算」實例,請指定 multitenant。 若要佈建「隔離運算」實例,請輸入所需 CPU 及 RAM 配置的適當值。
| 會員主機味道 | members_host_flavor 值 |
|---|---|
| 共用運算 | multitenant |
| 4 顆 CPU × 16 RAM | b3c.4x16.encrypted |
| 8 核心 CPU × 32 GB 記憶體 | b3c.8x32.encrypted |
| 8 顆 CPU × 64 RAM | m3c.8x64.encrypted |
| 16 核心 CPU × 64 RAM | b3c.16x64.encrypted |
| 32 核心 CPU × 128 RAM | b3c.32x128.encrypted |
| 30 CPU × 240 RAM | m3c.30x240.encrypted |
Cloud Databases Isolated Compute 不支援 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 ) 的 CRN,然後用於磁碟加密。 KMS 金鑰 CRN 的格式為crn:v1:<...>:key:<id>。 -
backup_encryption_key_crn- KMS 金鑰的 CRN (例如、Key Protect ) 的 CRN,然後用於備份加密。 KMS 金鑰 CRN 的格式為crn:v1:<...>:key:<id>。若要將金鑰用於備份,您必須先 啟用服務至服務委派。
-
members_memory_allocation_mb- 資料庫內的資料庫成員之間共享的記憶體總量。 例如,如果值為“12288”,並且有三個資料庫成員,則部署總共獲得 12 GB RAM,為每個成員提供 4 GB RAM。 如果省略,則會使用資料庫類型的預設值。 此參數僅適用於「多租戶」。 -
members_disk_allocation_mb-要在資料庫內資料庫成員之間共用的磁碟總量。 例如,如果值為 "30720",且有三個成員,則部署會取得 30 GB 磁碟總計,並為每個成員提供 10 GB 磁碟。 如果省略,則會使用資料庫類型的預設值。 此參數僅適用於「多租戶」。 -
members_cpu_allocation_count-啟用並配置指定的核心數目給您的部署。 例如,若要每個成員使用兩個專用核心,請使用"members_cpu_allocation_count":"2"。 如果省略,則會套用預設「共用計算 CPU:RAM 比例」。 此參數僅適用於「多租戶」。
使用 Terraform 佈建
使用 Terraform 管理基礎架構,透過 ibm_database Resource for Terraform 支援佈建 Cloud Databases 部署。 另外,您也可以使用 Terraform IBM Modules,透過 Terraform IBM Modules for Databases for Elasticsearch 管理基礎架構。
選取您要在其上佈建資料庫的 管理模型。 您可以稍後進行變更。
使用 Terraform 提供獨立運算
使用相同的 "host_flavor" 參數佈建 Databases for Elasticsearch 隔離實例,並將它設為所需的隔離大小。 表 1 列出可用的主機作業大小及其 host_flavor value 參數。 例如,{"host_flavor": "b3c.4x16.encrypted"}。
請注意,由於主機特性選擇包括 CPU 和 RAM 大小 (b3c.4x16.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-elasticsearch"
resource_group_id = data.ibm_resource_group.group.id
service_endpoints = "private"
tags = ["tag1", "tag2"]
adminpassword = "password12"
# Pin the database version at provision time.
# If omitted, the newest available major/minor is selected (per service behavior).
version = "<VERSION_STRING>" # e.g. "8.19" for Elasticsearch preferred major
group {
group_id = "member"
host_flavor {
id = "b3c.8x32.encrypted"
}
disk {
allocation_mb = 256000
}
}
users {
name = "user123"
password = "password12"
}
allowlist {
address = "172.168.1.1/32"
description = "desc"
}
}
output "ICD Elasticsearch database connection string" {
value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}
host flavor 參數
host_flavor 參數定義計算大小。
- 共享運算- 若要設定共用運算實例,請指定
multitenant。 - 隔離計算- 若要設定隔離計算實例,請輸入您所需的 CPU 和 RAM 配置的適當值。 請參閱下表中的值。
| 主機特性 | host_flavor 值 |
|---|---|
| 共用運算 | multitenant |
| 4 顆 CPU × 16 RAM | b3c.4x16.encrypted |
| 8 核心 CPU × 32 GB 記憶體 | b3c.8x32.encrypted |
| 8 顆 CPU × 64 RAM | m3c.8x64.encrypted |
| 16 核心 CPU × 64 RAM | b3c.16x64.encrypted |
| 32 核心 CPU × 128 RAM | b3c.32x128.encrypted |
| 30 CPU × 240 RAM | m3c.30x240.encrypted |
Cloud Databases Isolated Compute 不支援 CPU 和 RAM 自動調整。 磁碟自動調整可用。 如果您已佈建隔離式實體,或從具有自動擴充功能的部署轉換過來,請使用 IBM Cloud® Monitoring 整合 來監控您的資源,它提供記憶體、磁碟空間和磁碟 I/O 使用率的指標。 若要將資源新增至實例,請手動調整部署。