AWS PrivateLink para DynamoDB - Amazon DynamoDB

AWS PrivateLink para DynamoDB

Con AWS PrivateLink para DynamoDB, puede aprovisionar puntos de conexión de Amazon VPC de la interfaz (puntos de conexión de la interfaz) en su nube privada virtual (Amazon VPC). A estos puntos de conexión se puede acceder directamente desde las aplicaciones que se encuentran en las instalaciones a través de la VPN y AWS Direct Connect, o bien, en una Región de AWS diferente mediante el emparejamiento de Amazon VPC. Al usar AWS PrivateLink y puntos de conexión de la interfaz, puede simplificar la conectividad de la red privada desde sus aplicaciones a DynamoDB.

Las aplicaciones de su VPC no necesitan direcciones IP públicas para comunicarse con los puntos de conexión de VPC de la interfaz de DynamoDB para las operaciones de DynamoDB. Los puntos de conexión de la interfaz se representan mediante una o más interfaces de red elásticas (ENI) a las que se asignan direcciones IP privadas desde subredes de la Amazon VPC. Las solicitudes a DynamoDB a través de puntos de conexión de la interfaz permanecen en la red de Amazon. Asimismo, puede acceder a los puntos de conexión de la interfaz en su Amazon VPC desde aplicaciones en las instalaciones a través de AWS Direct Connect o AWS Virtual Private Network (AWS VPN). Para obtener más información sobre cómo conectar la Amazon VPC a la red en las instalaciones, consulte la AWS Direct Connect User Guide y la AWS Site-to-Site VPN User Guide.

Para obtener más información sobre los puntos de enlace de la interfaz, consulte Interface Amazon VPC endpoints (AWS PrivateLink) en la Guía de AWS PrivateLink.

Tipos de puntos de conexión de Amazon VPC para Amazon DynamoDB

Puede utilizar dos tipos de puntos de conexión de Amazon VPC para acceder a Amazon DynamoDB: puntos de conexión de la puerta de enlace y puntos de conexión de la interfaz (mediante AWS PrivateLink). Un punto de conexión de la puerta de enlace es una puerta de enlace que se especifica en la tabla de enrutamiento para acceder a DynamoDB desde la Amazon VPC a través de la red de AWS. Los puntos de conexión de la interfaz amplían la funcionalidad de los puntos de conexión de la puerta de enlace al usar direcciones IP privadas para enviar solicitudes a DynamoDB desde la Amazon VPC, las instalaciones u otra Amazon VPC en otra Región de AWS mediante el emparejamiento de VPC o AWS Transit Gateway. Para obtener más información, consulte What is Amazon VPC peering? y Transit Gateway frente a emparejamiento de VPC.

Los puntos de enlace de la interfaz son compatibles con los puntos de enlace de gateway. Si tiene un punto de conexión de la puerta de enlace existente en la Amazon VPC, puede utilizar ambos tipos de puntos de conexión en la misma Amazon VPC.

Puntos de conexión de la puerta de enlace para DynamoDB

Puntos de conexión de la interfaz para DynamoDB

En ambos casos, el tráfico de red permanece en la red de AWS.

Utilizar direcciones IP públicas de Amazon DynamoDB

Utilizar direcciones IP privadas de su Amazon VPC para acceder a Amazon DynamoDB

No permitir el acceso desde las instalaciones

Permitir el acceso desde las instalaciones

No permitir el acceso desde otra Región de AWS

Permitir el acceso desde un punto de conexión de Amazon VPC en otra Región de AWS mediante el uso de emparejamiento de VPC o AWS Transit Gateway

No facturado

Facturado

Para obtener más información acerca de los puntos de conexión de la puerta de enlace, consulte Puntos de conexión de Amazon VPC de la puerta de enlace en la Guía del usuario de AWS PrivateLink.

Las consideraciones sobre Amazon VPC se aplican a AWS PrivateLink para Amazon DynamoDB. Para obtener más información, consulte Consideraciones de los puntos de conexión de la interfaz y Cuotas de AWS PrivateLink en la Guía de AWS PrivateLink. Además, se aplican las siguientes restricciones.

AWS PrivateLink para Amazon DynamoDB no admite lo siguiente:

Actualmente, AWS PrivateLink no es compatible con los puntos de conexión de Amazon DynamoDB Streams.

Puede enviar hasta 50 000 solicitudes por segundo para cada punto de conexión de AWS PrivateLink que active.

nota

Los tiempos de espera de conectividad de red con los puntos de conexión de AWS PrivateLink no están incluidos en el ámbito de las respuestas de error de DynamoDB y las aplicaciones que se conecten a los puntos de conexión de PrivateLink deberán gestionarlos adecuadamente.

Creación de un punto de conexión de VPC de Amazon

Para crear un punto de conexión de la interfaz de Amazon VPC, consulte Create an Amazon VPC endpoint en la Guía de AWS PrivateLink.

Acceso a los puntos de conexión de la interfaz Amazon DynamoDB

Cuando se crea un punto de conexión de la interfaz, DynamoDB genera dos tipos de nombres DNS de DynamoDB específicos del punto de conexión: regional y zonal.

  • Un nombre DNS regional incluye un ID único de punto de conexión de Amazon VPC, un identificador de servicio, la Región de AWS y vpce.amazonaws.com en el nombre. Por ejemplo, para el ID de punto de conexión de Amazon VPC vpce-1a2b3c4d, el nombre DNS generado podría ser similar a vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com.

  • Un nombre de DNS zonal incluye la zona de disponibilidad, por ejemplo, vpce-1a2b3c4d-5e6f-us-east-1a.dynamodb.us-east-1.vpce.amazonaws.com. Puede utilizar esta opción si la arquitectura aísla Zonas de disponibilidad. Por ejemplo, podría usarlo para la contención de fallos o para reducir los costos de transferencia de datos regionales.

Los nombres DNS de DynamoDB específicos de los puntos de conexión se pueden resolver desde el dominio DNS público de DynamoDB.

Acceso a tablas de DynamoDB y operaciones de la API de control desde los puntos de conexión de la interfaz de DynamoDB

Puede usar la AWS CLI o los SDK de AWS para acceder a las tablas de DynamoDB y controlar las operaciones de la API a través de los puntos de conexión de la interfaz de DynamoDB.

Para acceder a las tablas de DynamoDB o a las operaciones de la API de control de DynamoDB a través de los puntos de conexión de la interfaz de DynamoDB en los comandos AWS CLI, use los parámetros --region y --endpoint-url.

Ejemplo: crear un punto de conexión de VPC

aws ec2 create-vpc-endpoint \ --region us-east-1 \ --service-name dynamodb-service-name \ --vpc-id client-vpc-id \ --subnet-ids client-subnet-id \ --vpc-endpoint-type Interface \ --security-group-ids client-sg-id

Ejemplo: modificar un punto de conexión de VPC

aws ec2 modify-vpc-endpoint \ --region us-east-1 \ --vpc-endpoint-id client-vpc-endpoint-id \ --policy-document policy-document \ #example optional parameter --add-security-group-ids security-group-ids \ #example optional parameter # any additional parameters needed, see Privatelink documentation for more details

Ejemplo: enumerar las tablas mediante una URL de punto de conexión

En el siguiente ejemplo, reemplace la región us-east-1 y el nombre DNS del ID de punto de conexión de VPC vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com con su información.

aws dynamodb --region us-east-1 —endpoint https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com list-tables

Para acceder a las tablas de DynamoDB o a las operaciones de la API de control de DynamoDB a través de los puntos de conexión de la interfaz de DynamoDB al utilizar los SDK de AWS, actualice sus SDK a la versión actual. A continuación, configure los clientes para que utilicen una URL de punto de conexión para acceder a una tabla o a una operación de la API de control de DynamoDB a través de los puntos de conexión de la interfaz de DynamoDB.

SDK for Python (Boto3)
Ejemplo: utilizar una URL de punto de conexión para acceder a una tabla de DynamoDB

En el siguiente ejemplo, reemplace la región us-east-1 y el ID de punto de conexión de VPC https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com con su información.

ddb_client = session.client( service_name='dynamodb', region_name='us-east-1', endpoint_url='https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com' )
SDK for Java 1.x
Ejemplo: utilizar una URL de punto de conexión para acceder a una tabla de DynamoDB

En el siguiente ejemplo, reemplace la región us-east-1 y el ID de punto de conexión de VPC https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com con su información.

//client build with endpoint config final AmazonDynamoDB dynamodb = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build();
SDK for Java 2.x
Ejemplo: utilizar una URL de punto de conexión para acceder a un bucket de S3

En el siguiente ejemplo, reemplace la región us-east-1 y el ID de punto de conexión de VPC https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com por su propia información.

Region region = Region.US_EAST_1; dynamoDbClient = DynamoDbClient.builder().region(region) .endpointOverride(URI.create("https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com")) .build()

Actualización de una configuración DNS en las instalaciones

Al utilizar nombres DNS específicos de puntos de conexión para acceder a los puntos de conexión de la interfaz de DynamoDB, no es necesario actualizar la resolución DNS en las instalaciones. Puede resolver el nombre DNS específico del punto de conexión con la dirección IP privada del punto de conexión de la interfaz desde el dominio DNS público de DynamoDB.

Uso de puntos de conexión de la interfaz para acceder a DynamoDB sin un punto de conexión de la puerta de enlace o una puerta de enlace de Internet en la Amazon VPC

Los puntos de conexión de la interfaz de su Amazon VPC pueden dirigir tanto las aplicaciones en Amazon VPC como las aplicaciones en las instalaciones hacia DynamoDB a través de la red de Amazon, tal como se muestra en el siguiente diagrama.

En el diagrama de flujo de datos, se muestra el acceso desde las aplicaciones en las instalaciones y en la Amazon VPC a DynamoDB mediante un punto de conexión de la interfaz y AWS PrivateLink.

En el siguiente diagrama se ilustra lo siguiente:

  • Su red en las instalaciones utiliza AWS Direct Connect o AWS VPN para conectarse a la Amazon VPC A.

  • Las aplicaciones en las instalaciones y en la Amazon VPC A utilizan nombres DNS específicos del punto de conexión para acceder a DynamoDB a través del punto de conexión de la interfaz de DynamoDB.

  • Las aplicaciones en las instalaciones envían datos al punto de conexión de la interfaz en la Amazon VPC a través de AWS Direct Connect (o AWS VPN). AWS PrivateLink transfiere los datos desde el punto de conexión de la interfaz hasta DynamoDB a través de la red de AWS.

  • Las aplicaciones en la Amazon VPC también envían tráfico al punto de conexión de la interfaz. AWS PrivateLink transfiere los datos desde el punto de conexión de la interfaz a DynamoDB a través de la red de AWS.

Uso de puntos de conexión de la puerta de enlace y puntos de conexión de la interfaz juntos en la misma Amazon VPC para acceder a DynamoDB

Puede crear puntos de conexión de la interfaz y conservar el punto de conexión de la puerta de enlace existente en la misma Amazon VPC, tal como se muestra en el siguiente diagrama. De este modo, permite que las aplicaciones en la Amazon VPC continúen accediendo a DynamoDB a través del punto de conexión de la puerta de enlace, que no se factura. En ese caso, solo las aplicaciones en las instalaciones utilizarían puntos de conexión de la interfaz para acceder a DynamoDB. Para acceder a DynamoDB de esta manera, debe actualizar las aplicaciones en las instalaciones para que utilicen nombres DNS específicos de puntos de conexión para DynamoDB.

El diagrama de flujo de datos muestra el acceso a DynamoDB mediante los puntos de conexión de la puerta de enlace y los puntos de conexión de la interfaz juntos.

En el siguiente diagrama se ilustra lo siguiente:

  • Las aplicaciones en las instalaciones utilizan nombres de DNS específicos de cada punto de conexión para enviar datos al punto de conexión de la interfaz dentro de la Amazon VPC a través de AWS Direct Connect (o AWS VPN). AWS PrivateLink transfiere los datos desde el punto de conexión de la interfaz hasta DynamoDB a través de la red de AWS.

  • Mediante el uso de nombres regionales predeterminados de DynamoDB, las aplicaciones en la Amazon VPC envían datos al punto de conexión de la puerta de enlace que se conecta a DynamoDB a través de la red de AWS.

Para obtener más información acerca de los puntos de conexión de la puerta de enlace, consulte Gateway Amazon VPC endpoints en la Guía del usuario de Amazon VPC.

Creación de una política de punto de conexión de Amazon VPC para DynamoDB

Puede asociar una política de punto de conexión con el punto de conexión de Amazon VPC que controla el acceso a DynamoDB. La política especifica la siguiente información:

  • La entidad principal de AWS Identity and Access Management (IAM) que puede realizar acciones

  • Las acciones que se pueden realizar

  • Los recursos en los que se pueden llevar a cabo las acciones

Puede crear una política de punto de conexión que restrinja el acceso a tablas específicas de DynamoDB. Este tipo de política es útil si tiene otros Servicios de AWS en su Amazon VPC que utilicen tablas. La siguiente política de tablas restringe el acceso únicamente a la DOC-EXAMPLE-TABLE. Para utilizar esta política de puntos de conexión, sustituya DOC-EXAMPLE-TABLE por el nombre de su tabla.

{ "Version": "2012-10-17", "Id": "Policy1216114807515", "Statement": [ { "Sid": "Access-to-specific-table-only", "Principal": "*", "Action": [ "dynamodb:GetItem", "dynamodb:PutItem" ], "Effect": "Allow", "Resource": ["arn:aws:dynamodb:::DOC-EXAMPLE-TABLE", "arn:aws:dynamodb:::DOC-EXAMPLE-TABLE/*"] } ] }