Este documento es la segunda parte de una serie en la que se trata la recuperación ante desastres (DR) en Google Cloud. En esta parte, se analizan los servicios y los productos que puedes usar como componentes básicos del plan de DR, incluidos los productos de Google Cloud y los que funcionan en distintas plataformas.
La serie consta de estas partes:
- Guía de planificación para la recuperación ante desastres
- Componentes básicos de la recuperación ante desastres (este artículo)
- Situaciones de recuperación ante desastres para datos
- Situaciones de recuperación ante desastres para aplicaciones
- Arquitectura de recuperación ante desastres para cargas de trabajo con restricciones de localidad
- Casos de uso de recuperación ante desastres: aplicaciones de análisis de datos con restricciones de localidad
- Arquitectura de recuperación ante desastres para interrupciones de infraestructura de nube
Google Cloud tiene una amplia gama de productos que puedes usar como parte de tu arquitectura de recuperación ante desastres. En esta sección, analizamos las funciones relacionadas con la DR de los productos que se usan con mayor frecuencia como componentes básicos de la DR de Google Cloud .
Muchos de estos servicios tienen funciones de alta disponibilidad (HA). La HA no se solapa completamente con la recuperación ante desastres, pero muchos de los objetivos de la HA también se aplican al diseño de un plan de recuperación ante desastres. Por ejemplo, si aprovechas las funciones de HA, puedes diseñar arquitecturas que optimicen el tiempo de actividad y que mitiguen los efectos de fallas de pequeña escala, como la falla de una sola máquina virtual (VM). Para obtener más información sobre la relación entre la DR y la HA, consulta la Guía de planificación de recuperación ante desastres.
En las siguientes secciones, se describen estos componentes básicos de la DR de Google Cloud y cómo te ayudan a implementar tus objetivos de DR.
Compute y almacenamiento
En la siguiente tabla, se proporciona un resumen de las funciones de los servicios de procesamiento y almacenamiento de Google Cloud que sirven como componentes básicos para la DR:
Producto | Atributo |
---|---|
Compute Engine |
|
Cloud Storage |
|
Google Kubernetes Engine (GKE) |
|
Para obtener más información sobre cómo las funciones y el diseño de estos y otros productos deGoogle Cloud podrían influir en tu estrategia de DR, consulta Arquitectura de recuperación ante desastres para interrupciones de la infraestructura de nube: referencia de productos.
Compute Engine
Compute Engine proporciona instancias de máquina virtual (VM); es un producto imprescindible de Google Cloud. Además de configurar, iniciar y supervisar instancias de Compute Engine, por lo general, usas una variedad de funciones relacionadas para implementar un plan de DR.
Para las situaciones de DR, puedes evitar la eliminación accidental de VM si configuras la marca de protección contra eliminaciones. Esto es útil sobre todo cuando alojas servicios con estado, como bases de datos.
Para obtener información sobre cómo cumplir con valores bajos de RTO y RPO, consulta Diseña sistemas resilientes.
Plantillas de instancias
Puedes usar las plantillas de instancias de Compute Engine para guardar los detalles de configuración de la VM y, luego, crear instancias de Compute Engine a partir de plantillas de instancias existentes. Puedes usar la plantilla para iniciar la cantidad de instancias que necesites; además, podrás configurar esa plantilla de la manera que desees cuando sea necesario poner en funcionamiento el entorno de destino de DR. Las plantillas de instancias se replican de manera global, por lo que puedes recrear la instancia con la misma configuración en Google Cloud en cualquier lugar.
Para obtener más información, consulta los siguientes recursos:
Para obtener más información sobre el uso de las imágenes de Compute Engine, consulta la sección sobre el equilibrio entre la configuración y la velocidad de implementación de imágenes que se encuentra más adelante en este documento.
Grupos de instancias administrados
Los grupos de instancias administrados funcionan con Cloud Load Balancing (que se explica más adelante en este documento) para distribuir el tráfico en grupos de instancias configuradas de forma idéntica que se copian en todas las zonas. Los grupos de instancias administrados permiten funciones como el ajuste de escala automático y la recuperación automática, en las que el grupo de instancias administrado puede borrar y recrear instancias automáticamente.
Reservas
Compute Engine permite la reserva de instancias de VM en una zona específica, mediante tipos de máquinas personalizados o predefinidos, con o sin SSD locales o GPU adicionales. A fin de garantizar la capacidad de tus cargas de trabajo esenciales para el DR, debes crear reservas en tus zonas de destino de DR. Sin reservas, existe la posibilidad de que no obtengas la capacidad a pedido que necesitas para cumplir con tu objetivo de tiempo de recuperación. Las reservas pueden ser útiles en situaciones de DR frías, tibias o calientes. Te permiten mantener los recursos de recuperación disponibles para la conmutación por error a fin de satisfacer las necesidades de RTO más bajas, sin tener que configurarlos ni implementarlos completamente por adelantado.
Instantáneas y discos persistentes
Los discos persistentes son dispositivos de almacenamiento de red duraderos a los que pueden acceder las instancias. Son independientes de las instancias, por lo que puedes separar y mover discos persistentes para mantener tus datos incluso después de borrar las instancias.
Puedes realizar copias de seguridad o instantáneas incrementales de las VM de Compute Engine en diferentes regiones y utilizarlas para recrear discos persistentes en caso de un desastre. Además, puedes crear instantáneas de discos persistentes para protegerte contra la pérdida de datos debido a un error del usuario. Las instantáneas son incrementales y crearlas solo te llevará unos minutos, incluso si tus discos de instantáneas se encuentran adjuntos a instancias en ejecución.
Los discos persistentes tienen redundancia incorporada a fin de proteger los datos contra fallas del equipo, así como para garantizar la disponibilidad de los datos a través de eventos de mantenimiento del centro de datos. Los discos persistentes pueden ser zonales o regionales. Los discos persistentes regionales replican escrituras en dos zonas de una región. En el caso de una interrupción zonal, una instancia de VM de copia de seguridad puede forzar la conexión de un disco persistente regional en la zona secundaria. Para obtener más información, consulta Opciones de alta disponibilidad con discos persistentes regionales.
Mantenimiento transparente
Google lleva a cabo el mantenimiento de su infraestructura de forma periódica mediante la aplicación de parches en los sistemas con el software más reciente, la realización de pruebas de rutina y el mantenimiento preventivo. Google se asegura de que su infraestructura sea tan rápida y eficiente como solo ellos saben hacerlo.
De forma predeterminada, todas las instancias de Compute Engine están configuradas a fin de que estos eventos de mantenimiento sean transparentes para tus aplicaciones y cargas de trabajo. Para obtener más información, consulta Mantenimiento transparente.
Cuando se produce un evento de mantenimiento, Compute Engine usa la migración en vivo para migrar automáticamente tus instancias en ejecución a otro host en la misma zona. La migración en vivo permite que Google realice un mantenimiento integral para que la infraestructura esté protegida y sea confiable, sin interrumpir ninguna de tus VMs.
Herramienta de importación de discos virtuales
La herramienta de importación de discos virtuales te permite importar formatos de archivo, incluidos VMDK, VHD y RAW, para crear máquinas virtuales nuevas de Compute Engine. Con esta herramienta, puedes crear máquinas virtuales de Compute Engine que tengan la misma configuración que tus máquinas virtuales locales. Este es un método adecuado que puedes aplicar cuando no puedas configurar las imágenes de Compute Engine a partir de los objetos binarios de origen del software que ya está instalado en las imágenes.
Copias de seguridad automáticas
Puedes automatizar las copias de seguridad de tus instancias de Compute Engine con etiquetas. Por ejemplo, puedes crear una plantilla de plan de copia de seguridad con el servicio Backup and DR y aplicarla automáticamente a tus instancias de Compute Engine.
Para obtener más información, consulta Cómo automatizar la protección de instancias nuevas de Compute Engine.
Cloud Storage
Cloud Storage es un depósito de objetos ideal para almacenar los archivos de copia de seguridad. Proporciona diferentes clases de almacenamiento que son adecuadas para casos de uso específicos, como se describe en el siguiente diagrama.
En situaciones de DR, Nearline, Coldline y Archive Storage son de especial interés. Estas clases de almacenamiento reducen el costo de almacenamiento en comparación con la clase Standard Storage. Sin embargo, existen costos adicionales relacionados con la recuperación de datos o metadatos almacenados en esas clases, así como los períodos de duración mínima del almacenamiento por los que se te cobra. Nearline está diseñado para situaciones de copias de seguridad en las que el acceso ocurre, como máximo, una vez al mes. Esto resulta ideal para que puedas realizar pruebas de esfuerzo de DR regulares y mantener los costos bajos.
Nearline, Coldline y Archive están optimizadas para el acceso poco frecuente, y esto se tuvo en cuenta para diseñar el modelo de precios. Por lo tanto, se te cobra por la duración mínima de almacenamiento, y hay costos adicionales por la recuperación de datos o metadatos en estas clases antes de la duración mínima de almacenamiento correspondiente a la clase.
Para proteger tus datos en un bucket de Cloud Storage contra la eliminación accidental o maliciosa, puedes usar la función Eliminación no definitiva para conservar los objetos borrados y reemplazados durante un período especificado, y la función Retenciones de objetos para evitar la eliminación o actualización de objetos.
El Servicio de transferencia de almacenamiento te permite importar datos de Amazon S3, Azure Blob Storage o fuentes de datos locales a Cloud Storage. En situaciones de DR, puedes usar el Servicio de transferencia de almacenamiento para hacer lo siguiente:
- Realizar una copia de seguridad de los datos de otros proveedores de almacenamiento en un bucket de Cloud Storage
- Transferir los datos de un bucket en una región doble o múltiple a un bucket en una región para reducir los costos de almacenamiento de las copias de seguridad.
Filestore
Las instancias de Filestore son servidores de archivos NFS completamente administrados que se usan con aplicaciones que se ejecutan en instancias de Compute Engine o clústeres de GKE.
Los niveles Basic y Zonal de Filestore son recursos zonales y no admiten la replicación entre zonas, mientras que las instancias de nivel Enterprise de Filestore son recursos regionales. Para ayudarte a aumentar la resiliencia de tu entorno de Filestore, te recomendamos que uses instancias del nivel empresarial.
Google Kubernetes Engine
GKE es un entorno administrado y listo para la producción que permite implementar aplicaciones en contenedores. GKE te permite organizar sistemas de alta disponibilidad; además, incluye las siguientes funciones:
- Reparación automática del nodo. Si un nodo falla en varias verificaciones de estado consecutivas durante un período prolongado (aproximadamente 10 minutos), GKE iniciará un proceso de reparación para ese nodo.
- Sondeo de capacidad de funcionamiento y preparación. Puedes especificar un sondeo de capacidad de respuesta, el cual, periódicamente, le dice a GKE que el pod se está ejecutando. Si el pod falla durante el sondeo, se puede reiniciar.
- Clústeres multizona y regionales. Puedes distribuir los recursos de Kubernetes en varias zonas dentro de una región.
- La puerta de enlace de varios clústeres te permite configurar recursos de balanceo de cargas compartidos en varios clústeres de GKE en diferentes regiones.
- Copia de seguridad para GKE te permite crear copias de seguridad de las cargas de trabajo y restablecerlas en clústeres de GKE.
Herramientas de redes y transferencia de datos
En la siguiente tabla, se proporciona un resumen de las funciones de los servicios de transferencia de datos y redes de Google Cloud que sirven como componentes básicos para la DR:
Producto | Atributo |
---|---|
Cloud Load Balancing |
|
Cloud Service Mesh |
|
Cloud DNS |
|
Cloud Interconnect |
|
Cloud Load Balancing
Cloud Load Balancing proporciona alta disponibilidad para los productos de computación de Google Cloud mediante la distribución del tráfico de usuarios en varias instancias de tus aplicaciones. Puedes configurar Cloud Load Balancing con verificaciones de estado que determinan si las instancias están disponibles para realizar tareas, de modo que el tráfico no se enrute hacia las instancias con errores.
Cloud Load Balancing proporciona una sola dirección IP Anycast para el frontend de tus aplicaciones. Tus aplicaciones pueden tener instancias que se ejecutan en diferentes regiones (por ejemplo, en Europa y en EE.UU.), y tus usuarios finales se dirigen al conjunto de instancias más cercano. Además de proporcionar un balanceo de cargas destinado a los servicios que están expuestos a Internet, puedes configurar un balanceo de cargas interno para los servicios detrás de una dirección IP privada de balanceo de cargas. Solo las instancias de VM que son internas de la nube privada virtual (VPC) pueden acceder a esta dirección IP.
Para obtener más información, consulta la descripción general de Cloud Load Balancing.
Cloud Service Mesh
Cloud Service Mesh es una malla de servicios administrada por Google que está disponible en Google Cloud. Cloud Service Mesh proporciona telemetría detallada para ayudarte a recopilar estadísticas detalladas sobre tus aplicaciones. Admite servicios que se ejecutan en una variedad de infraestructuras de procesamiento.
Cloud Service Mesh también admite funciones avanzadas de administración y enrutamiento de tráfico, como interrupciones de circuito y inserción de fallas. Con la interrupción de circuitos, puedes aplicar límites en las solicitudes a un servicio en particular. Cuando se alcanzan los límites de interrupción de circuitos, se evita que las solicitudes lleguen al servicio, lo que evita que este se degrade aún más. Con la inserción de errores, Cloud Service Mesh puede ingresar demoras o anular una fracción de solicitudes a un servicio. La inserción de fallas te permite probar la capacidad de tu servicio de sobrevivir a las demoras de las solicitudes o a las solicitudes anuladas.
Para obtener más información, consulta la descripción general de Cloud Service Mesh.
Cloud DNS
Cloud DNS proporciona una manera programática de administrar tus entradas de DNS como parte de un proceso de recuperación automatizado. Cloud DNS usa la red global de servidores de nombres Anycast de Google para entregar datos en las zonas de DNS desde ubicaciones redundantes en todo el mundo, lo que proporciona alta disponibilidad y baja latencia a los usuarios.
Si eliges administrar las entradas de DNS de forma local, puedes habilitar las VMs enGoogle Cloud para resolver estas direcciones a través del reenvío de Cloud DNS.
Cloud DNS admite políticas para configurar cómo responde a las solicitudes de DNS. Por ejemplo, puedes configurar políticas de enrutamiento de DNS para dirigir el tráfico según criterios específicos, como habilitar la conmutación por error a una configuración de copia de seguridad para proporcionar alta disponibilidad o enrutar solicitudes de DNS según su ubicación geográfica.
Cloud Interconnect
Cloud Interconnect proporciona formas de transferir información de otras fuentes a Google Cloud. Analizaremos este producto más adelante en la sección Transferencia de datos hacia y desde Google Cloud.
Administración y supervisión
En la siguiente tabla, se proporciona un resumen de las funciones de los servicios de administración y supervisión de Google Cloud que sirven como componentes básicos para la DR:
Producto | Atributo |
---|---|
Panel de estado de Cloud |
|
Google Cloud Observability |
|
Google Cloud Managed Service para Prometheus |
|
Panel de estado de Cloud
En el Panel de estado de Cloud, se muestra la disponibilidad actual de los servicios de Google Cloud . Puedes ver el estado en la página y suscribirte a un feed RSS que se actualiza cada vez que hay noticias sobre un servicio.
Cloud Monitoring
Cloud Monitoring recopila métricas, eventos y metadatos de Google Cloud, AWS, sondeos de tiempo de actividad alojados, instrumentación de aplicaciones y una variedad de otros componentes de la aplicación. Puedes configurar alertas para enviar notificaciones a herramientas de terceros, como Slack o Pagerduty, con el fin de proporcionar actualizaciones oportunas a los administradores.
Cloud Monitoring te permite crear verificaciones de tiempo de actividad para extremos disponibles públicamente y para extremos dentro de tus VPC. Por ejemplo, puedes supervisar URLs, instancias de Compute Engine, revisiones de Cloud Run y recursos de terceros, como instancias de Amazon Elastic Compute Cloud (EC2).
Google Cloud Managed Service para Prometheus
Google Cloud Managed Service para Prometheus es una solución de múltiples nubes entre proyectos y administrada por Google para las métricas de Prometheus. Te permite supervisar y generar alertas sobre tus cargas de trabajo de forma global mediante Prometheus, sin tener que administrar ni operar Prometheus de forma manual a gran escala.
Para obtener más información, consulta Google Cloud Managed Service para Prometheus.
Componentes básicos de la recuperación ante desastres multiplataforma
Cuando ejecutas cargas de trabajo en más de una plataforma, una manera de reducir la sobrecarga operativa es seleccionar herramientas que funcionen con todas las plataformas que utilices. En esta sección, analizaremos algunas herramientas y servicios que son independientes de la plataforma y, por lo tanto, son compatibles con las situaciones de DR multiplataforma.
Infraestructura como código
Si defines tu infraestructura con código, en lugar de interfaces gráficas o secuencias de comandos, puedes adoptar herramientas de plantillas declarativas y automatizar el aprovisionamiento y la configuración de la infraestructura en todas las plataformas. Por ejemplo, puedes usar Terraform y Infrastructure Manager para activar tu configuración de infraestructura declarativa.
Herramientas de administración de configuración
Para una infraestructura de DR grande o compleja, recomendamos el uso de herramientas de administración de software independientes de la plataforma, como Chef y Ansible. Estas herramientas aseguran que se puedan aplicar configuraciones reproducibles sin importar dónde se encuentre la carga de trabajo de Compute.
Herramientas de organizador
Los contenedores también pueden considerarse componentes básicos para la recuperación ante desastres. Los contenedores son una forma de empaquetar servicios y lograr que haya coherencia en todas las plataformas.
Si trabajas con contenedores, lo habitual es que uses un organizador. Kubernetes no solo funciona para administrar contenedores dentro de Google Cloud (con GKE), sino que también proporciona una forma de organizar cargas de trabajo basadas en contenedores en varias plataformas. Google Cloud, AWS y Microsoft Azure proporcionan versiones administradas de Kubernetes.
Para distribuir el tráfico a los clústeres de Kubernetes que se ejecutan en diferentes plataformas de Cloud, puedes usar un servicio DNS que admita registros ponderados y que incorpore la verificación de estado.
También debes asegurarte de que puedes incorporar la imagen en el entorno de destino. Esto significa que debes tener acceso al registro de imágenes en caso de que ocurra un desastre. Una opción adecuada, que también es independiente de la plataforma, es Artifact Registry.
Transferencia de datos
La transferencia de datos es un componente crítico de las situaciones de recuperación ante desastres multiplataforma. Asegúrate de diseñar, implementar y evaluar las situaciones de recuperación ante desastres multiplataforma mediante simulaciones realistas de lo que requiere la situación de transferencia de datos de recuperación ante desastres. Analizaremos las situaciones de transferencia de datos en la sección siguiente.
Servicio de copia de seguridad y DR
El servicio de copia de seguridad y DR es una solución de copia de seguridad y DR para cargas de trabajo en la nube. Te ayuda a recuperar datos y reanudar operaciones empresariales fundamentales, y admite varios productos deGoogle Cloud , así como bases de datos y sistemas de almacenamiento de datos de terceros.
Para obtener más información, consulta Descripción general del servicio de Copia de seguridad y DR.
Patrones de recuperación ante desastres
En esta sección, se analizan algunos de los patrones más comunes de las arquitecturas de DR, que se basan en los componentes básicos que se analizaron antes.
Transferencia de datos hacia y desde Google Cloud
Un aspecto importante del plan de DR es la rapidez con la que se pueden transferir los datos desde y hacia Google Cloud. Esto es fundamental si tu plan de DR se basa en la transferencia de datos desde las instalaciones locales a Google Cloud o desde otro proveedor de servicios en la nube a Google Cloud. En esta sección, se analizan las herramientas de redes y los servicios deGoogle Cloud que pueden garantizar una buena capacidad de procesamiento.
Cuando uses Google Cloud como el sitio de recuperación para cargas de trabajo que sean locales o se encuentren en otro entorno de nube, ten en cuenta los siguientes elementos clave:
- ¿Cómo te conectas a Google Cloud?
- ¿Cuánto ancho de banda hay entre el lugar donde te encuentras tú y el proveedor de interconexión?
- ¿Cuál es el ancho de banda que el proveedor proporciona directamente a Google Cloud?
- ¿Qué otros datos se transferirán mediante ese vínculo?
Para obtener más información sobre cómo transferir datos a Google Cloud, consulta Migra a Google Cloud: Transfiere tus conjuntos de datos grandes.
Equilibra la configuración y la velocidad de implementación de imágenes
Cuando configures una imagen de máquina para implementar instancias nuevas, considera el efecto que tendrá la configuración en la velocidad de implementación. Existe una compensación entre la cantidad de configuración previa de la imagen, los costos de mantenimiento de la imagen y la velocidad de implementación. Por ejemplo, si la imagen de una máquina está configurada mínimamente, las instancias que la utilizan requerirán más tiempo para iniciarse, ya que necesitan instalar y descargar dependencias. Por otro lado, si la imagen de tu máquina tiene una configuración alta, las instancias que la usan se inician más rápidamente, pero debes actualizar la imagen con más frecuencia. El tiempo necesario para iniciar una instancia totalmente operativa tendrá una correlación directa con el RTO.
Mantén la coherencia de la imagen de máquina en entornos híbridos
Si implementas una solución híbrida (del entorno local a la nube o de nube a nube), debes buscar una manera de mantener la coherencia de la imagen en los entornos de producción.
Si se requiere una imagen totalmente configurada, considera una opción como Packer, que es capaz de crear imágenes de máquina idénticas para varias plataformas. Puedes usar las mismas secuencias de comandos con archivos de configuración específicos de la plataforma. En el caso de Packer, puedes colocar el archivo de configuración en el control de versiones para realizar un seguimiento de la versión implementada en la producción.
Como otra opción, puedes usar herramientas de administración de configuración, como Chef, Puppet, Ansible o Saltstack, para configurar instancias con mayor nivel de detalle, a fin de crear imágenes base, imágenes configuradas mínimamente o imágenes totalmente configuradas según sea necesario.
También puedes convertir e importar imágenes existentes de forma manual, como las AMI de Amazon, las imágenes de Virtualbox y las imágenes de disco RAW, a Compute Engine.
Implementa el almacenamiento en niveles
El patrón de almacenamiento en niveles suele usarse para las copias de seguridad en las que la copia más reciente está en un almacenamiento más rápido, y las copias de seguridad más antiguas migran lentamente a un almacenamiento más económico, pero de menor velocidad. Cuando aplicas este patrón, migras copias de seguridad entre buckets de diferentes clases de almacenamiento, por lo general, de Standard a clases de almacenamiento de menor costo, como Nearline y Coldline.
Para implementar este patrón, puedes usar la Administración del ciclo de vida de los objetos. Por ejemplo, puedes cambiar automáticamente la clase de almacenamiento de los objetos que tengan más de un período determinado a Coldline.
¿Qué sigue?
- Obtén información sobre la geografía y las regiones de .
Lee otros artículos de esta serie de recuperación ante desastres:
- Guía de planificación para la recuperación ante desastres
- Situaciones de recuperación ante desastres para datos
- Situaciones de recuperación ante desastres para aplicaciones
- Arquitectura de recuperación ante desastres para cargas de trabajo con restricciones de localidad
- Casos de uso de recuperación ante desastres: aplicaciones de análisis de datos con restricciones de localidad
- Arquitectura de recuperación ante desastres para interrupciones de infraestructura de nube
Para obtener más información sobre las arquitecturas de referencia, los diagramas y las prácticas recomendadas, explora Cloud Architecture Center.
Colaboradores
Autores:
- Grace Mollison | Líder de Soluciones
- Marco Ferrari | Arquitecto de soluciones de nube