Como usar o Amazon Keyspaces com endpoint da VPC de interface - Amazon Keyspaces (para Apache Cassandra)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como usar o Amazon Keyspaces com endpoint da VPC de interface

Os endpoints da VPC de interface permitem a comunicação privada entre a nuvem privada virtual (VPC) em execução no Amazon VPC e no Amazon Keyspaces. Os endpoints VPC de interface são alimentados por AWS PrivateLink, que é um AWS serviço que permite a comunicação privada entre VPCs serviços e. AWS

AWS PrivateLink permite isso usando uma interface de rede elástica com endereços IP privados em sua VPC para que o tráfego de rede não saia da rede Amazon. Os endpoints da VPC de interface não exigem um gateway da Internet, dispositivo NAT, conexão VPN ou conexão do AWS Direct Connect . Para obter mais informações, consulte a Amazon Virtual Private Cloud e os Endpoints da VPC de interface (AWS PrivateLink).

Como usar o endpoint da VPC para o Amazon Keyspaces

Você pode criar uma endpoint da VPC de interface para que o tráfego entre o Amazon Keyspaces e seus recursos do Amazon VPC comece a fluir pelo endpoint da VPC de interface. Para começar, siga as etapas para criar um endpoint de interface. Em seguida, edite o grupo de segurança associado ao endpoint que você criou na etapa anterior e configure uma regra de entrada para a porta 9142. Para obter mais informações consulte Adicionar, remover e atualizar regras.

Para obter um step-by-step tutorial sobre como configurar uma conexão com o Amazon Keyspaces por meio de um VPC endpoint, consulte. Tutorial: Conecte-se ao Amazon Keyspaces usando uma interface VPC endpoint Para saber como configurar o acesso entre contas para recursos do Amazon Keyspaces separados de aplicativos Contas da AWS diferentes em uma VPC, consulte. Configure o acesso entre contas para Amazon Keyspaces e endpoints da VPC

Como preencher entradas da tabela system.peers com informações do endpoint da VPC de interface

Os drivers do Apache Cassandra usam a tabela system.peers para consultar as informações do nó sobre o cluster. Os drivers do Cassandra usam as informações do nó para balancear a carga das conexões e repetir as operações. O Amazon Keyspaces preenche nove entradas na tabela system.peers automaticamente para clientes que se conectam por meio do endpoint público.

Para fornecer aos clientes uma conexão por meio de endpoints da VPC de interface com funcionalidade semelhante, o Amazon Keyspaces preenche a tabela system.peers em sua conta com uma entrada para cada zona de disponibilidade em que um endpoint da VPC está disponível. Para pesquisar e armazenar endpoints da VPC de interface disponíveis na tabela system.peers, o Amazon Keyspaces exige que você conceda à entidade IAM usada para se conectar ao Amazon Keyspaces permissões de acesso para consultar sua VPC para obter informações sobre o endpoint e a interface de rede.

Importante

Preencher a tabela system.peers com os endpoints da VPC de interface disponível melhora o balanceamento de carga e aumenta o throughput de leitura/gravação. É recomendado para todos os clientes que acessam o Amazon Keyspaces usando endpoint da VPC de interface e é obrigatório para o Apache Spark.

Para conceder à entidade IAM usada para se conectar ao Amazon Keyspaces permissões para pesquisar as informações necessárias do endpoint da VPC de interface, você pode atualizar seu perfil do IAM ou política de usuário existente ou criar uma nova política do IAM, conforme mostrado no exemplo a seguir.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"ListVPCEndpoints", "Effect":"Allow", "Action":[ "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcEndpoints" ], "Resource":"*" } ] }
nota

As políticas gerenciadas AmazonKeyspacesFullAccess incluem AmazonKeyspacesReadOnlyAccess_v2 as permissões necessárias para permitir que o Amazon Keyspaces acesse a EC2 instância da Amazon para ler informações sobre os endpoints VPC da interface disponíveis.

Para confirmar se a política foi configurada corretamente, consulte a tabela system.peers para ver as informações de rede. Se a tabela system.peers estiver vazia, isso pode indicar que a política não foi configurada com êxito ou que você excedeu a cota de taxa de solicitação para as ações da API DescribeNetworkInterfaces e DescribeVPCEndpoints. DescribeVPCEndpoints se enquadra na categoria Describe* e é considerada uma ação não mutante. DescribeNetworkInterfaces se enquadra no subconjunto de ações não filtradas e não paginadas e não mutantes, e diferentes cotas se aplicam. Para obter mais informações, consulte Solicitar tamanhos de repositórios de tokens e taxas de recarga na Amazon EC2 API Reference.

Se você vir uma tabela vazia, tente novamente alguns minutos depois para descartar problemas de cota de taxa de solicitação. Para verificar se você configurou os endpoints da VPC corretamente, consulte Minha conexão de endpoint da VPC não funciona corretamente. Se sua consulta retornar resultados da tabela, sua política foi configurada corretamente.

Como controlar o acesso aos endpoints da VPC de interface para o Amazon Keyspaces

Com as políticas de endpoint da VPC, você pode controlar o acesso aos recursos de duas maneiras:

  • Política do IAM: você pode controlar as solicitações, os usuários ou os grupos que têm permissão para acessar o Amazon Keyspaces por meio de um endpoint da VPC específico. É possível fazer isso usando uma chave de condição na política anexada a um usuário, grupo ou perfil do IAM.

  • Política da VPC: você pode controlar quais endpoints da VPC têm acesso aos recursos do Amazon Keyspaces anexando políticas a eles. Para restringir o acesso a um espaço de chaves ou a uma tabela específica para permitir apenas o tráfego proveniente de um endpoint da VPC específico, edite a política do IAM existente que restringe o acesso aos recursos e adicione esse endpoint da VPC.

Veja a seguir exemplos de políticas de endpoint para acessar os recursos do Amazon Keyspaces.

  • Exemplo de política do IAM: restringir todo o acesso a uma tabela específica do Amazon Keyspaces, a menos que o tráfego venha do endpoint da VPC especificado, esse exemplo de política pode ser anexado a um usuário, um perfil ou um grupo do IAM. Ela restringe o acesso a uma tabela específica do Amazon Keyspaces, a menos que o tráfego de entrada seja originado de um endpoint da VPC específico.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "UserOrRolePolicyToDenyAccess", "Action": "cassandra:*", "Effect": "Deny", "Resource": [ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ], "Condition": { "StringNotEquals" : { "aws:sourceVpce": "vpce-abc123" } } } ] }
    nota

    Para restringir o acesso a uma tabela específica, você também deve incluir o acesso às tabelas do sistema. As tabelas do sistema são somente leitura.

  • Exemplo de política de VPC: acesso somente leitura: esse exemplo de política pode ser anexado a um endpoint da VPC. (Para obter mais informações, consulte Como controlar o acesso aos recursos da Amazon VPC). Ela restringe as ações ao acesso somente de leitura aos recursos do Amazon Keyspaces por meio do endpoint da VPC ao qual está conectada.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ReadOnly", "Principal": "*", "Action": [ "cassandra:Select" ], "Effect": "Allow", "Resource": "*" } ] }
  • Exemplo de política de VPC: restringir o acesso a uma tabela específica do Amazon Keyspaces: esse exemplo de política pode ser anexado a um endpoint da VPC. Ela restringe o acesso a uma tabela específica por meio do endpoint da VPC ao qual está anexada.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "RestrictAccessToTable", "Principal": "*", "Action": "cassandra:*", "Effect": "Allow", "Resource": [ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }
    nota

    Para restringir o acesso a uma tabela específica, você também deve incluir o acesso às tabelas do sistema. As tabelas do sistema são somente leitura.

Disponibilidade

O Amazon Keyspaces oferece suporte ao uso de endpoints VPC de interface em todos os lugares em que o serviço Regiões da AWS está disponível. Para obter mais informações, consulte Endpoints de serviço para Amazon Keyspaces.

Políticas de endpoint de VPC e recuperação do Amazon point-in-time Keyspaces (PITR)

Se você estiver usando políticas do IAM com chaves de condição para restringir o tráfego de entrada, a operação de restauração da tabela poderá falhar. Por exemplo, se você restringir o tráfego de origem a endpoints da VPC específicos usando chaves de condição aws:SourceVpce, a operação de restauração da tabela falhará. Para permitir que o Amazon Keyspaces execute uma operação de restauração em nome de sua entidade principal, você deve adicionar uma chave de condição aws:ViaAWSService à sua política do IAM. A chave de aws:ViaAWSService condição permite o acesso quando qualquer AWS serviço faz uma solicitação usando as credenciais do diretor. Para obter mais informações, consulte Elementos de política JSON do IAM: chave de condição no Guia do usuário do IAM. A política a seguir é um exemplo disso.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"CassandraAccessForVPCE", "Effect":"Allow", "Action":"cassandra:*", "Resource":"*", "Condition":{ "Bool":{ "aws:ViaAWSService":"false" }, "StringEquals":{ "aws:SourceVpce":[ "vpce-12345678901234567" ] } } }, { "Sid":"CassandraAccessForAwsService", "Effect":"Allow", "Action":"cassandra:*", "Resource":"*", "Condition":{ "Bool":{ "aws:ViaAWSService":"true" } } } ] }

Erros e avisos comuns

Se você estiver usando a Amazon Virtual Private Cloud e se conectar ao Amazon Keyspaces, talvez veja o seguinte aviso.

Control node cassandra.us-east-1.amazonaws.com/1.111.111.111:9142 has an entry for itself in system.peers: this entry will be ignored. This is likely due to a misconfiguration; please verify your rpc_address configuration in cassandra.yaml on all nodes in your cluster.

Esse aviso ocorre porque a tabela system.peers contém entradas para todos os endpoint da VPC da Amazon que o Amazon Keyspaces tem permissão para visualizar, incluindo o endpoint da VPC da Amazon ao qual você está conectado. Você pode ignorar esse aviso com segurança.

Para outros erros, consulte Minha conexão de endpoint da VPC não funciona corretamente.