Uso de una plantilla de AWS CloudFormation para iniciar la replicación de Neptune a OpenSearch
Inicie una pila de CloudFormation específica para su región
Cada una de las plantillas de CloudFormation siguientes crea una instancia de aplicación streams-consumer en una región de AWS específica. Para iniciar la pila correspondiente utilizando la consola de CloudFormation, elija uno de los botones Lanzar pila de la tabla siguiente, en función de la región de AWS que desee utilizar.
En la página Create Stack (Crear pila), elija Next (Siguiente).
Añada detalles sobre la nueva pila de OpenSearch que está creando
En la página Especificar los detalles de la pila, se proporcionan las propiedades y los parámetros que puede utilizar para controlar la configuración de la búsqueda de texto completo:
Nombre de la pila: el nombre de la nueva pila CloudFormation que está creando. Por lo general puede utilizar el valor predeterminado, NeptuneStreamPoller.
En Parámetros, proporcione lo siguiente:
Configuración de red para la VPC en la que se ejecuta el consumidor de flujos
VPC– proporcione el nombre de la VPC en la que se ejecutará la función de Lambda de sondeo.List of Subnet IDs– las subredes en las que se establece una interfaz de red. Añada las subredes correspondientes a su clúster de Neptune.List of Security Group Ids– proporcione los identificadores de los grupos de seguridad que otorgan acceso de escritura entrante al clúster de base de datos de Neptune de origen.List of Route Table Ids– esto es necesario para crear un punto de conexión de Amazon DynamoDB en su VPC de Neptune, si todavía no dispone de uno. Debe proporcionar una lista separada por comas de ID de tabla de ruta asociados a las subredes.Require to create Dynamo DB VPC Endpoint– un valor booleano que, de forma predeterminada, estrue. Solo necesita cambiarlo porfalsesi ya ha creado un punto de conexión de DynamoDB en su VPC.Require to create Monitoring VPC Endpoint– un valor booleano que, de forma predeterminada, estrue. Solo necesita cambiarlo porfalsesi ya ha creado un punto de enlace de monitorización en su VPC.
Sondeador de flujo
Application Name– por lo general, puede dejar esta opción con el valor predeterminado (NeptuneStream). Si utiliza un nombre diferente, debe ser único.Memory size for Lambda Poller– se utiliza para establecer el tamaño de memoria disponible para la función de sondeo de Lambda. El valor predeterminado es 2048 megabytes.Lambda Runtime– el lenguaje utilizado en la función de Lambda que recupera elementos del flujo de Neptune. Puede configurarlo enpython3.9o enjava8.S3 Bucket having Lambda code artifacts– deje este campo en blanco a menos que utilice una función de sondeo de Lambda personalizada que se cargue desde un bucket de S3 diferente.S3 Key corresponding to Lambda Code artifacts– deje este campo en blanco a menos que utilice una función de sondeo de Lambda personalizada.StartingCheckpoint– el punto de control inicial del sondeador de flujos. El valor predeterminado es0:0, lo que significa comenzar desde el principio del flujo de Neptune.StreamPollerInitialState– el estado inicial del sondeador. El valor predeterminado esENABLED, lo que significa que la replicación del flujo se iniciará en cuanto se complete la creación de toda la pila.Logging level for Lambda– en general, deje esta opción con el valor predeterminado,INFO.Managed Policies for Lambda Execution– en general, deje este campo en blanco a menos que utilice una función de sondeo de Lambda personalizada.Stream Records Handler– en general, deje este campo en blanco a menos que utilice un controlador personalizado para los registros en los flujos de Neptune.Maximum records Fetched from Stream– puede utilizar este parámetro para ajustar el rendimiento. El valor predeterminado (100) es un buen lugar para empezar. El valor máximo permitido es 10 000. Cuanto mayor sea el número, menos llamadas de red se necesitan para leer registros del flujo, pero más memoria se precisa para procesar los registros.Max wait time between two Polls (in Seconds)– determina la frecuencia con la que se invoca el sondeador de Lambda para sondear los flujos de Neptune. Establezca este valor en 0 para un sondeo continuo. El valor máximo es de 3600 segundos (1 hora). El valor predeterminado (60 segundos) es un buen lugar para empezar según la velocidad con la que cambien los datos del gráfico.Maximum Continuous polling period (in Seconds)– se utiliza para establecer un tiempo de espera para la función de sondeo de Lambda. Debería estar entre 5 segundos y 900 segundos. El valor predeterminado (600 segundos) es un buen lugar para empezar.Step Function Fallback Period– el número de unidades step-function-fallback-period que deben esperar al sondeador, tras lo cual se llama a la función de paso a través de eventos de Amazon CloudWatch para recuperarse de un error. El valor predeterminado (5 minutos) es un buen lugar para empezar.Step Function Fallback Period Unit: las unidades de tiempo utilizadas para medir elStep Function Fallback Periodanterior (minutos, horas, días). El valor predeterminado generalmente es suficiente (minutos).Data replication scope– determina si se replican nodos y bordes, o solo nodos en OpenSearch (esto solo se aplica a los datos del motor de Gremlin). El valor predeterminado (All) es un buen lugar para empezar por lo general.Ignore OpenSearch missing document error– indicador para determinar si se puede ignorar un error de falta de documento en OpenSearch. Los errores de falta de documentos se producen en raras ocasiones, pero necesitan intervención manual si no se ignoran. El valor predeterminado (True) suele ser un buen lugar para empezar.Enable Non-String Indexing– indicador para habilitar o deshabilitar la indexación de campos que no tienen contenido de cadena. Si este indicador está establecido entrue, los campos que no son cadenas se indexan en OpenSearch, o si está establecido enfalse, solo se indexan los campos de cadena. El valor predeterminado estrue.Properties to exclude from being inserted into OpenSearch– una lista delimitada por comas de claves de propiedades o predicados para excluirlas de la indexación de OpenSearch. Si el valor de este parámetro de CFN se deja en blanco, se indexan todas las claves de propiedad.Datatypes to exclude from being inserted into OpenSearch– una lista delimitada por comas de tipos de datos de propiedades o predicados para excluirlos de la indexación de OpenSearch. Si el valor de este parámetro de CFN se deja en blanco, se indexan todos los valores de propiedad que se puedan convertir de forma segura a tipos de datos de OpenSearch.
Flujo de Neptune
-
Endpoint of source Neptune Stream: (obligatorio) adopta una de estas dos formas:https://(o su alias,your DB cluster:port/propertygraph/streamhttps://).your DB cluster:port/pg/streamhttps://your DB cluster:port/sparql/stream
Neptune Query Engine– elija Gremlin o SPARQL.Is IAM Auth Enabled?– si su clúster de base de datos de Neptune usa la autenticación de IAM, establezca este parámetro comotrue.Neptune Cluster Resource Id– si su clúster de base de datos de Neptune usa la autenticación de IAM, establezca este parámetro como el identificador de recurso de clúster. El ID del recurso no es el mismo que el ID del clúster. En su lugar, adopta el formato:cluster-seguido de 28 caracteres alfanuméricos. Se puede encontrar en Detalles del clúster en la consola de Neptune.
Clúster de OpenSearch de destino
Endpoint for OpenSearch service– (obligatorio) proporcione el punto de conexión del servicio de OpenSearch en su VPC.Number of Shards for OpenSearch Index– el valor predeterminado (5) suele ser un buen lugar para empezar.Number of Replicas for OpenSearch Index– el valor predeterminado (1) suele ser un buen lugar para empezar.Geo Location Fields for Mapping– si utiliza campos de geolocalización, enumere las claves de propiedad aquí.
Alarma
Require to create Cloud watch Alarm: configúrelo entruesi quiere crear una alarma de CloudWatch para la nueva pila.SNS Topic ARN for Cloudwatch Alarm Notifications– el ARN del tema de SNS al que deben enviarse las notificaciones de alarma de CloudWatch (solo es necesario si las alarmas están habilitadas).Email for Alarm Notifications– la dirección de correo electrónico a la que se deben enviar las notificaciones de alarma (solo es necesaria si las alarmas están activadas).
Como destino de la notificación de alarma, puede añadir solo SNS, solo correo electrónico o tanto SNS como correo electrónico.
Ejecute la plantilla de CloudFormation
Ahora puede completar el proceso de aprovisionamiento de una instancia de aplicación de consumidor de flujos de Neptune de la siguiente manera:
En CloudFormation, en la página Specify stack details (Especificar detalles de la pila), seleccione Next (Siguiente).
En la página Opciones, seleccione Siguiente.
-
En la página Revisar, seleccione la primera casilla para confirmar que CloudFormation debe crear los recursos de IAM. Seleccione la segunda casilla para confirmar
CAPABILITY_AUTO_EXPANDpara la nueva pila.nota
CAPABILITY_AUTO_EXPANDconfirma explícitamente que las macros se expandirán al crear la pila, sin revisión previa. Los usuarios suelen crear un conjunto de cambios a partir de una plantilla procesada para que los cambios realizados por las macros puedan revisarse antes de crear la pila. Para obtener más información, consulte la operación de la API CreateStack de CloudFormation en la Referencia de la API de AWS CloudFormation.A continuación, seleccione Crear.