Requisitos previos
El clúster de base de datos de Aurora PostgreSQL puede leer datos de Iceberg y Parquet de Amazon S3, Tablas de Amazon S3 y AWS Glue Data Catalog en su nombre. Antes de consultar esos datos, el clúster necesita tres cosas: una forma de autenticarse en esos servicios, una versión del motor que incluya la extensión aurora_analytics y una ruta de red desde la VPC para acceder a ellos. En las siguientes secciones, se explica cómo crear una política y un rol de IAM que concedan acceso de lectura a los datos específicos que planea consultar, cómo asociar ese rol al clúster de base de datos, habilitar la extensión en el grupo de parámetros del clúster de base de datos y cómo configurar la ruta de red que utiliza el clúster para llegar a Amazon S3 y AWS Glue. Puede completar estos pasos en cualquier clúster de base de datos de Aurora PostgreSQL existente que cumpla con los requisitos de versión.
Temas
Información general de los pasos de configuración
Los pasos de configuración de alto nivel son los siguientes:
-
Cree una política de IAM que conceda acceso de lectura a los datos.
-
Cree un rol de IAM y asóciele esa política.
-
Adjunte el rol de IAM al clúster de base de datos de Aurora.
-
Configure las redes (puntos de conexión de VPC) si el clúster se encuentra en una subred privada.
-
Habilite la extensión de
aurora_analyticsen el grupo de parámetros del clúster de base de datos.
Creación de una política de IAM
Cree una política de IAM que conceda a la extensión acceso de lectura a Amazon S3 y, opcionalmente, a AWS Glue Data Catalog o Tablas de Amazon S3, según el formato de los datos y el lugar donde estén almacenados.
Los privilegios mínimos dependen de cómo haga referencia a los datos: el formato de los datos (Parquet o Iceberg), el origen (Amazon S3, AWS Glue Data Catalog o Tablas de Amazon S3) y si apunta a un único archivo o a un directorio. En la siguiente tabla se muestran los privilegios mínimos de los roles de IAM para los escenarios comunes de la misma cuenta:
| Origen | Privilegios mínimos |
|---|---|
Amazon S3, archivo único (s3://bucket/path/data.parquet) |
s3:GetObject |
Amazon S3, directorio o global (s3://bucket/path/) |
s3:GetObject, s3:ListBucket |
AWS Glue Data Catalog (arn:aws:glue:us-east-1:123456789012:table/mydb/mytable) |
glue:GetTable + Privilegios de Amazon S3 anteriores |
Tablas de Amazon S3, ARN directo (arn:aws:s3tables:us-east-1:123456789012:bucket/mybucket/table/table_id) |
s3tables:GetTable, s3tables:GetTableBucket, s3tables:GetTableData, s3tables:GetNamespace |
Tablas de Amazon S3, mediante el ARN del catálogo de AWS Glue (arn:aws:glue:us-east-1:123456789012:table/s3tablescatalog/mybucket/myns/mytable) |
Privilegios glue:GetTable + s3tables anteriores |
nota
s3:ListBucket solo se necesita cuando la extensión muestra un prefijo de Amazon S3 para detectar archivos (por ejemplo, el directorio Parquet o el acceso global). Iceberg resuelve las rutas exactas de los archivos a partir de sus manifiestos, lo que significa que s3:ListBucket no es obligatorio.
nota
Si los datos están cifrados con SSE-KMS, agregue kms:Decrypt en la clave de KMS.
nota
Se requieren privilegios adicionales para IMPORT FOREIGN SCHEMA (glue:GetTables o s3tables:ListTables), el acceso entre cuentas, el acceso basado en políticas de recursos y las tablas gobernadas por Lake Formation.
Para ver ejemplos detallados de políticas, consulte Referencia de políticas de IAM. Para obtener más información acerca de la creación de políticas de IAM, consulte Creación de políticas de IAM en la Guía del usuario de IAM.
Creación de un rol de IAM
Cree un rol de IAM que Aurora pueda asumir para acceder a los datos de Amazon S3 en nombre de la extensión.
Creación de un rol de IAM con la consola de administración de AWS
-
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación, elija Roles y, a continuación, Crear rol.
-
En Tipo de entidad de confianza, elija Servicio de AWS.
-
Para Caso de uso, elija RDS en la lista de servicios.
-
Elija RDS: agregar rol a la base de datos entre las opciones de casos de uso.
-
Elija Siguiente.
-
Seleccione la política que creó en Creación de una política de IAM. También puede elegir políticas de permisos predefinidas, como AmazonS3ReadOnlyAccess y AWSGlueConsoleFullAccess.
-
Elija Siguiente.
-
Para Nombre del rol, escriba un nombre para el rol (por ejemplo,
AuroraAnalyticsRole). -
Elija Creación de rol.
Creación de un rol de IAM con la AWS CLI
-
Cree un rol llamado
AuroraAnalyticsRole:aws iam create-role \ --role-name AuroraAnalyticsRole \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }' -
Asocie la política al rol:
aws iam attach-role-policy \ --role-name AuroraAnalyticsRole \ --policy-arn arn:aws:iam::123456789012:policy/AuroraAnalyticsReadAccess
Apunte el ARN del rol. Lo necesitará cuando asocie el rol al clúster de base de datos de Aurora. Para más información, consulte Creación de roles de IAM en la Guía del usuario de IAM.
Asociación del rol de IAM al clúster de base de datos de Aurora
Tras crear el clúster de base de datos, asocie el rol de IAM que creó para la extensión.
Asociación del rol de IAM mediante la consola de administración de AWS
-
Abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En el panel de navegación, elija Bases de datos y, a continuación, elija el nombre del clúster de base de datos de Aurora PostgreSQL.
-
En la pestaña Connectivity & security (Conectividad y seguridad), en la sección Manage IAM roles (Administrar roles de IAM), elija el rol que desee añadir en Add IAM roles to this cluster (Añadir roles de IAM a este clúster).
-
En Característica, elija AuroraAnalytics.
-
Seleccione Add role (Añadir rol).
Asociación del rol de IAM mediante la AWS CLI
-
aws rds add-role-to-db-cluster \ --region us-east-1 \ --db-cluster-identifier my-analytics-cluster \ --feature-name AuroraAnalytics \ --role-arn arn:aws:iam::123456789012:role/AuroraAnalyticsRole
El estado del rol de IAM se muestra como Activo después de que se haya asociado correctamente. Para obtener más información, consulte add-role-to-db-cluster en la Referencia de comandos de la AWS CLI.
Configurar redes
Cuando el clúster de base de datos Aurora se implementa en una subred privada, necesita una ruta de red para llegar a Amazon S3 y (opcionalmente) AWS Glue. Puede proporcionarlo con puntos de conexión de VPC (recomendado) o mediante una puerta de enlace de NAT.
Los puntos de conexión de VPC mantienen el tráfico en la red de AWS sin atravesar la Internet pública, y un punto de conexión de puerta de enlace de Amazon S3 no tiene ningún cargo adicional por hora, lo que los convierte en el enfoque recomendado. Una puerta de enlace de NAT también funciona si la VPC ya enruta el tráfico saliente a través de una, pero envía el tráfico a través de una ruta pública e incurre en cargos por procesamiento de datos de NAT. En el resto de esta sección se describe la configuración del punto de conexión de VPC. Para obtener información acerca de las puertas de enlace de NAT, consulte Puertas de enlace de NAT.
| Servicio | Tipo de punto de conexión | Obligatorio para |
|---|---|---|
Amazon S3 (com.amazonaws.region.s3) |
Puerta de enlace | Acceso a los datos de Amazon S3 y Tablas de Amazon S3 |
AWS Glue (com.amazonaws.region.glue) |
Interfaz | AWS Glue Data Catalog, , acceso |
Creación de un punto de conexión de puerta de enlace de Amazon S3
Cree un punto de conexión de puerta de enlace de Amazon S3 y asócielo a las tablas de enrutamiento que utilizan las subredes del clúster de base de datos de Aurora.
Para obtener más información, consulte Creación de un punto de conexión de puerta de enlace para Amazon S3 en la Guía de AWS PrivateLink.
Creación de un punto de conexión de interfaz de AWS Glue
Si utiliza AWS Glue Data Catalog, cree un punto de conexión de interfaz de VPC de AWS Glue con la siguiente configuración:
-
Implemente en las mismas subredes que el clúster de base de datos de Aurora.
-
Habilite DNS privado.
-
Adjunte un grupo de seguridad que permita el tráfico entrante en el puerto TCP 443 desde el bloque de CIDR de VPC o desde el mismo grupo de seguridad que utiliza el clúster de base de datos de Aurora PostgreSQL.
Para obtener más información, consulte Creación de un punto de conexión de interfaz en la Guía de AWS PrivateLink.
Habilitación de la característica en el grupo de parámetros
El parámetro aurora_analytics.enabled se establece en false de forma predeterminada. Después de crear el clúster de base de datos, habilite la característica configurando este parámetro en true en el grupo de parámetros de clúster de base de datos.
Habilitación de la característica mediante la AWS CLI
-
aws rds modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name my-analytics-params \ --parameters "ParameterName=aurora_analytics.enabled,ParameterValue=true,ApplyMethod=immediate"
Como parámetro dinámico, aurora_analytics.enabled se aplica inmediatamente sin reiniciar.
nota
Esto se aplica cuando el clúster de base de datos utiliza un grupo de parámetros de clúster de base de datos personalizado. No puede modificar el grupo de parámetros predeterminado. Si el clúster sigue utilizando el valor predeterminado, cree primero un grupo de parámetros personalizado del clúster de base de datos y asócielo al clúster. Para asociar un grupo de parámetros diferente, es necesario reiniciar las instancias de base de datos para que el nuevo grupo surta efecto, aunque aurora_analytics.enabled en sí mismo sea dinámico. Para obtener más información, consulte Trabajo con los grupos de parámetros de clúster de base de datos en la Guía del usuario de Amazon Aurora.
Habilitación de la característica mediante la consola de administración de AWS
-
Abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En el panel de navegación, seleccione Grupos de parámetros.
-
Elija el grupo de parámetros asociado con el clúster de base de datos de Aurora.
-
Busque la opción
aurora_analytics.enabled. -
Establezca el valor en
true. -
Seleccione Save changes (Guardar cambios).
Siguientes pasos
Cuando complete estos pasos, estará listo para comenzar. Para obtener más información, consulte Introducción.
Para obtener información sobre cómo elegir la clase de instancia de base de datos y el tamaño correctos para la carga de trabajo, consulte Prácticas recomendadas.