Fornecimento
Provisione uma implantação IBM Cloud® Databases for PostgreSQL por meio do catálogo, do plug-in Cloud Databases CLI, da API Cloud Databases, do Terraform ou de módulos Terraform IBM(TIM) pré-construídos, de código aberto e prontos para uso corporativo.
Provisionamento por meio do console IBM Cloud
Faça a implementação a partir do console especificando os seguintes parâmetros:
Detalhes do serviço
- Nome do serviço — O nome pode ser qualquer sequência de caracteres e é o nome usado na web e na CLI para identificar a nova implantação.
- Grupo de recursos — Se você estiver organizando seus serviços em grupos de recursos, especifique o grupo de recursos neste 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 segura de ambiente de locatário único para cargas de trabalho corporativas complexas e de alto desempenho.
- Compartilhado: Oferta flexível multilocatária para seleções de capacidade dinâmicas, personalizadas e desacopladas. Para obter mais informações, consulte Modelos de hospedagem.
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 Shared Compute suporta alocações de recursos mais refinadas que não são mostradas na interface do usuário para manter a clareza. Para obter mais informações, consulte 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 Set only at deployment- A versão de implantação do seu banco de dados. Para assegurar desempenho ideal, execute a versão preferencial. Automaticamente, utiliza-se a versão secundária mais recente. Para obter mais informações, consulte a política de controle de versões.
- Encriptação- Se você usar Key Protect, uma instância e uma chave poderão ser selecionadas para criptografar o disco da implantação. Se você não usar sua chave, a implementação criará e gerenciará automaticamente a própria chave de criptografia de disco.
- Pontos de extremidade Set only at deployment- Configure ospontos de extremidade do serviço em sua implantação. A configuração padrão é “privada ”.
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 os comandos gerais da CLI(ibmcloud) emibmcloud login.ibmcloud login -
Selecione o modelo de hospedagem no qual você 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> <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 PostgreSQL Shared Compute, use um comando como:
ibmcloud resource service-instance-create test-database databases-for-postgresql standard us-south -p '{"members_host_flavor": "multitenant", "members_memory_allocation_mb": "8192"}' --service-endpoints="private"Provisione uma instância isolada Databases for PostgreSQL com o mesmo parâmetro
"members_host_flavor"-p, configurando-o para o tamanho isolado desejado. Os tamanhos de hospedagem disponíveis e seus parâmetrosmembers_host_flavor valueestão listados na Tabela 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-postgresql enterprise us-south -p '{"members_host_flavor": "b3c.4x16.encrypted"}' --service-endpoints="private"Os campos no comando estão descritos na tabela a seguir.
Campos de formato de comando básico Campo Descrição Sinalize INSTANCE_NAMERequiredO nome da instância pode ser qualquer sequência de caracteres e é o nome utilizado na web e na CLI para identificar a nova implantação. SERVICE_NAMERequiredNome ou ID do serviço. Para Databases for PostgreSQL, use databases-for-postgresql.SERVICE_PLAN_NAMERequiredPlano padrão ( standard)LOCATIONRequiredO local onde você deseja fazer a implantação. Para recuperar uma lista de regiões, use o comando ibmcloud regionsRESOURCE_GROUPO nome do grupo de recursos O valor padrão é default.-g --parametersArquivo JSON ou sequência JSON de parâmetros para criar a instância de serviço -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 a 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-endpointsRequiredConfigure os pontos de extremidade de serviço de sua implantação, seja public,privateoupublic-and-private.Você 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-postgresql: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_OR_CRN>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-postgresql:us-south:a/40ddc34a953a8c02f109835656860e:dd13152c-fe15-4bb6-af94-fde0af5303f4:: GUID: dd13152c-fe15-4bb6-af94-fde5654765 Location: <LOCATION> Service Name: databases-for-postgresql 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 postgresql with version 12 (100%) -
(Opcional) Excluindo uma instância de serviço Exclua uma instância executando um comando como este:
ibmcloud resource service-instance-delete <INSTANCE_NAME_OR_CRN>
-
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 do Isolated Compute, insira
o valor apropriado para sua 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ê tiver provisionado uma instância isolada ou mudado de uma implementação com dimensionamento automático, fique de olho em 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 suporta o parâmetro -p , que permite que parâmetros no formato JSON sejam passados para o processo de provisionamento. Por exemplo, você pode passar Nomes
de Recursos da Nuvem (CRNs) como valores de parâmetro, 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 distribuídos entre três membros, o comando para provisionar 4 GB por membro seria o seguinte:
ibmcloud resource service-instance-create databases-for-postgresql <INSTANCE_NAME> standard us-south \
-p \ '{
"backup_id": "crn:v1:blue:public:databases-for-postgresql: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.
-
Obtenha um token IAM a partir do seu token de API.
-
É 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 saber em qual região deseja realizar a implantação. 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 hospedagem no qual você 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 garantidos. Para ver quais variantes de host estão disponíveis em sua região, chame o endpoint de capacidade de variantes de host da seguinte forma:
curl -X POST https://api.{region}.databases.cloud.ibm.com/v5/ibm/capability/flavors \ -H 'Authorization: Bearer <>' \ -H 'ContentType: application/json' \ -d '{ "deployment": { "type": "postgresql", "location": "us-south" } }'Isso retorna:
{ "deployment": { "type": "postgresql", "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 sabores de host do Isolated Compute disponíveis para uma instância Databases for PostgreSQL na região
us-southsão:b3c.4x16.encryptedb3c.8x32.encryptedm3c.8x64.encryptedb3c.16x64.encryptedb3c.32x128.encryptedm3c.30x240.encrypted
Para provisionar ou dimensionar sua instância para 4 CPUs e
16384megabytes de RAM, envie o seguinte comando:{ "parameters": { "members_host_flavor": "b3c.4x16.encrypted" } }Para dimensionar sua instância para até 8 CPUs e
32768megabytes de RAM, envie um comando de dimensionamento com um novomembers_host_flavor:{ "parameters": { "members_host_flavor": "b3c.8x32.encrypted" } } -
Depois de obter todas as informações, 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 <>" \ -H 'Content-Type: application/json' \ -d '{ "name": "<INSTANCE_NAME_OR_CRN", "target": "<LOCATION>", "resource_group": "RESOURCE_GROUP_ID", "resource_plan_id": "<SERVICE_PLAN_NAME>" "parameters": { "members_host_flavor": "<members_host_flavor_value>", "service_endpoints": "<ENDPOINT>", "version": "<version>" } }'Por exemplo, para criar uma instância do Shared Compute, siga este comando:
curl -X POST \ https://resource-controller.cloud.ibm.com/v2/resource_instances \ -H "Authorization: Bearer <>" \ -H 'Content-Type: application/json' \ -d '{ "name": "my-instance", "target": "us-south", "resource_group": "5g9f447903254bb58972a2f3f5a4c711", "resource_plan_id": "databases-for-postgresql-standard" "parameters": { "members_host_flavor": "multitenant", "service_endpoints":"private", "members_memory_allocation_mb": 16384, "members_cpu_allocation_count": 4 } }'Provisione uma instância isolada Databases for PostgreSQL com o mesmo parâmetro
"members_host_flavor", definindo-o para o tamanho isolado desejado. Os tamanhos de hospedagem disponíveis e seus parâmetrosmembers_host_flavor valueestão listados na Tabela 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.curl -X POST \ https://resource-controller.cloud.ibm.com/v2/resource_instances \ -H "Authorization: Bearer <>" \ -H 'Content-Type: application/json' \ -d '{ "name": "my-instance", "target": "us-south", "resource_group": "5g9f447903254bb58972a2f3f5a4c711", "resource_plan_id": "databases-for-postgresql-standard" "parameters": { "member_host_flavor": "b3c.4x16.encrypted", "service_endpoints": "private" } }'Os parâmetros
name,target,resource_group,resource_plan_ideservice_endpointssão todos obrigatórios.Os campos no comando estão descritos na tabela a seguir.
Campos de formato de comando básico Campo Descrição Sinalize nameRequiredO nome da instância pode ser qualquer sequência de caracteres e é o nome utilizado na web e na CLI para identificar a nova implantação. targetRequiredA região na qual você deseja fazer a implantação. Para recuperar uma lista de regiões, use o comando ibmcloud regionsresource_groupO nome do grupo de recursos O valor padrão é default.-g resource_plan_idRequiredNome ou ID do serviço. Para Databases for PostgreSQL, use databases-for-postgresql-standard.--parametersArquivo JSON ou sequência JSON de parâmetros para criar a instância de serviço -p members_host_flavorPara provisionar uma instância de computação isolada ou compartilhada, use um parâmetro como {"members_host_flavor": "<members_host_flavor value>"}. Para Computação Compartilhada, especifiquemultitenant. Para a 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_endpointsRequiredConfigure os pontos de extremidade de serviço de sua implantação, seja public,privateoupublic-and-private.versionA versão do banco de dados a ser provisionada. Se omitido, o banco de dados será criado com a versão principal e secundária mais recentes.
O parâmetro 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 do Isolated Compute, insira
o valor apropriado para sua 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ê tiver provisionado uma instância isolada ou mudado de uma implementação com dimensionamento automático, fique de olho em 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
-
backup_id- Um CRN de um recurso de backup a partir do qual restaurar.. O backup deve ser criado por meio de 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 é provisionado vazio. -
disk_encryption_key_crn- O CRN de uma chave KMS ( Key Protect ), que é então usado para criptografia de disco. O CRN de uma chave KMS tem o formatocrn:v1:<...>:key:<id>. -
backup_encryption_key_crn- O CRN de uma chave KMS ([Key Protect ), que é então usado para a criptografia do backup. O CRN de uma chave KMS tem o formatocrn:v1:<...>:key:<id>.Para usar uma chave para seus backups, deve-se primeiro ativar a delegação de serviço para serviço.
-
members_memory_allocation_mb- A alocação de RAM é total por implementação. Quantidade total de memória a ser compartilhada entre os membros do banco de dados dentro do próprio banco de dados. Por exemplo, se o valor for “8192” e houver dois membros do banco de dados, a implantação receberá 8 GB de RAM no total, o que significa 4 GB de RAM por membro. Se omitido, o valor padrão usado para o tipo de banco de dados será usado. Esse parâmetro se aplica somente amultitenant. -
members_disk_allocation_mb- A alocação de disco é total por implementação. Quantidade total de espaço em disco a ser compartilhada entre os membros do banco de dados dentro do próprio 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. Esse parâmetro se aplica somente amultitenant. -
members_cpu_allocation_count- A alocação da CPU é feita por membro individual do banco de dados. Ativa e aloca o número de núcleos especificado à sua implantaçã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. Esse parâmetro se aplica somente amultitenant. -
remote_leader_id- Um CRN do banco de dados líder para fazer a implantação da réplica (somente leitura). O banco de dados líder é criado por uma implantação de Databases for PostgreSQL. Uma réplica somente leitura é configurada para replicar todos seus dados da implementação líder para a implementação de réplica usando a replicação assíncrona. Para obter mais informações, consulte Configuração de réplicas somente leitura.
Provisionando com o Terraform
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 PostgreSQL.
Selecione o modelo de hospedagem no qual você deseja que seu banco de dados seja provisionado. É possível mudá-lo posteriormente.
Provisionamento de computação isolada com o Terraform
Provisione uma instância isolada Databases for PostgreSQL com o mesmo parâmetro "host_flavor", definindo-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 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.
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-postgresql"
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 Postgresql 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. Os valores podem ser vistos na tabela abaixo.
| 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ê tiver provisionado uma instância isolada ou mudado de uma implementação com dimensionamento automático, fique de olho em 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.