Fornecimento
2ª geração
Implemente uma instância do IBM Cloud® Databases for PostgreSQL por meio do catálogo, do plug-in da CLI do Cloud Databases, da API do Cloud Databases ou do Terraform.
Provisionamento por meio do console (interface do usuário) do IBM Cloud
Faça a implantação a partir do console, especificando os seguintes parâmetros:
Localização e plataforma
- Localização — Escolha a região onde você deseja implantar seu banco de dados. Cada região da lista indica qual plataforma é compatível — Gen 1 ou Gen 2 — para ajudar na sua escolha.
- Plataforma — Selecione a plataforma na qual você deseja implantar seu banco de dados. As opções disponíveis dependem da região que você escolher. Para obter mais informações sobre as diferenças entre a 1ª geração e a 2ª geração, consulte a seção “Visão geral da 1ª geração e da 2ª geração ”.
Detalhes do serviço
- Nome do serviço — O nome pode ser qualquer sequência de caracteres e é o nome utilizado 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.
Modelo de hospedagem
Para implantações da 2ª geração, apenas o modelo de hospedagem isolada está disponível.
Isolado: Oferta segura de ambiente de locatário único para cargas de trabalho corporativas complexas e de alto desempenho. Para obter mais informações, consulte Modelos de hospedagem.
Alocação de recurso
Ajuste com precisão a alocação de recursos. Use as tabelas para escolher o tamanho da máquina para cada componente da sua implantação e especifique o tamanho do disco.
Perfis fixos
| Tamanho do host | vCPU x RAM |
|---|---|
| 4x20 | 4 vCPU x 20 GB de RAM |
| 8x40 | 8 vCPU x 40 GB de RAM |
| 16x80 | 16 vCPU x 80 GB de RAM |
| 32x160 | 32 vCPU x 160 GB de RAM |
| 48x240 | 48 vCPU x 240 GB de RAM |
Perfis flexíveis
| Tamanho do host | vCPU x RAM |
|---|---|
| 4x16 | 4 vCPU x 16 GB de RAM |
| 8x32 | 8 vCPU x 32 GB de RAM |
| 16x64 | 16 vCPU x 64 GB de RAM |
| 32x128 | 32 vCPU x 128 GB de RAM |
Escolha o tamanho do disco de acordo com suas necessidades. Você pode aumentá-lo posteriormente, se necessário, mas não é permitido reduzir o tamanho após o provisionamento, a fim de evitar uma possível perda de dados.
Configuração de serviço
- Versão do banco de dados [Definida apenas na implantação] {: tag-red}- A versão de implantação do seu banco de dados. Para garantir um desempenho ideal, execute a versão recomendada. Automaticamente, utiliza-se a versão secundária mais recente. Para obter mais informações, consulte a política de controle de versões.
- Criptografia — Se você usar Key Protect, é possível selecionar uma instância e uma chave 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 definidos apenas na implantação- Configure ospontos de extremidade do serviço em sua implantação. Na 2ª geração, apenas endpoints privados são suportados.
Depois de selecionar as configurações adequadas, clique em Criar para iniciar o processo de fornecimento.
Provisionamento por meio da CLI
Criar uma instância de serviço por meio da CLI
Antes do provisionamento, siga as instruções fornecidas na documentação para instalar a ferramenta CLI do 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 hospedagem no qual deseja que seu banco de dados seja provisionado. É possível mudá-lo posteriormente.
-
Configure 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 “Shared Compute” do Databases for PostgreSQL, 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 do Databases for PostgreSQL com o mesmo parâmetro
"members_host_flavor"-p, definindo-o para o tamanho isolado desejado. Os tamanhos de hospedagem disponíveis e seus parâmetros demembers_host_flavor valueestão listados na Tabela 2. Por exemplo,{"members_host_flavor": "b3c.4x16.encrypted"}. Observe que, como a seleção do tipo de host inclui os tamanhos de CPU e RAM (b3c.4x16.encryptedcorresponde a 4 CPUs e 16 de RAM), essa solicitação não aceita tanto a seleção do tamanho “Isolated” quanto 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 do formato básico de comando Campo Descrição Sinalize INSTANCE_NAMEObrigatórioO 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_NAMEObrigatórioNome ou ID do serviço. Para acessar o site Databases for PostgreSQL, use databases-for-postgresql.SERVICE_PLAN_NAMEObrigatórioPlano padrão ( standard)LOCATIONObrigatórioO local onde você deseja fazer a implantação. Para obter uma lista de regiões, use o comando ibmcloud regions.RESOURCE_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, acesse {"members_host_flavor": "<members_host_flavor value>"}. Para o Isolated Compute, selecione a configuração desejada de CPU e RAM. Para obter mais informações, consulte a tabela a seguir ou a seção “Modelos de hospedagem ”.--service-endpointsObrigatórioSuporta apenas private.Você verá uma resposta como esta:
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 terminar, você verá uma resposta como esta:
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 dimensionamento do Compute.
Para provisionar uma instância de computação isolada, especifique os valores de CPU e RAM que atendam à configuração desejada.
| Tamanho do host | vCPU x RAM | valor de host_flavor |
|---|---|---|
| 4x20 | 4 vCPU x 20 GB de RAM | bx3d.4x20.encrypted |
| 8x40 | 8 vCPU x 40 GB de RAM | bx3d.8x40.encrypted |
| 16x80 | 16 vCPU x 80 GB de RAM | mx3d.16x80.encrypted |
| 32x160 | 32 vCPU x 160 GB de RAM | bx3d.32x160.encrypted |
| 48x240 | 48 vCPU x 240 GB de RAM | bx3d.48x240.encrypted |
| Tamanho do host | vCPU x RAM | valor de host_flavor |
|---|---|---|
| 4x16 | 4 vCPU x 16 GB de RAM | b3c.4x16.encrypted |
| 8x32 | 8 vCPU x 32 GB de RAM | b3c.8x32.encrypted |
| 16x64 | 16 vCPU x 64 GB de RAM | b3c.16x64.encrypted |
O dimensionamento automático de CPU e RAM não é compatível com o Isolated Compute d Cloud Databases; no entanto, o dimensionamento automático de disco é compatível. Monitore seus recursos com a integração do IBM Cloud® Monitoring, que acompanha o uso de memória, espaço em disco e E/S de disco. Para aumentar os recursos, faça o escalonamento da sua implantação manualmente.
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 na Nuvem (CRNs) como valores de parâmetros, os quais identificam de forma exclusiva 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 realizar o provisionamento usando o 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 este comando para obter uma lista dos grupos de recursos da 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 fazer 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 deseja que seu banco de dados seja provisionado. É possível mudá-lo posteriormente.
Um tipo de host representa tamanhos fixos de alocações garantidas de recursos. Para verificar quais tipos de host estão disponíveis na sua região, acesse o endpoint de capacidade de tipos de host da seguinte maneira:
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": "" } ] } }Para provisionar ou dimensionar sua instância para 4 CPUs e
16384megabytes de RAM, execute o seguinte comando:{ "parameters": { "members_host_flavor": "b3c.4x16.encrypted" } }Para aumentar a capacidade da sua instância para 8 CPUs e
32768megabytes de RAM, envie um comando de escalonamento com um novomembers_host_flavor:{ "parameters": { "members_host_flavor": "b3c.8x32.encrypted" } } -
Depois de ter todas as informações, provisionar uma nova instância de recurso com o Controlador de Recursos do IBM Cloud.
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>" } }'Providencie uma instância isolada do 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âmetros demembers_host_flavor valueestão listados na Tabela 2. Por exemplo,{"members_host_flavor": "b3c.4x16.encrypted"}. Observe que, como a seleção do tipo de host inclui os tamanhos de CPU e RAM (b3c.4x16.encryptedcorresponde a 4 CPUs e 16 de RAM), essa solicitação não aceita tanto a seleção do tamanho “Isolated” quanto 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 do formato básico de comando Campo Descrição Sinalize nameObrigatórioO 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. targetObrigatórioA região na qual você deseja fazer a implantação. Para obter uma lista de regiões, use o comando ibmcloud regions.resource_groupO nome do grupo de recursos. O valor padrão é default.-g resource_plan_idObrigatórioNome ou ID do serviço. Para acessar o site 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, acesse {"members_host_flavor": "<members_host_flavor value>"}. Para o Isolated Compute, selecione a configuração desejada de CPU e RAM. Para obter mais informações, consulte a tabela a seguir ou a seção “Modelos de hospedagem ”.--service-endpointsObrigatórioSuporta apenas 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 dimensionamento do Compute.
Para provisionar uma instância de computação isolada, especifique os valores de CPU e RAM que atendam à configuração desejada.
| Tamanho do host | vCPU x RAM | valor de host_flavor |
|---|---|---|
| 4x20 | 4 vCPU x 20 GB de RAM | bx3d.4x20.encrypted |
| 8x40 | 8 vCPU x 40 GB de RAM | bx3d.8x40.encrypted |
| 16x80 | 16 vCPU x 80 GB de RAM | mx3d.16x80.encrypted |
| 32x160 | 32 vCPU x 160 GB de RAM | bx3d.32x160.encrypted |
| 48x240 | 48 vCPU x 240 GB de RAM | bx3d.48x240.encrypted |
| Tamanho do host | vCPU x RAM | valor de host_flavor |
|---|---|---|
| 4x16 | 4 vCPU x 16 GB de RAM | b3c.4x16.encrypted |
| 8x32 | 8 vCPU x 32 GB de RAM | b3c.8x32.encrypted |
| 16x64 | 16 vCPU x 64 GB de RAM | b3c.16x64.encrypted |
O dimensionamento automático de CPU e RAM não é compatível com o Isolated Compute d Cloud Databases; no entanto, o dimensionamento automático de disco é compatível. Monitore seus recursos com a integração do IBM Cloud® Monitoring, que acompanha o uso de memória, espaço em disco e E/S de disco. Para aumentar os recursos, faça o escalonamento da sua implantação manualmente.
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 segue o 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 segue 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 segue o formatocrn:v1:<...>:key:<id>.Para usar uma chave em seus backups, você deve primeiro habilitar a delegação entre serviços.
-
members_memory_allocation_mb- A alocação de RAM é total por implantaçã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. Este parâmetro se aplica apenas amultitenant. -
members_disk_allocation_mb- A alocação de disco é total por implantaçã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. Este parâmetro se aplica apenas amultitenant. -
members_cpu_allocation_count- A alocação de 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 não for especificado, serão aplicadas as proporções padrão de CPU:RAM do Shared Compute. Este parâmetro se aplica apenas amultitenant. -
remote_leader_id- Um CRN do banco de dados líder para realizar a implantação da réplica (somente leitura). O banco de dados de líderes é criado por meio de uma implantação do 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 “Configurando réplicas somente leitura ”.
Provisionando com o Terraform
Use o Terraform para gerenciar sua infraestrutura por meio do recurso ibm_database, pois o Terraform oferece suporte ao provisionamento
de implantações d Cloud Databases.
Selecione o modelo de hospedagem no qual deseja que seu banco de dados seja provisionado. É possível mudá-lo posteriormente.
Provisionamento de recursos de computação isolados com o Terraform
Providencie uma instância isolada do 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 de 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 os tamanhos de CPU e RAM (b3c.4x16.encrypted corresponde a 4 CPUs e 16 de RAM), essa solicitação não aceita tanto a seleção do tamanho “Isolated” quanto 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 dimensionamento do Compute.
Computação isolada — Para provisionar uma instância de Computação isolada, especifique os valores de CPU e RAM que atendam à configuração desejada.
| Tamanho do host | vCPU x RAM | valor de host_flavor |
|---|---|---|
| 4x20 | 4 vCPU x 20 GB de RAM | bx3d.4x20.encrypted |
| 8x40 | 8 vCPU x 40 GB de RAM | bx3d.8x40.encrypted |
| 16x80 | 16 vCPU x 80 GB de RAM | mx3d.16x80.encrypted |
| 32x160 | 32 vCPU x 160 GB de RAM | bx3d.32x160.encrypted |
| 48x240 | 48 vCPU x 240 GB de RAM | bx3d.48x240.encrypted |
| Tamanho do host | vCPU x RAM | valor de host_flavor |
|---|---|---|
| 4x16 | 4 vCPU x 16 GB de RAM | b3c.4x16.encrypted |
| 8x32 | 8 vCPU x 32 GB de RAM | b3c.8x32.encrypted |
| 16x64 | 16 vCPU x 64 GB de RAM | b3c.16x64.encrypted |
O dimensionamento automático de CPU e RAM não é compatível com o Isolated Compute d Cloud Databases; no entanto, o dimensionamento automático de disco é compatível. Monitore seus recursos com a integração do IBM Cloud® Monitoring, que acompanha o uso de memória, espaço em disco e E/S de disco. Para aumentar os recursos, faça o escalonamento da sua implantação manualmente.