Las implementaciones entre regiones brindan anciano resiliencia para suministrar la continuidad del negocio durante cortes de energía, desastres naturales u otras interrupciones operativas. Muchas grandes empresas diseñan e implementan planes especiales para estar preparadas durante tales situaciones. Confían en soluciones creadas con servicios y características de AWS para mejorar su confianza y tiempos de respuesta. Servicio OpenSearch de Amazon es un servicio tramitado para Búsqueda abiertaun motor de búsqueda y exploración a escalera. OpenSearch Service proporciona adhesión disponibilidad adentro de una región de AWS a través de su maniquí de implementación Multi-AZ y brinda resiliencia regional con replicación entre clústeres. Amazon OpenSearch sin servidor es una opción de implementación que proporciona escalamiento inevitable a pedido, a la que continuamos incorporando muchas funciones.
Con la función de replicación entre clústeres existente en OpenSearch Service, se designa un dominio como líder y otro como seguidor, mediante un maniquí de replicación activo-pasivo. Si adecuadamente este maniquí ofrece una modo de continuar las operaciones durante una defecto regional, requiere que configure manualmente el seguidor. Por otra parte, a posteriori de la recuperación, debe reconfigurar la relación líder-seguidor entre los dominios.
En esta publicación, describimos dos soluciones que brindan resiliencia entre regiones sin indigencia de restablecer relaciones durante una conmutación por recuperación, utilizando un maniquí de replicación activo-activo con Ingestión de Amazon OpenSearch (OSI) y Servicio de almacenamiento simple de Amazon (Amazon S3). Estas soluciones se aplican tanto a los clústeres administrados por OpenSearch Service como a las colecciones de OpenSearch Serverless. Usamos OpenSearch Serverless como ejemplo para las configuraciones de esta publicación.
Descripción universal de la alternativa
En esta publicación, describimos dos soluciones. En ambas opciones, las fuentes de datos locales de una región escriben en un flujo de ingestión de OpenSearch (OSI) configurado adentro de la misma región. Las soluciones se pueden extender a varias regiones, pero mostramos dos regiones como ejemplo, ya que la resiliencia regional en dos regiones es un patrón de implementación popular para muchas empresas de gran escalera.
Puede utilizar estas soluciones para chocar las deyección de resiliencia entre regiones para las implementaciones de OpenSearch Serverless y las deyección de replicación activa-activa para las opciones aprovisionadas y sin servidor de OpenSearch Service, especialmente cuando las fuentes de datos producen datos dispares en diferentes regiones.
Prerrequisitos
Complete los siguientes pasos previos:
- Implementar dominios del servicio OpenSearch o Colecciones sin servidor de OpenSearch en todas las regiones donde se necesita resiliencia.
- Crear depósitos S3 en cada Región.
- Configurar Gobierno de identidad y ataque de AWS (IAM) necesarios para OSI. Para obtener instrucciones, consulte Amazon S3 como fuente. Designar Servicio de posaderas simple de Amazon (Amazon SQS) como método para procesar datos.
A posteriori de completar estos pasos, puede crear dos canalizaciones OSI, una en cada región, con las configuraciones detalladas en las siguientes secciones.
Utilice OpenSearch Ingestion (OSI) para escrituras entre regiones
En esta alternativa, OSI toma los datos locales de la región en la que se encuentran y los escribe en la otra región. Para simplificar las escrituras entre regiones y aumentar la durabilidad de los datos, utilizamos un depósito S3 en cada región. La canalización OSI en la otra región lee estos datos y los escribe en la colección en su región circunscrito. La canalización OSI en la otra región sigue un flujo de datos similar.
Al deletrear datos, tiene opciones: escaneos de Amazon SQS o Amazon S3. Para esta publicación, usamos Amazon SQS porque ayuda a proporcionar una entrega de datos casi en tiempo positivo. Esta alternativa incluso facilita la escritura directa en estos contenedores locales en el caso de fuentes de datos OSI basadas en extirpación. Consulte Fuente bajo Conceptos esencia comprender los diferentes tipos de fuentes que utiliza OSI.
El sucesivo diagrama muestra el flujo de datos.
El flujo de datos consta de los siguientes pasos:
- Las fuentes de datos locales de una región escriben sus datos en la canalización OSI de su región. (Esta alternativa incluso admite fuentes que escriben directamente en Amazon S3).
- OSI escribe estos datos en colecciones seguidas de depósitos S3 en la otra región.
- OSI lee los demás datos de la Región desde el depósito S3 circunscrito y los escribe en la colección circunscrito.
- Las colecciones en ambas regiones ahora contienen los mismos datos.
Los siguientes fragmentos muestran la configuración de las dos canalizaciones.
El código para la canalización de escritura es el sucesivo:
Para separar encargo y operaciones, utilizamos dos prefijos, osi-local-region-write
y osi-cross-region-write
para los depósitos en ambas regiones. OSI usa estos prefijos para copiar solo los datos de la región circunscrito a la otra región. OSI incluso crea las claves s3.bucket
y s3.key
para ornar documentos escritos en una colección. Eliminamos esta embellecimiento mientras escribimos en distintas regiones; la secuencia de comandos la agregará nuevamente en la otra región.
Esta alternativa permite la entrega de datos casi en tiempo positivo en todas las regiones, y los mismos datos están disponibles en ambas regiones. Sin confiscación, aunque OpenSearch Service contiene los mismos datos, los contenedores de cada región contienen solo datos parciales. La sucesivo alternativa aborda este problema.
Utilice Amazon S3 para escrituras entre regiones
En esta alternativa, utilizamos el Función de replicación de región de Amazon S3Esta alternativa es compatible con todos los Fuentes de datos disponibles con OSIOSI nuevamente utiliza dos canales, pero la diferencia esencia es que OSI escribe primero los datos en Amazon S3. A posteriori de completar los pasos que son comunes a ambas soluciones, consulte Ejemplos para configurar la replicación en vivo Para obtener instrucciones sobre cómo configurar la replicación entre regiones de Amazon S3, consulte el sucesivo diagrama:
El flujo de datos consta de los siguientes pasos:
- Las fuentes de datos locales de una región escriben sus datos en OSI. (Esta alternativa incluso admite fuentes que escriben directamente en Amazon S3).
- Estos datos se escriben primero en el depósito S3.
- OSI lee estos datos y los escribe en la colección circunscrito de la Región.
- Amazon S3 replica datos entre regiones y OSI lee y escribe estos datos en la colección.
Los siguientes fragmentos muestran la configuración de ambas canalizaciones.
El código para la canalización de escritura es el sucesivo:
La configuración de esta alternativa es relativamente más sencilla y se podio en la replicación entre regiones de Amazon S3. Esta alternativa garantiza que los datos del depósito de S3 y la colección de OpenSearch Serverless sean los mismos en ambas regiones.
Para obtener más información sobre el SLA para esta replicación y las métricas que están disponibles para monitorear el proceso de replicación, consulte Modernización de replicación S3: SLA de replicación, métricas y eventos.
Escenarios de daño y consideraciones adicionales
Consideremos un círculo de daño regional. Para este caso de uso, suponemos que su aplicación funciona con una colección de OpenSearch Serverless como backend. Cuando una región se ve afectada, estas aplicaciones pueden simplemente realizar una conmutación por error a la colección de OpenSearch Serverless en la otra región y continuar con las operaciones sin interrupción, porque la totalidad de los datos presentes antiguamente del daño están disponibles en ambas colecciones.
Cuando se resuelva el problema de la región, podrá retornar a la colección de OpenSearch Serverless en esa región inmediatamente o a posteriori de esperar un tiempo para que se repongan los datos faltantes en esa región. Las operaciones pueden continuar sin interrupciones.
Puede automatizar estas operaciones de conmutación por error y recuperación para congratular una experiencia de beneficiario perfecta. Esta automatización no está adentro del calibre de esta publicación, pero se tratará en una publicación futura.
La alternativa de replicación entre clústeres existente requiere que restablezca manualmente una relación líder-seguidor y que reinicie la replicación desde el principio una vez que se haya recuperado de una defecto. Sin confiscación, las soluciones que se analizan aquí reanudan automáticamente la replicación desde el punto en el que se interrumpió por última vez. Si por alguna razón fallara solo el servicio Amazon OpenSearch que es una colección o un dominio, los datos siguen estando disponibles en los depósitos locales y se volverán a completar tan pronto como la colección o el dominio estén disponibles.
Todavía puede utilizar estas soluciones de forma eficaz en un maniquí de replicación activo-pasivo. En esos casos, pespunte con tener un conjunto pequeño de posibles en la región de replicación, como un solo depósito S3. Puede modificar esta alternativa para resolver diferentes casos utilizando servicios adicionales como Transmisión administrada por Amazon para Apache Kafka (Amazon MSK), que tiene un sistema integrado función de replicación.
Al crear soluciones interregionales, tenga en cuenta: Costos de transferencia de datos entre regiones para AWSComo habilidad recomendada, considere anexar un posaderas de mensajes muertos a todas sus líneas de producción.
Conclusión
En esta publicación, describimos dos soluciones que logran resiliencia regional para clústeres administrados por OpenSearch Serverless y OpenSearch Service. Si necesita un control manifiesto sobre la escritura de datos entre regiones, use la alternativa uno. En nuestros experimentos con unos pocos KB de datos, la mayoría de las escrituras se completaron en un segundo entre dos regiones elegidas. Elija la alternativa dos si necesita la simplicidad que ofrece la alternativa. En nuestros experimentos, la replicación se completó por completo en unos pocos segundos. El 99,99% de los objetos se replicarán en 15 minutos.Estas soluciones incluso sirven como inmueble para un maniquí de replicación activo-activo en OpenSearch Service utilizando OpenSearch Ingestion.
Todavía puede utilizar OSI como mecanismo para apañarse datos disponibles en otros servicios de AWS, como Amazon S3, Amazon DynamoDBy Amazon DocumentDB (compatible con MongoDB)Para más detalles, véase Cómo trabajar con integraciones de canalización de ingesta de Amazon OpenSearch.
Acerca de los autores
Muthu Pitchaimani es diestro en búsquedas en Amazon OpenSearch Service. Desarrolla aplicaciones y soluciones de búsqueda a gran escalera. Muthu está interesado en temas de redes y seguridad y tiene su almohadilla en Austin, Texas.
Aruna Govindaraju es una arquitecta de soluciones especializada en Amazon OpenSearch y ha trabajado con muchos motores de búsqueda comerciales y de código campechano. Le apasionan las búsquedas, la relevancia y la experiencia del beneficiario. Su experiencia en la correlación de las señales del beneficiario final con el comportamiento del motor de búsqueda ha ayudado a muchos clientes a mejorar su experiencia de búsqueda.