Requisitos
Data Pump se ejecuta entero en tu cuenta AWS. Antes de instalar, tres cosas deben existir.
Vale la pena levantar esto antes del handoff: la VPC, el bucket y las cuentas de origen entran en la plantilla de tu paquete, y cambiarlos después exige un paquete nuevo. Mira el handoff.
Una VPC con subredes privadas
Sección titulada «Una VPC con subredes privadas»Los jobs se ejecutan como tasks Fargate en subredes privadas, y la consola queda detrás de un load balancer interno. Las subredes necesitan salida a internet — por NAT Gateway o VPC endpoints — para alcanzar S3, DynamoDB, ECR y los endpoints de AWS.
Si usas VPC endpoints en lugar de NAT, necesitas: s3 (gateway), dynamodb
(gateway), y los de interfaz para ecr.api, ecr.dkr, logs, sts y
secretsmanager.
Un clúster RDS con snapshots
Sección titulada «Un clúster RDS con snapshots»Data Pump lee snapshots — automáticos o manuales, de Aurora o RDS Postgres. Si los backups automáticos están activos (lo predeterminado), ya existe un snapshot para procesar.
El clúster puede estar en otra cuenta AWS. En ese caso, mira base en otra cuenta — la instalación tiene un paso más.
Permiso para crear el stack
Sección titulada «Permiso para crear el stack»Quien ejecuta el instalador debe poder crear, vía CloudFormation:
| Servicio | Para qué |
|---|---|
| S3 | El bucket del datalake y un bucket de staging de CloudFormation |
| IAM | Roles de las tasks, de la exportación y del crawler |
| KMS | La clave que cifra el export del snapshot |
| ECS | Clúster, task definitions y el servicio de la consola |
| Step Functions | La máquina de estados del pipeline |
| Lambda | Las funciones de evento y del crawler |
| DynamoDB | Cinco tablas de configuración y estado |
| Glue | La base de datos del catálogo y el crawler |
| Cognito | El user pool que autentica la consola |
| SNS | Los tópicos de evento de RDS y de finalización |
| EC2/ELB | Security groups y el load balancer interno |
El instalador exige CAPABILITY_NAMED_IAM, porque los roles tienen nombres
fijos.
Data Pump no crea nada que resulte caro estando inactivo. Lo que pesa es proporcional al volumen:
- Fargate — los jobs se ejecutan por algunos minutos en cada snapshot
- S3 — el Parquet del datalake, más el export bruto si no lo limpias
- Consola — una task pequeña siempre en pie, más el load balancer
- Athena — se cobra por dato leído, y es eso lo que particionar reduce
El snapshot en sí ya lo pagas: AWS lo toma de todos modos.