Desplazamiento al rojo de Amazon es un almacén de datos que puede expandirse a una escala de exabytes. En la actualidad, decenas de miles de clientes de AWS (incluidos NTT DOCOMO, multay Johnson & Johnson) utilizan Amazon Redshift para ejecutar paneles de inteligencia empresarial de misión crítica, analizar datos de transmisión en tiempo real y ejecutar trabajos de análisis predictivo.
Amazon Redshift impulsa cargas de trabajo analíticas para empresas Fortune 500, nuevas empresas y todo lo demás. Con el aumento constante de los datos generados, los clientes de Amazon Redshift continúan logrando éxitos en brindar un mejor servicio a sus usuarios finales, mejorar sus productos y administrar un negocio eficiente y eficaz. La disponibilidad, por lo tanto, es clave para seguir impulsando el éxito del cliente, y AWS hará todos los esfuerzos comercialmente razonables para que Amazon Redshift esté disponible con un Porcentaje de tiempo de actividad mensual para cada clúster de varios nodos, durante cualquier ciclo de facturación mensual, de al menos el 99.9% (nuestro “Compromiso de servicio”).
En esta publicación, presentamos una solución para ayudarlo a brindar una experiencia predecible y repetible a sus usuarios finales de Amazon Redshift al tomar el control de las ventanas de mantenimiento recurrentes de Amazon Redshift.
Períodos de mantenimiento de Amazon Redshift
Amazon Redshift realiza mantenimiento periódicamente para aplicar correcciones, mejoras y nuevas funciones a su clúster. Este tipo de mantenimiento ocurre durante 30 minutos. ventana de mantenimiento set de forma predeterminada por región de un bloque de 8 horas en un día aleatorio de la semana. Debe cambiar la ventana de mantenimiento programado de acuerdo con sus necesidades comerciales modificando el clúster, ya sea mediante programación o mediante la consola de Amazon Redshift. La ventana debe ser de al menos 30 minutos y no más de 24 horas. Para más información, ver Administrar clústeres usando la consola.
Si un evento de mantenimiento está programado para una semana determinada, comienza durante el período de mantenimiento de 30 minutos asignado. Mientras Amazon Redshift realiza el mantenimiento, finaliza las consultas u otras operaciones que están en curso. Si no hay tareas de mantenimiento que realizar durante el período de mantenimiento programado, su clúster continúa funcionando normalmente hasta el siguiente período de mantenimiento programado. Usos de Amazon Redshift Servicio de notificación simple de Amazon (Amazon SNS) para enviar notificaciones de eventos de Amazon Redshift. Habilita las notificaciones creando un evento de Amazon Redshift suscripción. Puede crear un Amazon Redshift notificación de eventos suscripción para que pueda recibir una notificación cuando se produzca un evento para un clúster determinado.
Cuando un clúster de Amazon Redshift está programado para mantenimiento, recibe un evento "Pendiente" de Amazon Redshift, como se describe en la siguiente tabla.
Categoría de Amazon Redshift | Identificador de sucesos | Gravedad del evento | Descripción |
---|---|---|---|
Pendiente | CAMBIO AL ROJO-EVENTO-2025 | INFO | Su base de datos para el clúster se actualizará entre y . No se podrá acceder a su clúster. Planifique en consecuencia. |
Pendiente | CAMBIO AL ROJO-EVENTO-2026 | INFO | Tu clúster se actualizará entre y . No se podrá acceder a su clúster. Planifique en consecuencia. |
Amazon Redshift también le ofrece la opción de reprogramar la ventana de mantenimiento de su clúster aplazando su próximo mantenimiento hasta 45 días. Esta opción es particularmente útil si desea maximizar el tiempo de actividad de su clúster posponiendo una ventana de mantenimiento futura. Por ejemplo, si la ventana de mantenimiento de su clúster está configurada para el miércoles de 8: 30–9: 00 UTC y necesita tener acceso ininterrumpido a su clúster durante las próximas 2 semanas, puede posponer el mantenimiento a una fecha de 2 semanas a partir de ahora. No realizamos ningún mantenimiento en su clúster cuando ha especificado un aplazamiento.
El aplazamiento de una ventana de mantenimiento no se aplica a las actualizaciones obligatorias de Amazon Redshift, como los parches de seguridad vitales. El mantenimiento programado es diferente del mantenimiento obligatorio de Amazon Redshift. Si Amazon Redshift necesita actualizar el hardware o realizar otras actualizaciones obligatorias durante su período de aplazamiento, se lo notificamos y realizamos los cambios necesarios. Su clúster no está disponible durante estas actualizaciones y dicho mantenimiento no se puede aplazar. Si se requiere un reemplazo de hardware, recibirá una notificación de evento a través de la Consola de administración de AWS y su suscripción a SNS como un elemento "Pendiente", como se muestra en la siguiente tabla.
Categoría de Amazon Redshift | Identificador de sucesos | Gravedad del evento | Descripción |
---|---|---|---|
Pendiente | CAMBIO AL ROJO-EVENTO-3601 | INFO | Un nodo en su clúster será reemplazado entre y . No puede aplazar este mantenimiento. Planifique en consecuencia. |
Pendiente | CAMBIO AL ROJO-EVENTO-3602 | INFO | Un nodo en su clúster está programado para ser reemplazado entre y . No se podrá acceder a su clúster. Planifique en consecuencia. |
Desafío
A medida que aumenta el número de clústeres de Amazon Redshift que administra para una aplicación de análisis, la experiencia del usuario final depende en gran medida del mantenimiento recurrente. Esto significa que desea asegurarse de que las ventanas de mantenimiento en todos los clústeres ocurran al mismo tiempo y caigan el mismo día cada mes. Desea evitar una situación en la que, por ejemplo, sus cinco clústeres de Amazon Redshift se actualicen cada uno en un día o una semana diferente. En última instancia, desea brindar a sus usuarios finales de Amazon Redshift una cantidad ininterrumpida de días en los que los clústeres no están sujetos a ningún mantenimiento programado. Esto le brinda la oportunidad de anunciar un mantenimiento programado a sus usuarios mucho antes de la fecha de mantenimiento.
Los clústeres de Amazon Redshift están programados para el mantenimiento en función de varios factores, incluido el momento en que se creó un clúster y su región. Por ejemplo, puede tener dos clústeres en la misma versión de Amazon Redshift que están programados para diferentes períodos de mantenimiento. Las regiones implementan las últimas versiones y parches de Amazon Redshift en diferentes momentos. Un clúster que se ejecuta en us-east-1
podría programarse para el mismo mantenimiento 1 semana antes que otro clúster en eu-west-1
. Esto le dificulta proporcionar a sus usuarios finales un programa de mantenimiento predecible.
Para resolver este problema, normalmente debe verificar y sincronizar con frecuencia las ventanas de mantenimiento en todos sus clústeres en un momento específico, por ejemplo sat:06:00-sat:06:30
. Además, desea evitar que sus clústeres se programen para mantenimiento en diferentes intervalos. Para eso, debe posponer el mantenimiento en todos sus clústeres para que se realicen el mismo día exacto. Por ejemplo, puede aplazar todo el mantenimiento en todos los clústeres para que se realice en un mes a partir de ahora, independientemente de cuándo se actualizó por última vez el clúster. De esta manera, sabrá que sus clústeres no están programados para mantenimiento durante los próximos 1 días. Esto le da tiempo suficiente para anunciar el programa de mantenimiento a sus usuarios de Amazon Redshift.
Resumen de la solución
Tener un día al mes en el que se realiza el mantenimiento programado de Amazon Redshift en todos sus clústeres brinda a sus usuarios una experiencia perfecta. Le brinda control y previsibilidad sobre cuándo los clústeres no están disponibles. Puede anunciar esta ventana de mantenimiento con anticipación para evitar interrupciones repentinas.
La siguiente solución implementa un AWS Lambda función (RedshiftMaintenanceSynchronizer
) a su cuenta de AWS. La función se ejecuta en un horario configurable a través de un Formación en la nube de AWS frecuencia del parámetro de plantilla para que se ejecute cada 6, 12 o 24 horas. Esta función sincroniza los programas de mantenimiento en todos sus clústeres de Amazon Redshift para que sucedan a la misma hora el mismo día. También le brinda la opción de diferir todas las ventanas de mantenimiento futuras en todos los clústeres por una cantidad de días (días de aplazamiento) hasta por 45 días.. Esto le permite proporcionar a sus usuarios un número ininterrumpido de días en los que sus clústeres no están sujetos a mantenimiento.
Usamos los siguientes parámetros de entrada:
- Días de aplazamiento - El número de días para aplazar todas las ventanas de mantenimiento programadas futuras. Amazon Redshift puede aplazar los períodos de mantenimiento hasta 45 días. La solución agrega este número a la fecha del último mantenimiento completado con éxito en cualquiera de sus clústeres. La fecha resultante es la nueva fecha de mantenimiento para todos sus clústeres.
- Frecuencia - La frecuencia para ejecutar esta solución. Puede configurarlo para que se ejecute cada 6, 12 o 24 horas.
- Día - El día de la semana preferido para programar las ventanas de mantenimiento.
- Hora - La hora del día preferida para programar las ventanas de mantenimiento (formato de 24 horas).
- Minutos - El minuto de la hora preferido para programar las ventanas de mantenimiento.
La función Lambda realiza los siguientes pasos:
- Enumera todos sus clústeres de Amazon Redshift en la región.
- Actualiza la ventana de mantenimiento para todos los clústeres al mismo valor de los parámetros de entrada de día / hora / minuto de la plantilla de CloudFormation.
- Comprueba el último mantenimiento completado con éxito en todos los clústeres.
- Calcula la fecha de aplazamiento de mantenimiento agregando el parámetro de entrada de aplazamiento a la fecha del último mantenimiento completado con éxito. Por ejemplo, si el parámetro de aplazamiento es de 30 días y la última ventana de mantenimiento exitosa se completó el 1 de julio de 2020, entonces la próxima fecha de mantenimiento aplazado es el 31 de julio de 2020.
- Difiere la siguiente ventana de mantenimiento en todos los clústeres hasta la fecha de aplazamiento calculada en el paso anterior.
Lanza la solución
Para comenzar, implemente la plantilla cloudFormation en su cuenta de AWS.
- Nombre de pila, ingrese un nombre para su pila para una fácil referencia.
- Día, elija el día de la semana para que ocurra la ventana de mantenimiento.
- Hora, elija la hora de inicio de la ventana.
- Minutos, elija el minuto dentro de la hora para que comience la ventana.
Su ventana debe ser un momento con la menor actividad del clúster y durante las horas de trabajo no pico.
- Días de aplazamiento, elija el número de días para aplazar todas las ventanas de mantenimiento programadas futuras.
- Frecuencia de ejecución de la solución, elija la frecuencia de 6, 12 o 24 horas.
Una vez que la plantilla se haya implementado correctamente, estarán disponibles los siguientes recursos:
- La función RedshiftMaintenanceSync Lambda. Esta es una función de Python 3.8 Lambda que sincroniza y difiere las ventanas de mantenimiento en todos sus clústeres de Amazon Redshift.
- La regla RedshiftMaintenanceSyncEvent Reloj en la nube de Amazon regla de evento. Esta regla se activa según una programación basada en el parámetro de entrada Frecuencia. Activa la función Lambda RedshiftMaintenanceSync para ejecutar la lógica de la solución.
Cuando la función Lambda se inicia y detecta un aplazamiento ya disponible en cualquiera de sus clústeres, no intenta modificar el aplazamiento existente y, en su lugar, sale.
La solución registra cualquier aplazamiento que realiza en cualquier clúster en el grupo de registros de CloudWatch asociado.
Sincronizar y aplazar las ventanas de mantenimiento
Para demostrar esta solución, tengo dos clústeres de Amazon Redshift con diferentes ventanas de mantenimiento preferidas e intervalos programados.
El clúster A (vea la siguiente captura de pantalla) tiene una ventana de mantenimiento preferida configurada para el viernes a las 4: 30–5: 00 p. M. Está programado para mantenimiento en 2 días.
El grupo B tiene una ventana de mantenimiento preferida configurada para el martes de 9: 45–10: 15 a. M. Está programado para mantenimiento en 6 días.
Esto significa que mis usuarios de Amazon Redshift tienen una interrupción de 30 minutos dos veces en los próximos 2 y 6 días. Además, estas interrupciones ocurren en momentos completamente diferentes.
Iniciemos la solución y veamos cómo cambian las ventanas de mantenimiento del clúster y los intervalos de programación.
La función Lambda hace lo siguiente cada vez que se ejecuta:
- Muestra todos los clústeres.
- Comprueba si alguno de los clústeres tiene un aplazamiento habilitado y sale si encuentra alguno.
- Sincroniza todas las ventanas de mantenimiento preferidas en todos los clústeres para que coincidan con la misma hora y día de la semana.
- Comprueba la última fecha de mantenimiento completada con éxito.
- Agrega los días de aplazamiento a la última fecha de mantenimiento. Esta se convierte en la nueva fecha de aplazamiento.
- Aplica la nueva fecha de aplazamiento a todos los clústeres.
La ventana de mantenimiento del Clúster A se sincronizó con los parámetros de entrada que pasé a la plantilla de CloudFormation. Además, la próxima ventana de mantenimiento se pospuso hasta el 21 de junio de 2021 a las 8:06 a.m. (UTC +02: 00).
La ventana de mantenimiento del Clúster B también se sincroniza con el mismo valor del Clúster A, y la siguiente ventana de mantenimiento se aplazó para el mismo día exacto que el Clúster A: 21 de junio de 2021, 8:06 a.m. (UTC +02: 00).
Finalmente, revisemos el grupo de registros de CloudWatch para comprender qué hizo la solución.
Ahora ambos clústeres tienen la misma ventana de mantenimiento y el próximo mantenimiento programado, que es dentro de un mes. En un escenario de producción, esto le da suficiente tiempo de espera para anunciar la ventana de mantenimiento a sus usuarios finales de Amazon Redshift y proporcionarles el día y la hora exactos en que los clústeres no están disponibles.
Resumen
Esta solución puede ayudarlo a brindar una experiencia predecible y repetible a sus usuarios finales de Amazon Redshift al tomar el control de los períodos de mantenimiento recurrentes de Amazon Redshift. Le permite proporcionar a sus usuarios una cantidad ininterrumpida de días en los que los clústeres siempre están disponibles, salvo que se realicen actualizaciones obligatorias programadas. Hacer clic esta página para comenzar con Amazon Redshift hoy.
Sobre la autora
Ahmed Gamaleldín es Gerente Técnico Senior de Cuentas (TAM) en Amazon Web Services. Ahmed ayuda a los clientes a ejecutar cargas de trabajo optimizadas en AWS y aprovechar al máximo su viaje a la nube.
- "
- &
- 107
- 2020
- 2021
- 9
- de la máquina
- Mi Cuenta
- Todos
- Amazon
- Amazon Web Services
- Analytics
- Aplicación
- disponibilidad
- AWS
- MEJOR
- facturación
- frontera
- inteligencia empresarial
- el cambio
- Soluciones
- Empresas
- continue
- continúa
- Creamos
- Éxito del cliente
- Clientes
- datos
- almacenamiento de datos
- Base de datos
- día
- entregar
- HIZO
- Eficaz
- Evento
- Eventos
- Expandir
- Caracteristicas
- encuentra
- formato
- Viernes
- función
- futuras
- Grupo procesos
- Materiales
- Cómo
- HTTPS
- Incluye
- aumente
- información
- Intelligence
- IT
- Empleo
- Julio
- Clave
- más reciente
- lanzamiento
- Lead
- Management
- Nuevas características
- .
- Operaciones
- Oportunidad
- Optión
- Otro
- Parches
- Análisis Predictivo
- presente
- Producción
- Productos
- Python
- en tiempo real
- Recursos
- Ejecutar
- correr
- sin costura
- EN LINEA
- Servicios
- set
- sencillos
- So
- RESOLVER
- comienzo
- fundó
- Startups
- en streaming
- suscripción
- comercial
- exitosos
- TAM
- Técnico
- equipo
- Actualizar
- Actualizaciones
- usuarios
- propuesta de
- Manejo de
- web
- servicios web
- semana
- ventanas
- dentro de
- Actividades: