Actualización a una nueva versión principal

Cuando una versión principal de una base de datos esté en su final de vida (EOL), es una buena idea actualizar a una versión principal actual.

Busque las versiones disponibles de RabbitMQ en la página IBM Cloud® Messages for RabbitMQ del catálogo, desde el mandato de plugin de CLI Cloud Databases ibmcloud cdb deployables-show, o a través de la Cloud Databases API /deployables endpoint.

Actualice el nuevo despliegue restaurando una copia de seguridad de los datos a la nueva versión. La restauración a partir de una copia de seguridad tiene varias ventajas:

  • El despliegue original continúa en ejecución y el trabajo de producción no se tiene que interrumpir.
  • Puede probar la base de datos nueva fuera de producción y actuar ante cualquier incompatibilidad de alguna aplicación.
  • Se puede volver a ejecutar todo el proceso en cualquier momento.
  • Una restauración nueva reduce la probabilidad de que los artefactos innecesarios de la versión anterior se pasen al nuevo despliegue.

De forma alternativa, también puede utilizar RabbitMQ Shovel para migrar a otra versión.

Actualización en la IU

Actualice a una nueva versión cuando restaure una copia de seguridad desde el separador Copias de seguridad de la Visión general del despliegue. Pulse Restaurar en una copia de seguridad para abrir un recuadro de diálogo en el que puede elegir opciones para el nuevo despliegue. Una de las opciones configurables es la versión de base de datos, que se rellena automáticamente con las versiones disponibles a las que puede actualizar. Seleccione la versión y pulse Restaurar para iniciar el proceso de suministro y restauración.

Actualización a través de la CLI

Para actualizar y restaurar desde la copia de seguridad a través de la CLI, utilice el mandato ibmcloud resource service-instance-create:

ibmcloud resource service-instance-create <service-name> <service-id> <service-plan-id> <region>

Los parámetros service-name, service-id, service-plan-id y region son todos obligatorios. También debe indicar -p con los parámetros de versión y de ID de copia de seguridad en un objeto JSON. Si necesita utilizar una clave de protección de claves, cambiar el tamaño del despliegue o asignar núcleos dedicados, puede hacerlo con los parámetros opcionales key_protect_key, members_disk_allocation_mb, members_memory_allocation_mb o members_cpu_allocation_count, junto con sus valores respectivos al cuerpo de la solicitud:

ibmcloud resource service-instance-create example-upgrade messages-for-rabbitmq standard us-south \
-p '{"backup_id": "crn:v1:bluemix:public:messages-for-rabbitmq:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6", "version":3.8}'

Actualización a través de la API

Complete los pasos necesarios para utilizar la API del controlador de recursos antes de utilizarla para actualizar desde una copia de seguridad.

A continuación, envíe una solicitud POST a la API. Los parámetros name, target, resource_group y resource_plan_id son obligatorios. También debe proporcionar version y backup_id. Para utilizar una clave de protección de claves, redimensionar el despliegue o asignar núcleos dedicados, configure los siguientes parámetros opcionales y sus valores: key_protect_key, members_disk_allocation_mb, members_memory_allocation_mb o members_cpu_allocation_count.

curl -X POST \
  https://resource-controller.bluemix.net/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "my-instance",
    "target": "bluemix-us-south",
    "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
    "resource_plan_id": "messages-for-rabbitmq-standard",
    "backup_id": "crn:v1:bluemix:public:messages-for-rabbitmq:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
    "version":3.9
  }'

Actualización utilizando RabbitMQ Shovel

Puede utilizar una pala para mover mensajes de un clúster actual a un clúster nuevo durante una actualización de versión de RabbitMQ. Para obtener más información, consulte RabbitMQ Shovel.

Resolución de problemas

Si encuentra errores al importar definiciones durante una actualización Messages for RabbitMQ, consulte ¿Por qué no puedo importar definiciones de Messages for RabbitMQ versión 3.9 a la versión 3.11?.