Fornecimento
Provisione uma implantação do IBM Cloud® Databases for MongoDB por meio do catálogo, do Cloud Databases Plug-in da CLI, do Cloud Databases API, ou do Terraform, ou do Terraform, ou de um Terraform IBM Modules(TIM) pré-construído, de código aberto e pronto para uso empresarial.
Fornecimento por meio do console do IBM Cloud
Provisione a partir do console, especificando os seguintes parâmetros.
Detalhes do serviço
- Nome do serviço: o nome pode ser qualquer cadeia de caracteres e é o nome usado na Web e na CLI para identificar a nova implantação.
- Grupo de recursos: Se estiver organizando seus serviços em grupos de recursos, especifique o grupo de recursos nesse campo. Caso contrário, é possível deixá-lo como o padrão. Para obter mais informações, consulte Gerenciando grupos de recursos.
- Localização: A região da nuvem pública da implantação.
Modelo de hospedagem
- Isolado: oferta de locatário único segura para cargas de trabalho corporativas complexas de alto desempenho.
- Compartilhado: Oferta flexível de vários locatários para seleções de capacidade dinâmicas, ajustadas e desacopladas.
Databases for MongoDB Os recursos corporativos só estão disponíveis no Isolated Compute.
Para obter mais informações, consulte Modelos de host e Databases for MongoDB planos.
Alocação de recurso
Ajuste com precisão sua alocação de recurso As opções disponíveis diferem com base no modelo de hosting selecionado.
- Isolado: Use a tabela para escolher o tamanho da máquina para cada membro de sua implementação e especifique o tamanho do disco..
- Compartilhado: por padrão, a menor alocação de recurso possível é selecionada.. Isto é ideal para pequenas aplicações ou testes. Para alocações maiores, selecione o ladrilho Customizado, que permite a configuração de recurso flexível com 2 + núcleos.
O modelo de hospedagem de computação compartilhada oferece suporte a alocações de recursos mais refinadas que não são mostradas na IU para manter a clareza. Para mais informações, veja Modelos de hospedagem.
Especifique o tamanho do disco dependendo dos requisitos. Ele pode ser aumentado após o fornecimento, mas não pode ser reduzido para evitar a perda de dados.
Configuração de serviço
- Versão do banco de dados: Definida somente na implantação Essa é a versão de implantação do seu banco de dados. Recomendamos a execução da versão preferida para garantir o desempenho ideal. Para mais informações, veja Política de versionamento.
- Edição do banco de dados: Definido somente na implementação Selecione entre os planos Standard, Enterprise ou Enterprise Sharding. Observe que os planos Enterprise e Enterprise Sharding não estão disponíveis na hospedagem compartilhada. Para mais informações, veja Planos.
- Criptografia: Configure somente na implementação Se você usar oKey Protect uma instância e uma chave podem ser selecionadas para criptografar o disco da implementação. Se você não usar sua chave, a implementação criará e gerenciará automaticamente a própria chave de criptografia de disco.
- Pontos finais: Definir apenas na implantação Configurar oTerminais de serviço em sua implantação. A configuração padrão é privado.
Uma implementação de Databases for MongoDB não pode ter endpoints públicos e privados simultaneamente.
Depois de selecionar as configurações adequadas, clique em Criar para iniciar o processo de fornecimento.
Provisionando por meio da CLI
Crie uma instância de serviço por meio da CLI
Antes do fornecimento, siga as instruções fornecidas na documentação para instalar a ferramenta da CLI IBM Cloud.
-
Efetue login no IBM Cloud. Se você usar um ID de usuário federado, será importante alternar para uma senha descartável (
ibmcloud login --sso) ou usar uma chave de API (ibmcloud --apikey key or @key_file) para se autenticar. Para obter mais informações sobre como fazer login usando a CLI, consulte Comandos gerais da CLI(ibmcloud) emibmcloud login.ibmcloud login -
Selecione o modelo de hosting no qual deseja que seu banco de dados seja provisionado. É possível mudá-lo posteriormente.
-
Provisione seu banco de dados com o seguinte comando:
ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE_NAME> <SERVICE_PLAN_NAME> <LOCATION> -g <RESOURCE_GROUP> -p '{"members_host_flavor": "<members_host_flavor value>"}' --service-endpoints="<endpoint>"
Por exemplo, para provisionar uma instância do modelo de hospedagem do Databases for MongoDB Shared Compute, use um comando como:
ibmcloud resource service-instance-create test-database databases-for-mongodb standard us-south -p '{"members_host_flavor": "multitenant", "members_memory_allocation_mb": "12288"}' --service-endpoints="private"
Provisione uma instância isolada Databases for MongoDB com o mesmo parâmetro "members_host_flavor" -p, configurando-o para o tamanho isolado desejado. Tamanhos de hospedagem disponíveis e seus members_host_flavor value parâmetros estão listados em mesa 2. Por exemplo, {"members_host_flavor": "b3c.4x16.encrypted"}. Observe que, como a seleção de tipo de host inclui tamanhos de CPU
e RAM (b3c.4x16.encrypted é 4 CPU e 16 RAM), essa solicitação não aceita uma seleção de tamanho isolado e seleções separadas de alocação de CPU e RAM.
ibmcloud resource service-instance-create test-database databases-for-mongodb enterprise us-south -p '{"members_host_flavor": "b3c.4x16.encrypted"}' --service-endpoints="private"
Os campos no comando estão descritos na tabela a seguir.
| Campo | Descrição | Sinalize |
|---|---|---|
INSTANCE_NAME Necessário |
O nome da instância pode ser qualquer cadeia de caracteres e é o nome usado na Web e na CLI para identificar a nova implementação. | |
SERVICE_NAME Necessário |
Nome ou ID do serviço. Para Databases for MongoDB, usar databases-for-mongodb. |
|
SERVICE_PLAN_NAME Necessário |
enterprise, enterprise-sharding ou standard |
|
LOCATION Necessário |
O local onde você deseja implantar. Para recuperar uma lista de regiões, use o ibmcloud regions comando. |
|
RESOURCE_GROUP |
O nome do grupo de recursos. O valor padrão é default. |
-g |
--parameters |
Arquivo JSON ou sequência JSON de parâmetros para criar a instância de serviço | -p |
members_host_flavor |
Para provisionar uma instância de computação isolada ou compartilhada, use {"members_host_flavor": "<members_host_flavor value>"}. Para computação compartilhada, especifique multitenant.
Para computação isolada, selecione a configuração desejada de CPU e RAM. Para obter mais informações, consulte a tabela a seguir ou Modelos de hospedagem. |
|
--service-endpoints Necessário |
Configure os pontos de extremidade de serviço de sua implantação, seja public ou private. |
Na CLI, service-endpoints é um sinalizador, não um parâmetro.
O parâmetro members host flavor
O parâmetro members_host_flavor define o seu dimensionamento de cálculo
-
Para provisionar uma instância do Shared Compute, especifique
multitenant. Para provisionar uma instância de computação isolada, insira o valor apropriado para a configuração desejada de CPU e RAM.Parâmetro de dimensionamento do sabor do host dos membros Sabor do host dos membros valor de members_host_flavor Cálculo compartilhado multitenant4 CPUs x 16 RAM b3c.4x16.encrypted8 CPUs x 32 RAM b3c.8x32.encrypted8 CPUs x 64 RAM m3c.8x64.encrypted16 CPUs x 64 RAM b3c.16x64.encrypted32 CPU x 128 RAM b3c.32x128.encrypted30 CPUs x 240 RAM m3c.30x240.encryptedVocê verá uma resposta como:
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 -
Para verificar o status do provisionamento, use o seguinte comando:
ibmcloud resource service-instance <INSTANCE_NAME>Quando concluído, você verá uma resposta como:
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 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%) -
Opcional: Para excluir uma instância de serviço, execute o seguinte comando:
ibmcloud resource service-instance-delete <INSTANCE_NAME_OR_CRN>
O escalonamento automático de CPU e RAM não é compatível com o Cloud Databases Isolated Compute. O ajuste automático de escala de disco está disponível Se você provisionou uma instância isolada ou mudou de uma implementação com dimensionamento automático, fique de olho nos seus recursos usando a integração IBM Cloud® Monitoring, que fornece métricas de memória, espaço em disco e utilização de E/S de disco. Para incluir recursos em sua instância, escale manualmente sua implementação.
O parâmetro --parameters
O comando service-instance-create oferece suporte a um sinalizador -p, que permite que parâmetros formatados em JSON sejam passados para o processo de provisionamento. Por exemplo, é possível transmitir Cloud Resource
Names (CRNs) como valores de parâmetros, que identificam exclusivamente um recurso na nuvem. Todos os nomes de parâmetros e valores são transmitidos como sequências.
Por exemplo, se um banco de dados estiver sendo provisionado a partir de um backup específico e a implantação do novo banco de dados precisar de um total de 12 GB de memória em três membros, o comando para provisionar 4 GBs por membro terá a seguinte aparência:
ibmcloud resource service-instance-create databases-for-mongodb <SERVICE_NAME> standard 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",
"members_memory_allocation_mb": "4096"
}' --service-endpoints="private"
Provisionando por meio da API do Controlador de Recursos
Siga estas etapas para provisionar usando a API do controlador de recursos.
-
Obter um token IAM.
-
É necessário saber o ID do grupo de recursos no qual você gostaria de implementar. Use esse comando para obter uma lista de grupos de recursos em sua conta:
curl -X GET "https://resource-controller.cloud.ibm.com/v2/resource_groups?account_id=<YOUR_ACCOUNT>" -H "Authorization: Bearer <TOKEN>" -
Você precisa conhecer a região em que deseja implantar. Para listar todas as regiões nas quais as implantações podem ser provisionadas a partir da região atual, use este comando da API:
curl -X GET https://api.<YOUR-REGION>.databases.cloud.ibm.com/v5/ibm/regions -H 'Authorization: Bearer <TOKEN>' \ -
Selecione o modelo de hosting no qual deseja que seu banco de dados seja provisionado. É possível mudá-lo posteriormente.
Um tipo de host representa tamanhos fixos de alocações de recursos garantidas. Para ver quais sabores hospedeiros estão disponíveis em sua região, ligue para o endpoint de capacidade de sabores de host assim:
curl -X POST https://api.{region}.databases.cloud.ibm.com/v5/ibm/capability/flavors \ -H 'Authorization: Bearer <>' \ -H 'ContentType: application/json' \ -d '{ "deployment": { "type": "mongodb", "location": "us-south" } }'Isso retorna:
{ "deployment": { "type": "mongodb", "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": "" } ] } }Conforme mostrado, os tipos de host do Isolated Compute disponíveis para uma instância Databases for MongoDB na região
us-southsão:b3c.4x16.encryptedb3c.8x32.encryptedm3c.8x64.encryptedb3c.16x64.encryptedb3c.32x128.encryptedm3c.30x240.encrypted
Consulte abaixo para obter mais informações sobre o parâmetro
members_host_flavor. -
Depois que você tiver todas as informações acima, provisione uma nova instância de recurso com o IBM Cloud Resource Controller.
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>" } }'Exemplo
Para criar uma instância do Shared Compute, siga este exemplo:
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": "databases-for-mongodb-standard", \ "parameters": { "members_host_flavor": "multitenant", "service_endpoints":"private", "members_memory_allocation_mb": 12288, "members_cpu_allocation_count: 4 } \ }' \Provisione uma instância isolada Databases for Elasticsearch com o mesmo parâmetro
"members_host_flavor", configurando-o para o tamanho isolado desejado. Tamanhos de hospedagem disponíveis e seusmembers_host_flavor valueparâmetros estão listados em mesa 2. Por exemplo,{"members_host_flavor": "b3c.4x16.encrypted"}. Observe que, como a seleção de tipo de host dos membros inclui os tamanhos de CPU e RAM (b3c.4x16.encryptedé 4 CPU e 16 RAM), essa solicitação não aceita uma seleção de tamanho isolado e seleções separadas de alocação de CPU e RAM.Para implementar uma instância com 16 GB de RAM e 4 núcleos de CPU no Isolated Compute, veja o exemplo a seguir. Certifique-se de substituir o valor
RESOURCE GROUP IDpor um ID encontrado em Gerenciar > Conta > Grupos de recursos.curl -X POST \ https://resource-controller.cloud.ibm.com/v2/resource_instances -H 'Authorization: Bearer <token>' \ -H 'Content-Type: application/json' \ -d '{ "name": "my-mongo", "target": "eu-gb", "resource_group": "<RESOURCE_GROUP_ID>", "resource_plan_id": "databases-for-mongodb-standard", "parameters": { "members_host_flavor":"b3c.4x16.encrypted"}, "service_endpoints":"private" } \ }' \Os campos no comando estão descritos na tabela a seguir.
Campo Descrição Sinalize nameNecessárioO nome da instância pode ser qualquer cadeia de caracteres e é o nome usado na Web e na CLI para identificar a nova implementação. resource_plan_idNecessárioNome ou ID do serviço. Para Databases for MongoDB, use databases-for-mongodb-enterpriseoudatabases-for-mongodb-standard.targetNecessárioO local onde você deseja implantar. Para recuperar uma lista de regiões, use o ibmcloud regionscomando.resource_groupNecessárioO nome do grupo de recursos. O valor padrão é default.-g --parametersArquivo JSON ou cadeia de caracteres JSON de parâmetros para criar a instância do serviço. Veja abaixo mais detalhes -p members_host_flavorPara provisionar uma instância de computação isolada ou compartilhada, use {"members_host_flavor": "<members_host_flavor value>"}. Para computação compartilhada, especifiquemultitenant. Para computação isolada, selecione a configuração desejada de CPU e RAM. Para obter mais informações, consulte a tabela abaixo ou Modelos de hospedagem.service_endpointsRequired- Ospontos de extremidade de serviço suportados em sua implantação,publicouprivate.
O parâmetro members_host_flavor
O parâmetro members_host_flavor define o seu dimensionamento de cálculo Para provisionar uma instância de cálculo compartilhado, especifique multitenant. Para provisionar uma instância de computação isolada, insira
o valor apropriado para a configuração desejada de CPU e RAM.
| Sabor do host dos membros | valor de members_host_flavor |
|---|---|
| Cálculo compartilhado | multitenant |
| 4 CPUs x 16 RAM | b3c.4x16.encrypted |
| 8 CPUs x 32 RAM | b3c.8x32.encrypted |
| 8 CPUs x 64 RAM | m3c.8x64.encrypted |
| 16 CPUs x 64 RAM | b3c.16x64.encrypted |
| 32 CPU x 128 RAM | b3c.32x128.encrypted |
| 30 CPUs x 240 RAM | m3c.30x240.encrypted |
O escalonamento automático de CPU e RAM não é compatível com o Cloud Databases Isolated Compute. O ajuste automático de escala de disco está disponível Se você provisionou uma instância isolada ou mudou de uma implementação com dimensionamento automático, fique de olho nos seus recursos usando a integração IBM Cloud® Monitoring, que fornece métricas de memória, espaço em disco e utilização de E/S de disco. Para incluir recursos em sua instância, escale manualmente sua implementação.
Lista de parâmetros adicionais
No objeto --parameters, você pode fornecer informações adicionais para criar sua instância de serviço, incluindo:
-
backup_id- Um CRN de um recurso de backup a partir do qual restaurar.. O backup deve ser criado por uma implantação de banco de dados com o mesmo ID de serviço. O backup é carregado após o fornecimento e a nova implementação que usa esses dados é inicializada. Um CRN de backup está no formatocrn:v1:<...>:backup:<uuid>. Se omitido, o banco de dados será provisionado vazio. -
version- A versão do banco de dados a ser provisionado. Se omitido, o banco de dados será criado com a versão principal e secundária mais recentes. -
disk_encryption_key_crn- O CRN de uma chave KMS ( Key Protect ), que é então usada para criptografia de disco. Um CRN de chave KMS está no formatocrn:v1:<...>:key:<id>. -
backup_encryption_key_crn- O CRN de uma chave KMS ( Key Protect ), que é então usada para criptografia de backup. Um CRN de chave KMS está no formatocrn:v1:<...>:key:<id>.Para usar uma chave para seus backups, você deve primeiro ativar a delegação de serviço para serviço.
-
members_memory_allocation_mb- Quantidade total de memória a ser compartilhada entre os membros do banco de dados dentro do banco de dados. Por exemplo, se o valor for "12288" e houver três membros do banco de dados, a implantação terá 12 GB de RAM no total, com 4 GB de RAM por membro. Se omitido, o valor padrão usado para o tipo de banco de dados será usado. Este parâmetro aplica-se apenas a ` multitenant ' -
members_disk_allocation_mb- Quantidade total de disco a ser compartilhada entre os membros do banco de dados dentro do banco de dados. Por exemplo, se o valor for "30720" e houver três membros, a implementação terá 30 GB de disco no total, totalizando 10 GB de disco por membro. Se omitido, o valor padrão para o tipo de banco de dados será usado. Este parâmetro aplica-se apenas a ` multitenant ' -
members_cpu_allocation_count- Ativa e aloca o número de núcleos especificados para sua implementação. Por exemplo, para usar dois núcleos dedicados por membro, use"members_cpu_allocation_count":"2". Se omitido, serão aplicadas as proporções padrão de CPU:RAM do Shared Compute. Este parâmetro aplica-se apenas a ` multitenant ' -
members_allocation_count- O número total de membros do banco de dados. Esse parâmetro só se aplica a bancos de dados horizontalmente escalonáveis.
Provisionando com o Terraform
Antes de iniciar:
- Instale a CLI do Terraform e o plug-in do provedor do IBM Cloud.
- Certifique-se de que você tenha uma IBM Cloud.
Use o Terraform para gerenciar sua infraestrutura por meio do recurso ibm_database. O Terraform oferece suporte ao provisionamento de implantações do Cloud Databases. Como alternativa, você pode usar os módulos do Terraform IBM para gerenciar sua infraestrutura por meio dos módulos do Terraform IBM para Databases for MongoDB.
Selecione o modelo de hosting no qual deseja que seu banco de dados seja provisionado. É possível mudá-lo posteriormente.
Provisionamento de computação isolada com o Terraform
Provisionar um Databases for MongoDB Instância isolada com o mesmo "host_flavor" parâmetro, configurando-o para o tamanho isolado desejado. Os tamanhos de hospedagem disponíveis e seus parâmetros host_flavor value estão listados na Tabela 1. Por exemplo, {"host_flavor": "b3c.4x16.encrypted"}. Observe que, como a seleção do tipo de host inclui tamanhos de CPU e RAM (b3c.4x16.encrypted é 4 CPU e 16 RAM), esta solicitação não aceita uma seleção de tamanho isolado e seleções separadas de alocação de CPU e 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 = "b3c.8x32.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}"
}
O parâmetro host flavor
O parâmetro host_flavor define o seu dimensionamento de cálculo
- Computação compartilhada- Para provisionar uma instância de computação compartilhada, especifique
multitenant. - Computação isolada- Para provisionar uma instância de computação isolada, insira o valor apropriado para a configuração desejada de CPU e RAM. Veja os valores na tabela a seguir.
| Tipo de host: | valor host_flavor |
|---|---|
| Cálculo compartilhado | multitenant |
| 4 CPUs x 16 RAM | b3c.4x16.encrypted |
| 8 CPUs x 32 RAM | b3c.8x32.encrypted |
| 8 CPUs x 64 RAM | m3c.8x64.encrypted |
| 16 CPUs x 64 RAM | b3c.16x64.encrypted |
| 32 CPU x 128 RAM | b3c.32x128.encrypted |
| 30 CPUs x 240 RAM | m3c.30x240.encrypted |
O escalonamento automático de CPU e RAM não é compatível com o Cloud Databases Isolated Compute. O ajuste automático de escala de disco está disponível Se você provisionou uma instância isolada ou mudou de uma implementação com dimensionamento automático, fique de olho nos seus recursos usando a integração IBM Cloud® Monitoring, que fornece métricas de memória, espaço em disco e utilização de E/S de disco. Para incluir recursos em sua instância, escale manualmente sua implementação.