Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Requisitos previos para usar la base de datos como fuente
nota
Firehose admite la base de datos como fuente en todas las regiones excepto en Regiones de AWSChina y Asia Pacífico (Malasia). AWS GovCloud (US) Regions Esta función está en versión preliminar y está sujeta a cambios. No la utilice para sus cargas de trabajo de producción.
Antes de comenzar, complete los siguientes requisitos previos.
-
Configuraciones de base de datos de origen: necesita las siguientes configuraciones de base de datos de origen antes de poder usar la base de datos como fuente para su transmisión de Firehose.
-
Cree una tabla de marcas de agua instantáneas con los permisos correctos: para la copia inicial (instantánea) de los datos de las tablas, Firehose utiliza un enfoque de copia incremental con marcas de agua para realizar un seguimiento del progreso. Este enfoque de copia incremental ayuda a reanudar la copia desde donde se detuvo y, después, a recuperar la tabla si se produce alguna interrupción. Firehose utiliza una tabla de marcas de agua en su base de datos para almacenar las marcas de agua necesarias. Firehose necesita una tabla de marcas de agua por flujo de Firehose. Si la tabla aún no se creó antes de la creación de la transmisión de Firehose, Firehose crea esta tabla como parte de la creación de la transmisión. Debes proporcionar los permisos correctos a Firehose para crear esta tabla.
-
Cree un usuario de base de datos: Firehose requiere una cuenta de usuario de base de datos con los permisos adecuados para hacer la copia inicial de las tablas, leer los eventos de los CDC de los registros de transacciones, acceder a la tabla de marcas de agua y crear una tabla de marcas de agua si aún no está creada. Utilizará el nombre de usuario y la contraseña de esta base de datos como parte de las credenciales de Firehose para conectarse a su base de datos durante la configuración de la transmisión.
-
Habilita los registros de transacciones: los registros de transacciones registran todos los cambios en la base de datos, como INSERT, UPDATE y DELETE, en el orden en que se registran en la base de datos. Firehose lee los registros de transacciones y replica los cambios en las tablas Iceberg de Apache. Debe habilitar los registros de transacciones si no están habilitados.
-
Añadir una regla de entrada y salida: para permitir la conectividad privada a las bases de datos, debe añadir una regla de entrada y una regla de salida para el tráfico HTTPS y una regla de entrada para el tráfico de bases de datos (MySQL o PostgreSQL) en el grupo de seguridad de la VPC de su base de datos. Para la columna de origen, utilice el rango IPv4 CIDR de la VPC.
Para crear una tabla de marcas de agua, un usuario de base de datos y habilitar los registros de transacciones, sigue los pasos que se indican. Configure la conectividad de base de datos
-
-
Habilite la conectividad privada a las bases de datos: Firehose admite la conexión a bases de datos dentro de una VPC mediante tecnología. AWS PrivateLink Para habilitar la conectividad privada con las bases de datos, consulte Acceder a Amazon RDS VPCs mediante el uso AWS PrivateLink de Network Load Balancer
. Estos son algunos puntos a tener en cuenta para conectarse a las base de datos. -
Estos pasos también se aplican a las bases de datos que se estén ejecutando en ellas EC2.
-
Debe aumentar el tiempo de espera de la función Lambda utilizada en este ejemplo de 3 segundos a 5 minutos por defecto.
-
Antes de ejecutar la función Lambda para actualizar la dirección IP de la instancia principal al Network Load Balancer, debe crear un punto de enlace de VPC con el nombre del servicio tal como aparece
com.amazonaws.us-east-1.elasticloadbalancing
en AWS la VPC de su base de datos, de modo que la Lambda pueda comunicarse con el servicio Elastic Load Balancing. -
Debe permitir que el
firehose.amazonaws.com
director de servicio Firehose AWS PrivateLink cree listas en su VPC. Para obtener más información, consulte Administrar permisos. No añada el ARN de este rol de servicio. Agregue únicamentefirehose.amazonaws.com
a los principales permitidos. -
Debe permitir que su servicio de punto final acepte las solicitudes de conexión automáticamente, asegurándose de deshabilitar la opción Aceptación requerida a través de Amazon VPC. Esto permite a Firehose crear la conexión de punto final necesaria sin ninguna intervención manual. Para obtener más información sobre cómo deshabilitar la solicitud de conexión, consulte Aceptar o rechazar solicitudes de conexión.
-
-
Almacene las credenciales en AWS Secrets Manager: Firehose las utiliza AWS Secrets Manager para recuperar las credenciales que se utilizan para conectarse a las bases de datos. Agregue las credenciales de usuario de la base de datos que creó en el requisito previo anterior, como secretas en el AWS Secrets Manager. A fin de obtener más información, consulte Autenticarse con AWS Secrets Manager Amazon Data Firehose.
-
Crear un rol de IAM con los permisos necesarios: Firehose necesita un rol de IAM con permisos específicos para AWS Secrets Manager acceder a las tablas de datos en Amazon AWS Glue S3 y escribir datos en ellos. El mismo rol se utiliza para concederle a AWS Glue acceso a los buckets de Amazon S3. Necesita este rol de IAM al crear tablas de Apache Iceberg y Firehose. Para obtener más información, consulte Concesión a Firehose de acceso para que replique los cambios en la base de datos en las tablas de Apache Iceberg.
-
Cree tablas de iceberg de Apache: Firehose puede crear tablas de iceberg automáticamente si habilita la configuración durante la creación de la transmisión de Firehose. Si no quiere que Firehose cree tablas de iceberg, debe crear tablas de iceberg con el mismo nombre y esquema que las tablas de la base de datos de origen. Para obtener más información sobre la creación de tablas Iceberg con Glue, consulte Creación de tablas Iceberg. Firehose no puede crear tablas de Amazon S3 de forma automática.
nota
Debe crear tablas Apache Iceberg con el siguiente mapeo.
-
Para MySQL, el nombre de la base de datos de origen se asigna al nombre AWS Glue de la base de datos y el nombre de la tabla de origen se asigna al nombre de AWS Glue la tabla.
-
Para PostgreSQL, el nombre de la base de datos de origen se asigna AWS Glue a la base de datos y el nombre del esquema de origen y el nombre de la tabla se asignan AWS Glue al nombre de la tabla en formato.
<SchemaName>_<TableName>
Si crea una tabla usted mismo, los esquemas de origen y destino deberían coincidir exactamente.
-