AWS PrivateLink para DynamoDB
Com o AWS PrivateLink para o DynamoDB, é possível provisionar endpoints da Amazon VPC de interface (endpoints de interface) em sua nuvem privada virtual (Amazon VPC). Esses endpoints podem ser acessados diretamente por meio da VPN e do AWS Direct Connect pelas aplicações que estão no ambiente on-premises ou por emparelhamento da Amazon VPC pelas aplicações que estão em uma Região da AWS diferente. Usando endpoints de interface e o AWS PrivateLink, é possível simplificar a conectividade de rede privada das aplicações com o DynamoDB.
As aplicações na VPC não necessitam que endereços IP públicos se comuniquem com endpoints da VPC de interface do DynamoDB para operações do DynamoDB. Os endpoints de interface são representados por uma ou mais interfaces de rede elástica (ENIs) que recebem endereços IP privados de sub-redes na Amazon VPC. As solicitações para o DynamoDB por meio de endpoints de interface permanecem na rede da Amazon. Também é possível acessar endpoints de interface na Amazon VPC via aplicações on-premises por meio do AWS Direct Connect ou do AWS Virtual Private Network (AWS VPN). Para ter mais informações sobre como conectar a Amazon VPC à rede on-premises, consulte o Guia do usuário do AWS Direct Connect e o Guia do usuário do AWS Site-to-Site VPN.
Para ter informações gerais sobre endpoints de interface, consulte Interface Amazon VPC endpoints (AWS PrivateLink) no Guia do AWS PrivateLink.
Tópicos
- Tipos de endpoint da Amazon VPC para o Amazon DynamoDB
- Considerações ao usar o AWS PrivateLink para Amazon DynamoDB
- Criar um Amazon VPC endpoint
- Acessar os endpoints de interface do Amazon DynamoDB
- Acessar tabelas do DynamoDB e operações de API de controle por meio dos endpoints da interface do DynamoDB
- Atualizar uma configuração de DNS on-premises
- Criar uma política de endpoint da Amazon VPC para o DynamoDB
Tipos de endpoint da Amazon VPC para o Amazon DynamoDB
É possível usar dois tipos de endpoints da VPC para acessar o Amazon DynamoDB: endpoints de gateway e endpoints de interface (usando o AWS PrivateLink). Endpoint de gateway é um gateway especificado na tabela de rotas para acessar o DynamoDB por meio da Amazon VPC pela rede da AWS. Os endpoints de interface estendem a funcionalidade dos endpoints de gateway usando endereços IP privados para rotear solicitações para o DynamoDB de dentro da Amazon VPC, do ambiente on-premises ou de uma Amazon VPC em outra Região da AWS usando emparelhamento da VPC ou o AWS Transit Gateway. Para ter mais informações, consulte What is Amazon VPC peering? em Transit Gateway vs Amazon VPC peering.
Os endpoints de interface são compatíveis com os endpoints de gateway. Se você tiver um endpoint de gateway na Amazon VPC, poderá usar os dois tipos de endpoint na mesma Amazon VPC.
Endpoints de gateway para o DynamoDB |
Endpoints de interface para o DynamoDB |
---|---|
Em ambos os casos, o tráfego de rede permanece na rede AWS. |
|
Usar endereços IP públicos do Amazon DynamoDB |
Usar endereços IP privados da Amazon VPC para acessar o Amazon DynamoDB |
Não permita o acesso pelo ambiente on-premises |
Permitir acesso desde on-premises |
Não permita o acesso por outra Região da AWS |
Permitir acesso de um endpoint da Amazon VPC em outra Região da AWS usando emparelhamento da Amazon VPC ou o AWS Transit Gateway |
Não faturado |
Faturado |
Para ter mais informações sobre endpoints de gateway, consulte Gateway Amazon VPC endpoints no Guia do AWS PrivateLink.
Considerações ao usar o AWS PrivateLink para Amazon DynamoDB
As considerações sobre a Amazon VPC se aplicam ao AWS PrivateLink para Amazon DynamoDB. Para obter mais informações, consulte Considerações sobre o endpoint de interface e Cotas do AWS PrivateLink no Guia do usuário do AWS PrivateLink. Além disso, aplicam-se as restrições a seguir.
O AWS PrivateLink para Amazon DynamoDB não é compatível com:
-
Transport Layer Security (TLS) 1.1
-
Serviços de Sistema de Nomes de Domínio (DNS) privados e híbridos
No momento, o AWS PrivateLink não comporta endpoints do Amazon DynamoDB Streams.
É possível enviar até 50 mil solicitações por segundo para cada endpoint do AWS PrivateLink habilitado.
nota
Os tempos limite de conectividade de rede com os endpoints do AWS PrivateLink não estão dentro do escopo das respostas de erro do DynamoDB e precisam ser tratados adequadamente pelas aplicações que se conectam aos endpoints do PrivateLink.
Criar um Amazon VPC endpoint
Para criar um endpoint de interface da Amazon VPC, consulte Create an Amazon VPC endpoint no Guia do AWS PrivateLink.
Acessar os endpoints de interface do Amazon DynamoDB
Ao criar um endpoint de interface, o DynamoDB gera dois tipos de nome de DNS do DynamoDB específicos do endpoint: regional e zonal.
-
Os nomes de DNS regionais incluem um ID de endpoint da Amazon VPC exclusivo, um identificador de serviço, a Região da AWS e
vpce.amazonaws.com
no respectivo nome. Por exemplo, para o ID de endpoint da Amazon VPC
, o nome de DNS gerado pode ser semelhante avpce-1a2b3c4d
.vpce-1a2b3c4d-5e6f
.dynamodb.us-east-1.vpce.amazonaws.com -
Os nomes DNS zonais incluem a zona de disponibilidade. Por exemplo,
. Você pode usar essa opção se sua arquitetura isola zonas de disponibilidade. Por exemplo, você pode usar para contenção de falhas ou para reduzir os custos regionais de transferência de dados.vpce-1a2b3c4d-5e6f
-us-east-1a.dynamodb.us-east-1.vpce.amazonaws.com
Os nomes de DNS do DynamoDB específicos do endpoint podem ser resolvidos por meio do domínio de DNS público do DynamoDB.
Acessar tabelas do DynamoDB e operações de API de controle por meio dos endpoints da interface do DynamoDB
É possível usar a AWS CLI ou os SDKs da AWS para acessar as tabelas do DynamoDB e controlar as operações da API por meio dos endpoints de interface do DynamoDB.
Exemplos do AWS CLI
Para acessar as tabelas do DynamoDB ou as operações da API de controle do DynamoDB por meio dos endpoints de interface do DynamoDB em comandos da AWS CLI, use os parâmetros --region
e --endpoint-url
.
Exemplo: Criar um endpoint da 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
Exemplo: Modificar um endpoint da 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
Exemplo: Listar tabelas usando um URL de endpoint
No exemplo a seguir, substitua a região us-east-1
e o nome de DNS do ID de endpoint da VPC vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com
por suas próprias informações.
aws dynamodb --region us-east-1 —endpoint https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com list-tables
Exemplos de AWS SDK
Para acessar tabelas do DynamoDB ou operações de API de controle do DynamoDB por meio de endpoints de interface do DynamoDB ao usar os SDKs da AWS, atualize os SDKs para a versão mais recente. Depois, configure os clientes para usar um URL de endpoint para acessar uma tabela ou uma operação de API de controle do DynamoDB por meio de endpoints de interface do DynamoDB.
Atualizar uma configuração de DNS on-premises
Ao usar nomes de DNS específicos do endpoint para acessar os endpoints de interface do DynamoDB, não é necessário atualizar seu resolvedor de DNS on-premises. É possível resolver o nome de DNS específico do endpoint com o endereço IP privado do endpoint de interface pelo domínio de DNS público do DynamoDB.
Usar endpoints de interface para acessar o DynamoDB sem um endpoint de gateway ou um gateway da internet na Amazon VPC
Os endpoints de interface na Amazon VPC podem rotear aplicações na Amazon VPC e aplicações on-premises para o DynamoDB pela rede da Amazon, conforme ilustrado no diagrama a seguir.
O diagrama ilustra o seguinte:
-
Sua rede on-premises usa o AWS Direct Connect ou o AWS VPN para se conectar à Amazon VPC A.
-
Suas aplicações on-premises e na Amazon VPC A usam nomes de DNS específicos do endpoint para acessar o DynamoDB por meio do endpoint de interface do DynamoDB.
-
As aplicações on-premises enviam dados ao endpoint de interface na Amazon VPC por meio do AWS Direct Connect (ou do AWS VPN). O AWS PrivateLink move os dados do endpoint de interface para o DynamoDB por meio da rede da AWS.
-
As aplicações na Amazon VPC também enviam o tráfego ao endpoint de interface. O AWS PrivateLink move os dados do endpoint de interface para o DynamoDB por meio da rede da AWS.
Usar endpoints de gateway e de interface juntos na mesma Amazon VPC para acessar o DynamoDB
É possível criar endpoints de interface e reter o endpoint de gateway existente na mesma Amazon VPC, como mostra o diagrama a seguir. Ao adotar essa abordagem, você permite que as aplicações na Amazon VPC continuem acessando o DynamoDB por meio do endpoint de gateway, que não é cobrado. Depois, apenas as aplicações on-premises usariam endpoints de interface para acessar o DynamoDB. Para acessar o DynamoDB dessa maneira, é necessário atualizar as aplicações on-premises para usar nomes de DNS específicos do endpoint para DynamoDB.
O diagrama ilustra o seguinte:
-
As aplicações on-premises usam nomes de DNS específicos do endpoint para enviar dados ao endpoint de interface dentro da Amazon VPC por meio do AWS Direct Connect (ou do AWS VPN). O AWS PrivateLink move os dados do endpoint de interface para o DynamoDB por meio da rede da AWS.
-
Usando nomes regionais padrão do DynamoDB, as aplicações na Amazon VPC enviam dados ao endpoint de gateway que se conecta ao DynamoDB pela rede da AWS.
Para ter mais informações sobre endpoints de gateway, consulte Gateway Amazon VPC endpoints no Guia do usuário da Amazon VPC.
Criar uma política de endpoint da Amazon VPC para o DynamoDB
É possível vincular uma política de endpoint ao endpoint da Amazon VPC que controla o acesso ao DynamoDB. Essa política especifica as seguintes informações:
-
A entidade principal do AWS Identity and Access Management (IAM) que pode executar ações
-
As ações que podem ser executadas
-
Os recursos nos quais as ações podem ser executadas
Exemplo: Restringir o acesso a uma tabela específica por meio de um endpoint da Amazon VPC
É possível criar uma política de endpoint que restrinja o acesso somente a tabelas específicas do DynamoDB. Esse tipo de política será útil se houver outros Serviços da AWS na Amazon VPC que usem tabelas. A política de tabela a seguir restringe o acesso somente a
. Para usar essa política de endpoint, substitua DOC-EXAMPLE-TABLE
pelo nome da tabela.DOC-EXAMPLE-TABLE
{ "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/*"] } ] }