佈建

透過 目錄Cloud Databases CLI 外掛程式、 Cloud Databases APITerraform 或預先建立、開放源碼且適用於企業的 Terraform IBM 模組(TIM),提供 IBM Cloud® Databases for Elasticsearch 部署。

透過 IBM Cloud 主控台佈建

透過指定以下參數從控制台進行配置。

服務詳細資料

  • 服務名稱-名稱可以是任何字串,而且是在 Web 及 CLI 中用來識別新部署的名稱。
  • 資源組- 如果您要將服務組織到 資源組 中,請在此欄位中指定資源組。 否則,您可以保留預設值。 如需相關資訊,請參閱管理資源群組
  • Location- 部署的公有雲區域。

代管模式

  • 隔離式: 專為複雜且需高效能的企業工作負載所設計的安全單租戶解決方案。
  • 共享型: 靈活的多租戶方案,可進行動態、精細調整且解耦的容量選擇。

Databases for Elasticsearch 白金功能僅在 Isolated Compute 上提供。

如需相關資訊,請參閱 管理模型Databases for Elasticsearch 方案

資源配置

細部調整您的資源配置。 可用的選項會根據您選取的管理模型而有所不同。

  • 隔離: 使用表格來選擇部署中每一個成員的機器大小,並指定磁碟大小。
  • 共用: 依預設,會選取可能的最小資源配置。 這適用於小型應用程式或測試。 對於較大的配置,請選取 自訂 磚,以容許具有 2 個以上核心的彈性資源配置。

「共用運算管理」模型支援更精細的資源配置,這些資源配置未顯示在使用者介面中,以保持清晰。 如需相關資訊,請參閱 管理模型

視您的需求而定,指定磁碟大小。 它可以在佈建之後增加,但無法減少以防止資料流失。

服務配置

  • 資料庫版本:僅在部署時設定資料庫的部署版本。 若要確保最佳效能,請執行偏好的版本。 會自動使用最新的次要版本。 有關更多信息,請參閱 版本控制政策
  • 資料庫版本:僅在部署時設定選擇您要部署的版本。 選擇企業版或白金版。 請注意,白金級僅適用於獨立託管模型。
  • 加密:僅在部署時設定如果您使用Key Protect,則可以選擇實例和金鑰來加密部署的磁碟。 如果您不使用自己的金鑰,部署會自動建立並管理自己的磁碟加密金鑰。
  • 端點:僅在部署時設定在部署上配置服務端點。 預設設定為「私密」。

選取適當的設定之後,請按一下 建立 以啟動佈建處理程序。

透過 CLI 佈建

透過 CLI 建立服務實例

在佈建之前,請遵循文件中提供的指示來安裝 IBM Cloud CLI 工具

  1. 登入 IBM Cloud。 如果您使用的是聯邦式使用者 ID,請務必切換至一次性驗證碼(ibmcloud login --sso ),或使用 API 金鑰(ibmcloud --apikey key or @key_file )進行驗證。 如需進一步了解如何透過 CLI 登入,請參閱 ibmcloud login 中的「一般 CLI(ibmcloud)指令」。

    ibmcloud login
    
  2. 選取您要在其上佈建資料庫的 管理模型。 您可以稍後進行變更。

  3. 使用下列指令來佈建資料庫:

    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 必須 配置部署的 服務端點publicprivatepublic-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進行設定。

  1. 從 API 記號取得 IAM 記號

  2. 您需要知道要部署至其中的資源群組 ID。 此資訊可透過 IBM Cloud CLI 取得。

    使用類似下列的指令:

    ibmcloud resource groups
    
  3. 您需要知道要部署到的區域。

    若要列出可從現行地區佈建部署至其中的所有地區,請使用 Cloud Databases CLI 外掛程式

    指令看起來如下:

    ibmcloud cdb regions --json
    
  4. 選取您要在其上佈建資料庫的 管理模型。 您可以稍後進行變更。

    主機特性代表保證資源配置的固定大小。 若要查看區域中可用的主機特性,請呼叫 主機特性功能端點,如下所示:

    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.encrypted
    • b3c.8x32.encrypted
    • m3c.8x64.encrypted
    • b3c.16x64.encrypted
    • b3c.32x128.encrypted
    • m3c.30x240.encrypted

    若要將實例佈建或調整為 4 個 CPU 及 16384 MB 或 RAM,請提交下列指令:

    {
      "parameters": {
        "members_host_flavor": "`b3c.4x16.encrypted`"
      }
    }
    

    若要將實例調整為最多 8 個 CPU 及 32768 MB RAM,請提交下列指令:

    {
      "parameters": {
        "members_host_flavor": "b3c.8x32.encrypted"
      }
    }
    
  5. 取得所有資訊之後,請使用 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"
        } \
      }' \
    

    參數 nametargetresource_groupresource_plan_idservice_endpoints 都是必需的。

    下表說明指令中的欄位。

    基本命令格式字段
    欄位 說明 旗標
    NAME 必須 實例名稱可以是任何字串,而且是在 Web 及 CLI 中用來識別新部署的名稱。
    SERVICE_NAME 必須 服務的名稱或 ID。 對於 Databases for Elasticsearch,請使用 databases-for-elasticsearch
    SERVICE_PLAN_NAME 必須 enterpriseplatinum
    TARGET 必須 您要部署的區域。 若要擷取區域清單,請使用 ibmcloud regions 指令。
    SERVICE_ENDPOINTS_TYPE Configure the 服務端點 of your deployment, either public or private. 預設值為 public
    RESOURCE_GROUP 資源群組名稱。 預設值為 default -g
    --parameters 要建立服務實例之參數的 JSON 檔案或 JSON 字串 -p
    members_host_flavor 若要佈建隔離或共用運算實例,請使用 {"members_host_flavor": "<members_host_flavor value>"}。 對於共用運算,指定值為 multitenant。 若為「隔離式運算」,請選取所需的 CPU 及 RAM 配置。 如需詳細資訊,請參閱下表,或 託管機型
    service-endpoints 必須 配置部署的 服務端點publicprivatepublic-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 佈建共用運算

佈建 Databases for Elasticsearch 共用主機作業模型實例,並將 "host_flavor" 參數設為 multitenant。 請參閱下列範例:

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 = "multitenant"
    },
    cpu {
      allocation_count = 6
    }
    memory {
      allocation_mb = 24576
    }
    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}"
}

使用 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 使用率的指標。 若要將資源新增至實例,請手動調整部署。