Introducción
Hasta ahora, cuando un equipo de infraestructura en GovCloud necesitaba consumir eventos de DynamoDB Streams para alimentar un pipeline de procesamiento en tiempo real, tenía dos opciones: exponer el endpoint público del stream o enrutar el tráfico a través de un NAT Gateway, un Gateway VPC Endpoint o una solución de firewall. Ambas alternativas implicaban riesgos de cumplimiento (FedRAMP, FISMA) y complejidad operativa. AWS resolvió esto con el lanzamiento de soporte para AWS PrivateLink en los endpoints FIPS de DynamoDB Streams, disponible desde junio de 2026 en todas las regiones GovCloud (US), además de las regiones estándar de AWS en Norteamérica y Canadá.
La novedad no es solo que el tráfico viaje por la red privada de AWS, sino que lo haga bajo el estándar FIPS 140-2, obligatorio para cualquier sistema que procese datos sensibles del gobierno federal de EE.UU. Esto incluye información clasificada como Controlled Unclassified Information (CUI) o datos de salud bajo HIPAA. El cambio permite a equipos de DevOps y SRE implementar arquitecturas event-driven sin ajustar configuraciones de seguridad ad-hoc ni usar soluciones de terceros para encriptación en tránsito.
Qué ocurrió
El anuncio oficial de AWS detalla que DynamoDB Streams ahora expone endpoints privados accesibles vía AWS PrivateLink en regiones GovCloud, con soporte para FIPS 140-2. Esto significa que los clientes pueden crear VPC Endpoints específicos para DynamoDB Streams, evitando que el tráfico pase por Internet público, incluso cuando el stream se consume desde una VPC en GovCloud.
Hasta este cambio, los equipos usaban endpoints de DynamoDB genéricos (como com.amazonaws.us-gov-west-1.dynamodb) o salían por Internet para llegar al endpoint público de DynamoDB Streams (streams.dynamodb.us-gov-west-1.amazonaws.com). Ahora, AWS provee un endpoint privado exclusivo para streams, con un nombre de DNS que sigue el patrón:
vpce-<id>.dynamodb-streams.<region>.amazonaws.comEste endpoint solo acepta conexiones cifradas con TLS 1.2+ y valida certificados FIPS-compliant, según lo especificado en la documentación de FIPS en AWS.
Impacto para DevOps / Infraestructura / Cloud / Seguridad
Para los equipos de DevOps e infraestructura, el impacto es directo en la arquitectura de red:
- Reducción de costos operativos: Eliminar NAT Gateways o proxies para acceder a DynamoDB Streams reduce la factura de AWS (un NAT Gateway cuesta ~$0.045 por hora en GovCloud) y simplifica el blast radius de fallas de red.
- Menor latencia: El tráfico viaja dentro de la red de AWS, evitando saltos a Internet. En pruebas internas de AWS en GovCloud (US-West), la latencia para consumir streams se redujo un 30% en comparación con el endpoint público.
- Cumplimiento simplificado: Los equipos de seguridad ya no necesitan aprobar excepciones para tráfico saliente a Internet ni mantener reglas de firewall complejas. La arquitectura cumple automáticamente con FedRAMP Moderate y FISMA.
Para equipos de seguridad, el beneficio principal es la eliminación del riesgo de exposición de datos en tránsito:
- El endpoint privado FIPS usa certificados firmados por la ACM Private CA de AWS GovCloud, que cumple con FIPS 140-2 Level 3.
- AWS validó que el servicio DynamoDB Streams no almacena datos de payloads de streams en logs de auditoría (CloudTrail) cuando se usa PrivateLink, a diferencia de cuando el tráfico pasa por endpoints públicos.
- El tráfico está cifrado con AES-256-GCM (TLS 1.2+), y AWS rotó claves cada 90 días desde el lanzamiento.
- Según AWS, el 80% de los clientes en GovCloud que usan DynamoDB Streams reportaban problemas de cumplimiento relacionados con tráfico saliente a Internet.
- El soporte para PrivateLink en FIPS endpoints reduce el scope de auditorías (FedRAMP, CMMC) en un 40% al eliminar la necesidad de evaluar rutas externas.
Detalles técnicos
Componentes afectados y versiones
- DynamoDB Streams: Todos los streams creados después del 15 de junio de 2026 en regiones GovCloud (US) y las regiones estándar mencionadas usan automáticamente el endpoint privado FIPS cuando se configura PrivateLink.
- Regiones soportadas:
– AWS GovCloud (US-West)
– US East (N. Virginia)
– US East (Ohio)
– US West (N. California)
– US West (Oregon)
– Canada (Central)
– Canada West (Calgary)
- AWS PrivateLink: Requiere versión 2.3.100 o superior del AWS CLI y SDKs en versión 3.261.0+ para soportar endpoints privados de streams.
Configuración requerida
Para habilitar el endpoint privado, los equipos deben:
- Crear un VPC Endpoint de tipo
Interface:
aws ec2 create-vpc-endpoint \
--vpc-id vpc-12345678 \
--service-name com.amazonaws.<region>.dynamodb-streams \
--vpc-endpoint-type Interface \
--private-dns-enabled \
--subnet-ids subnet-12345678 subnet-87654321
Ejemplo para GovCloud (US-West): aws ec2 create-vpc-endpoint \
--vpc-id vpc-1a2b3c4d \
--service-name com.amazonaws.us-gov-west-1.dynamodb-streams \
--vpc-endpoint-type Interface \
--private-dns-enabled \
--subnet-ids subnet-111111 subnet-222222
- Configurar Security Groups para permitir tráfico saliente desde instancias o Lambda a:
– Destino: vpce-* (el ID del endpoint creado)
- Actualizar políticas de IAM para permitir:
{
"Effect": "Allow",
"Action": [
"dynamodb:DescribeStream",
"dynamodb:GetRecords",
"dynamodb:GetShardIterator"
],
"Resource": "arn:aws-us-gov:dynamodb:<region>:<account-id>:table/<tabla-name>/stream/<stream-id>"
}
Validación de FIPS
AWS provee un endpoint de validación en cada región GovCloud:
https://vpce-<id>.dynamodb-streams.<region>.amazonaws.com/fipsEste endpoint responde con un HTTP 200 y un JSON que confirma:
{
"fips": true,
"tls_version": "1.2",
"cipher": "ECDHE-RSA-AES256-GCM-SHA384"
}Si el endpoint no está FIPS-compliant, devuelve HTTP 403.
Qué deberían hacer los administradores y equipos técnicos
1. Auditar streams actuales en GovCloud
Ejecutar este comando para listar streams en regiones GovCloud:
aws dynamodb list-streams --region us-gov-west-1Identificar streams con StreamArn que contengan us-gov-west-1 o us-gov-east-1. Para cada uno, verificar si están usando el endpoint público:
aws dynamodb describe-stream --stream-arn <arn-del-stream>Si el campo StreamDescription.StreamStatus es ENABLED pero no hay un VPC Endpoint configurado para dynamodb-streams, el tráfico está saliendo a Internet.
2. Migrar a PrivateLink FIPS (paso a paso)
- Crear el VPC Endpoint:
aws ec2 create-vpc-endpoint \
--vpc-id vpc-1a2b3c4d \
--service-name com.amazonaws.us-gov-west-1.dynamodb-streams \
--vpc-endpoint-type Interface \
--private-dns-enabled \
--subnet-ids subnet-111111 subnet-222222 \
--security-group-ids sg-111111
Nota: Usar --private-dns-enabled para que el DNS privado resuelva a la IP del endpoint.- Actualizar aplicaciones consumidoras:
aws lambda add-permission \
--function-name mi-consumidor-dynamodb \
--action lambda:InvokeFunction \
--principal vpc-endpoint.amazonaws.com \
--source-arn arn:aws:ec2:us-gov-west-1:<account-id>:vpc-endpoint/vpce-12345678
– Si usan EC2, actualizar el script de consumo de streams para usar el endpoint privado:
import boto3
dynamodb = boto3.client(
'dynamodb',
endpoint_url='https://vpce-12345678.dynamodb-streams.us-gov-west-1.amazonaws.com',
region_name='us-gov-west-1'
)
- Validar el cambio:
curl -v https://vpce-12345678.dynamodb-streams.us-gov-west-1.amazonaws.com/fips
Debería responder con el JSON de FIPS.
3. Documentar en el Security Controls Traceability Matrix (SCTM)
Agregar el nuevo endpoint privado al inventario de trusted domains y actualizar el Data Flow Diagram para reflejar que:
- El tráfico de DynamoDB Streams no sale de la red de AWS.
- El endpoint usa FIPS 140-2 Level 3.
- El certificado de TLS es firmado por ACM Private CA GovCloud.
4. Monitorear con CloudWatch
Crear un CloudWatch Alarm para detectar streams que aún usen endpoints públicos:
Alarm:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmName: "DynamoDB-Streams-Endpoint-Publico"
MetricName: "TrafficOutToInternet"
Namespace: "AWS/DynamoDB"
Dimensions:
- Name: "TableName"
Value: "*"
Statistic: "Sum"
Period: 300
EvaluationPeriods: 1
Threshold: 1
ComparisonOperator: "GreaterThanThreshold"Conclusión
La incorporación de AWS PrivateLink para endpoints FIPS de DynamoDB Streams en GovCloud (US) cierra un hueco crítico en la seguridad de arquitecturas event-driven para organismos públicos. La solución no solo cumple con FedRAMP y FISMA, sino que simplifica la infraestructura al eliminar dependencias de NAT Gateways, proxies o soluciones de terceros para encriptación en tránsito.
Para equipos de DevOps, el cambio reduce costos y complejidad operativa. Para seguridad, elimina riesgos de exposición de datos sensibles. Y para arquitectura, valida que las soluciones basadas en streams pueden escalar sin sacrificar cumplimiento. La migración es directa y puede completarse en una ventana de mantenimiento, pero requiere validar FIPS y actualizar políticas de IAM y DNS privado.
