Suministro
Aprovisione una implantación de IBM Cloud® Databases for PostgreSQL a través del catálogo, el complemento CLI Cloud Databases, la API Cloud Databases, a través de Terraform o mediante módulos Terraform IBM(TIM) preconstruidos, de código abierto y preparados para empresas.
Aprovisionamiento a través de la consola IBM Cloud
Despliegue desde la consola especificando los siguientes parámetros:
Detalles de servicio
- Nombre del servicio: el nombre puede ser cualquier cadena de caracteres y es el nombre que se utiliza en la web y en la CLI para identificar la nueva implementación.
- Grupo de recursos: si está organizando sus servicios en grupos de recursos, especifique el grupo de recursos en este campo. De lo contrario, puede dejar el valor predeterminado. Para obtener más información, consulte Gestión de grupos de recursos.
- Ubicación: la región de la nube pública de la implementación.
Modelo de alojamiento
- Aislado: Oferta segura de inquilino único para cargas de trabajo empresariales complejas y de alto rendimiento.
- Shared: Oferta multitenant flexible que permite seleccionar capacidades dinámicas, ajustadas con precisión y desacopladas. Para obtener más información, consulte Modelos de alojamiento.
Asignación de recursos
Ajuste con precisión la asignación de recursos. Las opciones disponibles difieren en función del modelo de alojamiento seleccionado.
- Aislado: Utilice la tabla para elegir el tamaño de máquina para cada miembro del despliegue y especifique el tamaño de disco.
- Compartido: De forma predeterminada, se selecciona la asignación de recursos más pequeña posible. Esto es ideal para pequeñas aplicaciones o pruebas. Para asignaciones más grandes, seleccione el mosaico Personalizado, que permite una configuración de recursos flexible con más de 2 núcleos.
El modelo de alojamiento Shared Compute admite asignaciones de recursos más precisas que no se muestran en la interfaz de usuario para mantener la claridad. Para obtener más información, consulte Modelos de alojamiento.
Especifique el tamaño de disco en función de sus requisitos. Se puede aumentar después del suministro, pero no se puede disminuir para evitar la pérdida de datos.
Configuración del servicio
- Versión de la base de datos Set only at deployment: la versión de implementación de su base de datos. Para garantizar un rendimiento óptimo, ejecute la versión preferida. La última versión menor se utiliza automáticamente. Para obtener más información, consulta la política de versiones.
- Encriptación- Si se utiliza Key Protect, se puede seleccionar una instancia y una clave para encriptar el disco del despliegue. Si no utiliza su propia clave, el despliegue crea y gestiona automáticamente su propia clave de cifrado de disco.
- **Puntos de conexión **Set only at deployment: configura lospuntos de conexión del servicio en tu implementación. La configuración predeterminada es privada.
Después de seleccionar los valores adecuados, pulse Crear para iniciar el proceso de suministro.
Suministro a través de la CLI
Crear una instancia de servicio a través de la CLI
Antes de realizar el suministro, siga las instrucciones que se proporcionan en la documentación para instalar la herramienta de CLIIBM Cloud.
-
Inicie sesión en IBM Cloud. Si utiliza un ID de usuario federado, es importante que cambie a un código de acceso de una sola vez (
ibmcloud login --sso) o utilice una clave de API (ibmcloud --apikey key or @key_file) para la autenticación. Para obtener más información sobre cómo iniciar sesión mediante la CLI, consulta en Comandos generales de la CLI(ibmcloud)ibmcloud login.ibmcloud login -
Seleccione el modelo de alojamiento en el que desea que se aprovisione su base de datos. Puede cambiarlo más adelante.
-
Aprovisione su base de datos con el siguiente 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 ejemplo, para aprovisionar una instancia del modelo de alojamiento Shared Compute Databases for PostgreSQL, utilice un 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"Aprovisionar una Databases for PostgreSQL instancia Aislada con el mismo parámetro
"members_host_flavor"-p, ajustándolo al tamaño Aislado deseado. Los tamaños de alojamiento disponibles y sus parámetrosmembers_host_flavor valuese enumeran en Tabla 2. Por ejemplo,{"members_host_flavor": "b3c.4x16.encrypted"}. Tenga en cuenta que, dado que la selección del tipo de host incluye los tamaños de CPU y RAM (b3c.4x16.encryptedes 4 CPU y 16 RAM), esta solicitud no acepta tanto una selección de tamaño aislado como selecciones separadas de asignación de CPU y RAM.ibmcloud resource service-instance-create test-database databases-for-postgresql enterprise us-south -p '{"members_host_flavor": "b3c.4x16.encrypted"}' --service-endpoints="private"Los campos del mandato se describen en la tabla siguiente.
Campos básicos del formato de comandos Campo Descripción Distintivo INSTANCE_NAMERequiredEl nombre de la instancia puede ser cualquier cadena de caracteres y es el nombre que se utiliza en la web y en la CLI para identificar la nueva implementación. SERVICE_NAMERequiredNombre o ID del servicio. Para Databases for PostgreSQL, utilice databases-for-postgresql.SERVICE_PLAN_NAMERequiredPlan estándar ( standard)LOCATIONRequiredLa ubicación en la que desea realizar la implementación. Para recuperar una lista de regiones, utilice el mandato ibmcloud regions.RESOURCE_GROUPEl nombre del grupo de recursos. El valor predeterminado es default.-g --parametersArchivo JSON o serie JSON de parámetros para crear instancia de servicio -p members_host_flavorPara aprovisionar una instancia de Computación Aislada o Compartida, utilice {"members_host_flavor": "<members_host_flavor value>"}. Para Shared Compute, especifiquemultitenant. Para Isolated Compute, seleccione la configuración de CPU y RAM deseada. Para obtener más información, consulte la siguiente tabla o Modelos de alojamiento.--service-endpointsRequiredConfigure los Service endpoints de su despliegue, ya sea public,privateopublic-and-private.Verás una respuesta 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 comprobar el estado del aprovisionamiento, utiliza el siguiente comando :
ibmcloud resource service-instance <INSTANCE_NAME_OR_CRN>Cuando haya terminado, verá una respuesta 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) Supresión de una instancia de servicio Elimina una instancia ejecutando un comando como este:
ibmcloud resource service-instance-delete <INSTANCE_NAME_OR_CRN>
-
El parámetro members host flavor
El parámetro members_host_flavor define el tamaño de cálculo. Para suministrar una instancia de cálculo compartido, especifique multitenant. Para aprovisionar una instancia de Computación Aislada, introduzca el valor
apropiado para su configuración deseada de CPU y RAM.
| Socios Sabor anfitrión | valor de members_host_flavor |
|---|---|
| Computación compartida | multitenant |
| 4 CPU x 16 RAM | b3c.4x16.encrypted |
| 8 CPU x 32 RAM | b3c.8x32.encrypted |
| 8 CPU x 64 RAM | m3c.8x64.encrypted |
| 16 CPU x 64 RAM | b3c.16x64.encrypted |
| 32 CPU x 128 RAM | b3c.32x128.encrypted |
| 30 CPU x 240 RAM | m3c.30x240.encrypted |
El autoescalado de CPU y RAM no es compatible con Cloud Databases Isolated Compute. El escalado automático de disco está disponible. Si ha aprovisionado una instancia aislada o ha pasado de un despliegue con autoescalado, vigile sus recursos mediante la integración de IBM Cloud® Monitoring, que proporciona métricas de utilización de memoria, espacio en disco y E/S de disco. Para añadir recursos a la instancia, escale manualmente el despliegue.
El parámetro --parameters
El comando service-instance-create admite un -p parámetro, lo que permite pasar parámetros en formato JSON al proceso de aprovisionamiento. Por ejemplo, puede pasar Nombres de recursos en la nube (CRN) como valores
de parámetros, que identifican de forma exclusiva un recurso en la nube. Todos los nombres y valores de parámetros se pasan como series.
Por ejemplo, si se está creando una base de datos a partir de una copia de seguridad concreta y la nueva implementación de la base de datos necesita un total de 12 GB de memoria repartidos entre tres miembros, el comando para asignar 4 GB por miembro sería el siguiente:
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"
Suministro mediante la API del controlador de recursos
Siga estos pasos para aprovisionar mediante la API de controlador de recursos.
-
Obtén un token IAM a partir de tu token de API.
-
Debe conocer el ID del grupo de recursos en el que desea realizar el despliegue. Utilice este comando para obtener una lista de los grupos de recursos de su cuenta:
curl -X GET "https://resource-controller.cloud.ibm.com/v2/resource_groups?account_id=<YOUR_ACCOUNT>" -H "Authorization: Bearer <TOKEN>" -
Debes saber en qué región deseas realizar la implementación. Para obtener una lista de todas las regiones en las que se pueden realizar implantaciones desde la región actual, utilice este comando de la API:
curl -X GET https://api.<YOUR-REGION>.databases.cloud.ibm.com/v5/ibm/regions -H 'Authorization: Bearer <TOKEN>' \ -
Seleccione el modelo de alojamiento en el que desea que se aprovisione su base de datos. Puede cambiarlo más adelante.
Un sabor de host representa tamaños fijos de asignaciones de recursos garantizados. Para ver qué tipos de host están disponibles en su región, llame al punto final de capacidad de tipos de host de la siguiente manera:
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" } }'Esto devuelve:
{ "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": "" } ] } }Como se muestra, los sabores de host Isolated Compute disponibles para una instancia Databases for PostgreSQL en la región
us-southson:b3c.4x16.encryptedb3c.8x32.encryptedm3c.8x64.encryptedb3c.16x64.encryptedb3c.32x128.encryptedm3c.30x240.encrypted
Para aprovisionar o escalar su instancia a 4 CPUs y
16384megabytes o RAM, envíe el siguiente comando:{ "parameters": { "members_host_flavor": "b3c.4x16.encrypted" } }Para escalar su instancia hasta 8 CPUs y
32768megabytes de RAM, envíe un comando scale con un nuevomembers_host_flavor:{ "parameters": { "members_host_flavor": "b3c.8x32.encrypted" } } -
Una vez tengas toda la información, aprovisiona una nueva instancia de recurso con el 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 ejemplo, para crear una instancia de 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 } }'Aprovisionar una Databases for PostgreSQL instancia Aislada con el mismo parámetro
"members_host_flavor", ajustándolo al tamaño Aislado deseado. Los tamaños de alojamiento disponibles y sus parámetrosmembers_host_flavor valuese enumeran en Tabla 2. Por ejemplo,{"members_host_flavor": "b3c.4x16.encrypted"}. Tenga en cuenta que, dado que la selección del tipo de host incluye los tamaños de CPU y RAM (b3c.4x16.encryptedes 4 CPU y 16 RAM), esta solicitud no acepta tanto una selección de tamaño aislado como selecciones separadas de asignación de CPU y 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" } }'Los parámetros
name,target,resource_group,resource_plan_id, yservice_endpointsson todos obligatorios.Los campos del mandato se describen en la tabla siguiente.
Campos básicos del formato de comandos Campo Descripción Distintivo nameRequiredEl nombre de la instancia puede ser cualquier cadena de caracteres y es el nombre que se utiliza en la web y en la CLI para identificar la nueva implementación. targetRequiredLa región en la que desea realizar la implementación. Para recuperar una lista de regiones, utilice el mandato ibmcloud regions.resource_groupEl nombre del grupo de recursos. El valor predeterminado es default.-g resource_plan_idRequiredNombre o ID del servicio. Para Databases for PostgreSQL, utilice databases-for-postgresql-standard.--parametersArchivo JSON o serie JSON de parámetros para crear instancia de servicio -p members_host_flavorPara aprovisionar una instancia de Computación Aislada o Compartida, utilice un parámetro como {"members_host_flavor": "<members_host_flavor value>"}. Para Shared Compute, especifiquemultitenant. Para Isolated Compute, seleccione la configuración de CPU y RAM deseada. Para obtener más información, consulte la tabla siguiente o Modelos de alojamiento.service_endpointsRequiredConfigure los Service endpoints de su despliegue, ya sea public,privateopublic-and-private.versionLa versión de la base de datos que se va a aprovisionar. Si se omite, la base de datos se crea con la versión principal y menor más reciente.
El parámetro host flavor
El parámetro members_host_flavor define el tamaño de cálculo. Para suministrar una instancia de cálculo compartido, especifique multitenant. Para aprovisionar una instancia de Computación Aislada, introduzca el valor
apropiado para su configuración deseada de CPU y RAM.
| Socios Sabor anfitrión | valor de members_host_flavor |
|---|---|
| Computación compartida | multitenant |
| 4 CPU x 16 RAM | b3c.4x16.encrypted |
| 8 CPU x 32 RAM | b3c.8x32.encrypted |
| 8 CPU x 64 RAM | m3c.8x64.encrypted |
| 16 CPU x 64 RAM | b3c.16x64.encrypted |
| 32 CPU x 128 RAM | b3c.32x128.encrypted |
| 30 CPU x 240 RAM | m3c.30x240.encrypted |
El autoescalado de CPU y RAM no es compatible con Cloud Databases Isolated Compute. El escalado automático de disco está disponible. Si ha aprovisionado una instancia aislada o ha pasado de un despliegue con autoescalado, vigile sus recursos mediante la integración de IBM Cloud® Monitoring, que proporciona métricas de utilización de memoria, espacio en disco y E/S de disco. Para añadir recursos a la instancia, escale manualmente el despliegue.
Lista de parámetros adicionales
-
backup_id- Un CRN de un recurso de copia de seguridad desde el que restaurar. La copia de seguridad debe crearse mediante una implementación de base de datos con el mismo ID de servicio. La copia de seguridad se carga después del suministro y se inicia el nuevo despliegue que utiliza estos datos. Un CRN de copia de seguridad tiene el formatocrn:v1:<...>:backup:<uuid>- Si se omite, la base de datos se aprovisiona vacía. -
disk_encryption_key_crn- El CRN de una clave KMS ( Key Protect ), que luego se utiliza para el cifrado de discos. El CRN de una clave KMS tiene el formatocrn:v1:<...>:key:<id>. -
backup_encryption_key_crn- El CRN de una clave KMS ([Key Protect ), que luego se utiliza para el cifrado de las copias de seguridad. El CRN de una clave KMS tiene el formatocrn:v1:<...>:key:<id>.Para utilizar una clave para las copias de seguridad, primero debe habilitar la delegación de servicio a servicio.
-
members_memory_allocation_mb- La asignación de RAM es total por despliegue. Cantidad total de memoria que se compartirá entre los miembros de la base de datos dentro de la propia base de datos. Por ejemplo, si el valor es 8192 y hay dos miembros de la base de datos, la implementación dispone de un total de 8 GB de RAM, lo que supone 4 GB de RAM por miembro. Si se omite, se utiliza el valor predeterminado para el tipo de base de datos. Este parámetro sólo se aplica amultitenant. -
members_disk_allocation_mb- La asignación de discos es total por implantación. Capacidad total de disco que se compartirá entre los miembros de la base de datos dentro de la propia base de datos. Por ejemplo, si el valor es "30720" y hay tres miembros, el despliegue obtiene 30 GB de disco total, lo que significa 10 GB de disco por miembro. Si se omite, se utiliza el valor predeterminado para el tipo de base de datos. Este parámetro sólo se aplica amultitenant. -
members_cpu_allocation_count- La asignación de CPU es por miembro individual de la base de datos. Habilita y asigna el número de núcleos especificado a su implementación. Por ejemplo, para utilizar dos núcleos dedicados por miembro, utilice"members_cpu_allocation_count":"2". Si se omite, se aplicarán las proporciones predeterminadas de CPU:RAM de Shared Compute. Este parámetro sólo se aplica amultitenant. -
remote_leader_id- Un CRN de la base de datos líder para realizar el despliegue de la réplica (sólo lectura). La base de datos líder se crea mediante un despliegue Databases for PostgreSQL. Se configura una réplica de solo lectura para replicar todos los datos del despliegue de líder en el despliegue de réplica utilizando la réplica asíncrona. Para obtener más información, consulte Configuración de réplicas de solo lectura.
Suministro con Terraform
Utilice Terraform para gestionar su infraestructura a través del recurso ibm_database para Terraform soporta el aprovisionamiento
de despliegues Cloud Databases. Como alternativa, puede utilizar Terraform IBM Modules para gestionar su infraestructura a través de Terraform IBM Modules for Databases for PostgreSQL.
Seleccione el modelo de alojamiento en el que desea que se aprovisione su base de datos. Puede cambiarlo más adelante.
Aprovisionamiento de computación aislada con Terraform
Aprovisionar una Databases for PostgreSQL instancia Aislada con el mismo parámetro "host_flavor", ajustándolo al tamaño Aislado deseado. Los tamaños de alojamiento disponibles y sus parámetros host_flavor value se enumeran en Tabla 1. Por ejemplo, {"host_flavor": "b3c.4x16.encrypted"}. Tenga en cuenta que, dado que la selección del tipo de host incluye los tamaños de
CPU y RAM (b3c.4x16.encrypted es 4 CPU y 16 RAM), esta solicitud no acepta tanto una selección de tamaño aislado como selecciones separadas de asignación de CPU y 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}"
}
El parámetro host flavor
El parámetro host_flavor define el tamaño de cálculo.
- Computación compartida- Para aprovisionar una instancia de Computación compartida, especifique
multitenant. - Computación aislada- Para aprovisionar una instancia de Computación Aislada, introduzca el valor apropiado para la configuración de CPU y RAM que desee. Los valores pueden verse en la tabla siguiente.
| Tipo de host | valor host_flavor |
|---|---|
| Computación compartida | multitenant |
| 4 CPU x 16 RAM | b3c.4x16.encrypted |
| 8 CPU x 32 RAM | b3c.8x32.encrypted |
| 8 CPU x 64 RAM | m3c.8x64.encrypted |
| 16 CPU x 64 RAM | b3c.16x64.encrypted |
| 32 CPU x 128 RAM | b3c.32x128.encrypted |
| 30 CPU x 240 RAM | m3c.30x240.encrypted |
El autoescalado de CPU y RAM no es compatible con Cloud Databases Isolated Compute. El escalado automático de disco está disponible. Si ha aprovisionado una instancia aislada o ha pasado de un despliegue con autoescalado, vigile sus recursos mediante la integración de IBM Cloud® Monitoring, que proporciona métricas de utilización de memoria, espacio en disco y E/S de disco. Para añadir recursos a la instancia, escale manualmente el despliegue.