Introducción a las integraciones sin ETL - Amazon Redshift

Introducción a las integraciones sin ETL

Este conjunto de tareas lo guiará a través de la configuración de la primera integración sin ETL. En primer lugar, configure el origen de integración con los parámetros y los permisos necesarios. Después, continúe con el resto de la configuración inicial desde la consola de Amazon Redshift y la AWS CLI.

Creación de una integración sin ETL

En este paso, cree una integración sin ETL de Aurora o RDS con Amazon Redshift.

Para crear una integración sin ETL de Aurora con Amazon Redshift
  1. Desde la consola de Amazon RDS, cree un grupo de parámetros del clúster de base de datos personalizado tal como se describe en la Guía del usuario de Amazon Aurora.

  2. Desde la consola de Amazon RDS, cree un clúster de base de datos de Amazon Aurora de origen tal como se describe en la Guía del usuario de Amazon Aurora.

  3. Desde la consola de Amazon Redshift: Creación y configuración de un almacenamiento de datos de Amazon Redshift de destino.

  4. Desde la consola de Amazon RDS, cree una integración sin ETL tal y como se describe en la Guía del usuario de Amazon Aurora.

  5. Desde la consola de Amazon Redshift o el editor de consultas v2, cree una base de datos de Amazon Redshift a partir de su integración.

    A continuación, consulte y cree vistas materializadas con datos replicados.

Para crear una integración sin ETL de RDS con Amazon Redshift
  1. Desde la consola de Amazon RDS, cree un grupo de parámetros de base de datos personalizado tal y como se describe en la Guía del usuario de Amazon Aurora.

  2. Desde la consola de Amazon RDS, cree una instancia de Amazon RDS de origen tal y como se describe en la Guía del usuario de Amazon RDS.

  3. Desde la consola de Amazon Redshift: Creación y configuración de un almacenamiento de datos de Amazon Redshift de destino.

  4. Desde la consola de Amazon RDS, cree una integración sin ETL tal y como se describe en la Guía del usuario de Amazon RDS.

  5. Desde la consola de Amazon Redshift o el editor de consultas v2, cree una base de datos de Amazon Redshift a partir de su integración.

    A continuación, consulte y cree vistas materializadas con datos replicados.

La consola de Amazon RDS ofrece un flujo de creación de la integración paso a paso, en el que se especifica la base de datos de origen y el almacenamiento de datos de Amazon Redshift de destino. Si se producen problemas, puede elegir que Amazon RDS los corrija por usted en lugar de corregirlos manualmente en la consola de Amazon RDS o de Amazon Redshift.

Creación y configuración de un almacenamiento de datos de Amazon Redshift de destino

En este paso, se crea y configura un almacenamiento de datos de Amazon Redshift de destino, como por ejemplo, un grupo de trabajo de Amazon Redshift sin servidor o un clúster aprovisionado.

El almacenamiento de datos de destino debe tener las siguientes características:

nota

Para las integraciones sin ETL de Aurora PostgreSQL con Amazon Redshift, tenga en cuenta también lo siguiente para el almacenamiento de datos de destino:

  • Debe crear el almacenamiento de datos en Vista previa en la pista preview_2023. No puede utilizar características de vista previa ni trasladar el almacenamiento de datos de vista previa a una implementación de producción.

  • Si decide crear un clúster aprovisionado de Amazon Redshift, dicho clúster debe tener al menos dos nodos.

  • Debe crear el almacenamiento de datos de destino en la Región de AWS de Este de EE. UU. (Ohio). Tenga en cuenta que debe crear la base de datos de origen para las integraciones sin ETL de Aurora PostgreSQL en el entorno de vista previa de bases de datos de Amazon RDS.

Para crear el almacenamiento de datos de destino en Vista previa para las integraciones sin ETL de Aurora PostgreSQL, consulte uno de los siguientes temas en función del tipo de implementación:

Para crear el almacenamiento de datos de destino para las integraciones sin ETL, consulte uno de los siguientes temas en función del tipo de implementación:

Al crear un clúster aprovisionado, Amazon Redshift también crea un grupo de parámetros predeterminados. No puede editar el grupo de parámetros predeterminado. Sin embargo, puede crear un grupo de parámetros personalizado antes de crear un nuevo clúster y, a continuación, asociarlo al clúster. O bien, puede editar el grupo de parámetros que se asociará al clúster creado. También debe activar la distinción entre mayúsculas y minúsculas para el grupo de parámetros al crear el grupo de parámetros personalizado o al editar uno actual para poder utilizar las integraciones sin ETL.

Para crear un grupo de parámetros personalizados mediante la consola de Amazon Redshift o la AWS CLI, consulte Creación de un grupo de parámetros.

Activación de la distinción entre mayúsculas y minúsculas en el almacenamiento de datos

Puede asociar un grupo de parámetros y habilitar la distinción entre mayúsculas y minúsculas para un clúster aprovisionado durante la creación. Sin embargo, únicamente podrá actualizar un grupo de trabajo sin servidor a través de AWS Command Line Interface (AWS CLI) después de crearlo. Es necesario para admitir la distinción entre mayúsculas y minúsculas de MySQL y PostgreSQL. enable_case_sensitive_identifier es un valor de configuración que determina si en los identificadores de nombres de bases de datos, tablas y columnas se distingue entre mayúsculas y minúsculas. Este parámetro debe estar activado para crear integraciones sin ETL en el almacenamiento de datos. Para obtener más información, consulte enable_case_sensitive_identifier.

Para Amazon Redshift sin servidor: Activación de la distinción entre mayúsculas y minúsculas para Amazon Redshift sin servidor mediante la AWS CLI. Tenga en cuenta que solo puede activar la distinción entre mayúsculas y minúsculas para Amazon Redshift sin servidor desde la AWS CLI.

Para los clústeres aprovisionados de Amazon Redshift, habilite la distinción entre mayúsculas y minúsculas en el clúster de destino mediante uno de los siguientes temas:

Activación de la distinción entre mayúsculas y minúsculas para Amazon Redshift sin servidor mediante la AWS CLI

Ejecute el siguiente comando AWS CLI para activar la distinción entre mayúsculas y minúsculas en el grupo de trabajo.

aws redshift-serverless update-workgroup \ --workgroup-name target-workgroup \ --config-parameters parameterKey=enable_case_sensitive_identifier,parameterValue=true

Espere a que el estado del grupo de trabajo sea Active antes de ir al paso siguiente.

Activación de la distinción entre mayúsculas y minúsculas para los clústeres aprovisionados de Amazon Redshift mediante la consola de Amazon Redshift

  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon Redshift en https://console.aws.amazon.com/redshiftv2/.

  2. En el panel de navegación de la izquierda, elija Panel de clústeres aprovisionados.

  3. Elija el clúster aprovisionado en el que desea replicar los datos.

  4. En el panel de navegación de la izquierda, elija Configuraciones > Administración de cargas de trabajo.

  5. En la página de administración de cargas de trabajo, elija el grupo de parámetros.

  6. Elija la pestaña Parámetros.

  7. Seleccione Editar parámetros y, a continuación, cambie enable_case_sensitive_identifier a true.

  8. A continuación, elija Guardar.

Activación de la distinción entre mayúsculas y minúsculas para los clústeres aprovisionados de Amazon Redshift mediante la AWS CLI

  1. Como no puede editar el grupo de parámetros predeterminado, desde el programa de terminal, ejecute el siguiente comando de la AWS CLI para crear un grupo de parámetros personalizado. Más adelante, lo asociará al clúster aprovisionado.

    aws redshift create-cluster-parameter-group \ --parameter-group-name zero-etl-params \ --parameter-group-family redshift-1.0 \ --description "Param group for zero-ETL integrations"
  2. Ejecute el siguiente comando de la AWS CLI para activar la distinción entre mayúsculas y minúsculas para el grupo de parámetros.

    aws redshift modify-cluster-parameter-group \ --parameter-group-name zero-etl-params \ --parameters ParameterName=enable_case_sensitive_identifier,ParameterValue=true
  3. Ejecute el siguiente comando para asociar el grupo de parámetros con el clúster.

    aws redshift modify-cluster \ --cluster-identifier target-cluster \ --cluster-parameter-group-name zero-etl-params
  4. Espere a que el clúster aprovisionado esté disponible. Puede comprobar el estado del clúster con el comando describe-cluster. A continuación, ejecute el siguiente comando para reiniciar el clúster.

    aws redshift reboot-cluster \ --cluster-identifier target-cluster

Configuración de la autorización para el almacenamiento de datos de Amazon Redshift

Para replicar datos desde el origen de integración en su almacenamiento de datos de Amazon Redshift, debe agregar inicialmente las dos entidades siguientes:

  • Entidad principal autorizada: identifica al usuario o rol que puede crear integraciones sin ETL en el almacenamiento de datos.

  • Origen de integración autorizado: identifica la base de datos de origen que puede actualizar el almacenamiento de datos.

Puede configurar las entidades principales autorizadas y los orígenes de integración autorizados desde la pestaña Política de recursos de la consola de Amazon Redshift o mediante la operación de la API de PutResourcePolicy Amazon Redshift.

Agregar entidades principales autorizadas

Para crear una integración sin ETL en el grupo de trabajo de Redshift sin servidor o el clúster aprovisionado, autorice el acceso al espacio de nombres asociado o al clúster aprovisionado.

Puede omitir este paso si se cumplen las dos condiciones siguientes:

  • La Cuenta de AWS propietaria del grupo de trabajo de Redshift sin servidor o el clúster aprovisionado también son propietarias de la base de datos de origen.

  • Esa entidad principal está asociada a una política de IAM basada en identidad con permisos para crear integraciones sin ETL en este espacio de nombres de Redshift sin servidor o clúster aprovisionado.

Agregar entidades principales autorizadas a un espacio de nombres de Amazon Redshift sin servidor

  1. En la consola de Amazon Redshift, elija Redshift sin servidor en el panel de navegación de la izquierda.

  2. Elija Configuración del espacio de nombres, luego escoja su espacio de nombres y vaya a la pestaña Política de recursos.

  3. Elija Agregar entidades principales autorizadas.

  4. Para cada entidad principal autorizada que desee agregar, introduzca el ARN del usuario o rol de AWS o el ID de cuenta de Cuenta de AWS al que desee conceder acceso para crear integraciones sin ETL en el espacio de nombres. Un ID de cuenta se almacena como un ARN.

  5. Elija Guardar cambios.

Agregar entidades principales autorizadas a un clúster aprovisionado de Amazon Redshift

  1. En la consola de Amazon Redshift, en el panel de navegación de la izquierda, elija Panel de clústeres aprovisionados.

  2. Elija Clústeres y seleccione el clúster. Vaya a la pestaña Política de recursos.

  3. Elija Agregar entidades principales autorizadas.

  4. Para cada entidad principal autorizada que desee agregar, introduzca el ARN del usuario o rol de AWS o el ID de cuenta de la Cuenta de AWS al que desee conceder acceso para crear integraciones sin ETL en el clúster. Un ID de cuenta se almacena como un ARN.

  5. Elija Guardar cambios.

Agregar orígenes de integración autorizados

Para permitir que el origen actualice el almacenamiento de datos de Amazon Redshift, debe agregarlo como origen de integración autorizado al espacio de nombres.

Agregar un origen de integración autorizado a un espacio de nombres de Amazon Redshift sin servidor

  1. En la consola de Amazon Redshift, vaya al Panel sin servidor.

  2. Elija el nombre del espacio de nombres.

  3. Vaya a la pestaña Política de recursos.

  4. Seleccione Agregar un origen de integración autorizado.

  5. Especifique el ARN del origen para la integración sin ETL.

nota

La eliminación de un origen de integración autorizado impide que los datos se repliquen en el espacio de nombres. Esta acción desactiva todas las integraciones sin ETL de ese origen en este espacio de nombres.

Agregar un origen de integración autorizado a un clúster aprovisionado de Amazon Redshift

  1. En la consola de Amazon Redshift, vaya al Panel de clústeres aprovisionados.

  2. Elija el nombre del clúster aprovisionado.

  3. Vaya a la pestaña Política de recursos.

  4. Seleccione Agregar un origen de integración autorizado.

  5. Especifique el ARN del origen que es el origen de datos para la integración sin ETL.

nota

La eliminación de un origen de integración autorizado impide que los datos se repliquen en el clúster aprovisionado. Esta acción desactiva todas las integraciones sin ETL de ese origen en este clúster aprovisionado de Amazon Redshift.

Configuración de la autorización con la API de Amazon Redshift

Puede utilizar las operaciones de la API de Amazon Redshift para configurar políticas de recursos que funcionen con las integraciones sin ETL.

Para controlar el origen que puede crear una integración entrante en el espacio de nombres, cree una política de recursos y asóciela al espacio de nombres. Con la política de recursos, puede especificar el origen que tiene acceso a la integración. La política de recursos se adjunta al espacio de nombres del almacenamiento de datos de destino para permitir que el origen cree una integración entrante para replicar los datos activos del origen en Amazon Redshift.

La siguiente es una política de recursos de ejemplo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "redshift:AuthorizeInboundIntegration", "Condition": { "StringEquals": { "aws:SourceArn": "source_arn" } } }, { "Effect": "Allow", "Principal": { "AWS": "source_principal" }, "Action": "redshift:CreateInboundIntegration" } ] }

A continuación, se resumen las operaciones de la API de Amazon Redshift aplicables a la configuración de las políticas de recursos para las integraciones:

  • Utilice la operación de la API PutResourcePolicy para conservar la política de recursos. Al proporcionar otra política de recursos, se reemplaza la política de recursos anterior del recurso. Utilice el ejemplo de política de recursos anterior, que concede permisos para las siguientes acciones:

    • CreateInboundIntegration: permite a la entidad principal de origen crear una integración entrante para que los datos se repliquen desde el origen en el almacenamiento de datos de destino.

    • AuthorizeInboundIntegration: permite a Amazon Redshift validar continuamente que el almacenamiento de datos de destino pueda recibir datos replicados desde el ARN de origen.

  • Utilice la operación de la API GetResourcePolicy para ver las políticas de recursos existentes.

  • Utilice la operación de la API DeleteResourcePolicy para eliminar una política de recursos del recurso.

Para actualizar una política de recursos, también puede usar el comando put-resource-policy de la AWS CLI.

Siguientes pasos

Ahora que ha configurado la autorización para el almacenamiento de datos de Amazon Redshift de destino, puede crear una integración sin ETL y comenzar a replicar los datos.

Haga lo siguiente en función del origen: