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á.
As instâncias do MemoryDB são projetadas para acesso por meio de uma instância do Amazon EC2.
Você pode acessar seu nó do MemoryDB de uma instância do Amazon EC2 na mesma Amazon VPC. Ou, usando o emparelhamento da VPC, você pode acessar seu nó do MemoryDB de um Amazon EC2 em uma Amazon VPC diferente.
Conceder acesso a seus clusters
Você pode se conectar ao seu cluster do MemoryDB somente a partir de uma instância do Amazon EC2 que esteja sendo executada na mesma Amazon VPC. Nesse caso, você precisará conceder entrada de rede ao cluster.
Para conceder entrada na rede de um grupo de segurança da Amazon VPC para um cluster
Faça login no AWS Management Console e abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
No painel de navegação esquerdo, em Network & Security, escolha Security Groups.
-
Na lista de grupos de segurança, escolha o de segurança para a sua Amazon VPC. A menos que você tenha criado um grupo de segurança para uso com o MemoryDB, esse grupo de segurança será chamado default.
-
Escolha a guia Inbound e faça o seguinte:
-
Selecione a opção Editar.
-
Escolha Adicionar regra.
-
Na coluna Tipo, escolha Regra TCP personalizada.
-
Na caixa Port range, digite o número da porta para o nó do cluster. Esse número deve ser o mesmo que você especificou quando você executou o cluster. A porta padrão para Valkey e Redis OSS é
6379
. -
Na caixa Fonte, escolha Qualquer lugar, que tem o intervalo de porta (0.0.0.0/0) para que qualquer instância do Amazon EC2 que você inicie na sua Amazon VPC possa se conectar aos seus nós do MemoryDB.
Importante
Abrir o cluster do MemoryDB para 0.0.0.0/0 não expõe o cluster à Internet, pois ele não possui um endereço IP público e, portanto, não pode ser acessado de fora da VPC. No entanto, o grupo de segurança padrão pode ser aplicado a outras instâncias do Amazon EC2 na conta do cliente, e essas instâncias podem ter um endereço IP público. Se eles estiverem executando algo na porta padrão, esse serviço poderá ser exposto involuntariamente. Portanto, recomendamos criar um grupo de segurança de VPC que será usado exclusivamente pelo MemoryDB. Para obter mais informações, consulte Grupos de segurança personalizados.
-
Escolha Salvar.
-
Quando você ativa uma instância do Amazon EC2 na sua Amazon VPC, essa instância poderá se conectar ao seu cluster do MemoryDB.
Acessar recursos do MemoryDB de fora da AWS
MemoryDB é um serviço projetado para ser usado internamente em sua VPC. O acesso externo não é recomendado devido à latência do tráfego da Internet e preocupações de segurança. No entanto, se o acesso externo ao MemoryDB for necessário para fins de teste ou desenvolvimento, poderá ser feito por meio de uma VPN.
Usando o cliente VPN da AWS, você permite o acesso externo aos seus nós do MemoryDB com os seguintes benefícios:
Acesso restrito a usuários aprovados ou chaves de autenticação;
Tráfego criptografado entre o cliente de VPN e o endpoint da VPN da AWS;
Acesso limitado a sub-redes ou nós específicos;
Fácil revogação do acesso de usuários ou chaves de autenticação;
Conexões de auditoria;
Os procedimentos a seguir demonstram como:
Tópicos
Criar uma autoridade de certificação
É possível criar uma Autoridade de certificação (CA) usando diferentes técnicas ou ferramentas. Sugerimos o utilitário easy-rsa, fornecido pelo projeto OpenVPN
Para criar os certificados iniciais, abra um terminal e faça o seguinte:
git clone
https://github.com/OpenVPN/easy-rsacd easy-rsa
./easyrsa3/easyrsa init-pki
./easyrsa3/easyrsa build-ca nopass
./easyrsa3/easyrsa build-server-full server nopass
./easyrsa3/easyrsa build-client-full client1.domain.tld nopass
Um subdiretório pki com os certificados será criado sob easy-rsa.
Envie o certificado do servidor para o AWS Certificate Manager (ACM):
No console do ACM, selecione Gerenciador de certificados.
Selecione Importar certificado.
Informe o certificado de chave pública disponível no arquivo
easy-rsa/pki/issued/server.crt
no campo Corpo do certificado.Cole a chave privada disponível no
easy-rsa/pki/private/server.key
no campo Chave privada do certificado. Selecione todas as linhas entreBEGIN AND END PRIVATE KEY
(incluindo as linhasBEGIN
eEND
).Cole a chave pública da CA disponível no arquivo
easy-rsa/pki/ca.crt
no campo Cadeia de certificados.Selecione Revisar e importar.
Selecione Importar.
Para enviar os certificados do servidor ao ACM usando a CLI da AWS, execute o seguinte comando:
aws acm import-certificate --certificate fileb://easy-rsa/pki/issued/server.crt --private-key file://easy-rsa/pki/private/server.key --certificate-chain file://easy-rsa/pki/ca.crt --region
region
Anote o ARN do certificado para uso futuro.
Configuração de componentes do cliente VPN da AWS
Usar o AWS Console
No console da AWS, selecione Serviços e, depois, VPC.
Em Rede privada virtual (VPN), selecione Endpoints do Client VPN e faça o seguinte:
Configuração de componentes do cliente VPN da AWS
Selecione Criar endpoint do Client VPN.
Especifique as seguintes opções:
CIDR de IPv4 de cliente: use uma rede privada com uma máscara de rede de pelo menos intervalo /22. Verifique se a sub-rede selecionada não entra em conflito com os endereços das redes da VPC. Exemplo: 10.0.0.0/22.
Em ARN do certificado de servidor, selecione o ARN do certificado importado anteriormente.
Selecione Usar autenticação mútua.
-
Em ARN do certificado de cliente, selecione o ARN do certificado importado anteriormente.
-
Selecione Criar endpoint do Client VPN.
Como usar a AWS CLI
Execute o seguinte comando:
aws ec2 create-client-vpn-endpoint --client-cidr-block "10.0.0.0/22" --server-certificate-arn arn:aws:acm:us-east-1:012345678912:certificate/0123abcd-ab12-01a0-123a-123456abcdef --authentication-options Type=certificate-authentication,,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:us-east-1:012345678912:certificate/123abcd-ab12-01a0-123a-123456abcdef} --connection-log-options Enabled=false
Resultado do exemplo:
"ClientVpnEndpointId": "cvpn-endpoint-0123456789abcdefg",
"Status": {
"Code": "pending-associate"
},
"DnsName": "cvpn-endpoint-0123456789abcdefg.prod.clientvpn.us-east-1.amazonaws.com"
}
Associar as redes de destino ao endpoint de VPN
Selecione o novo endpoint de VPN e, depois, selecione a guia Associações.
Selecione Associar e especifique as opções a seguir.
VPC: selecione a VPC do cluster do MemoryDB.
Selecione uma das redes do cluster do MemoryDB. Em caso de dúvida, revise as redes nos Grupos de sub-redes no painel do MemoryDB.
Selecione Associar. Se necessário, repita as etapas para as redes restantes.
Como usar a AWS CLI
Execute o seguinte comando:
aws ec2 associate-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --subnet-id subnet-0123456789abdcdef
Resultado do exemplo:
"Status": {
"Code": "associating"
},
"AssociationId": "cvpn-assoc-0123456789abdcdef"
}
Analisar o grupo de segurança de VPN
O endpoint de VPN adotará automaticamente o grupo de segurança padrão da VPC. Verifique as regras de entrada e saída e confirme se o grupo de segurança permite o tráfego da rede VPN (definido nas configurações de endpoint de VPN) para as redes do MemoryDB nas portas de serviço (por padrão, 6379 para Redis).
Se você precisar alterar o grupo de segurança atribuído ao endpoint de VPN, faça o seguinte:
Selecione o grupo de segurança atual.
Selecione Apply Security Group (Aplicar grupo de segurança).
Selecione o novo grupo de segurança.
Como usar a AWS CLI
Execute o seguinte comando:
aws ec2 apply-security-groups-to-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefga --vpc-id vpc-0123456789abdcdef --security-group-ids sg-0123456789abdcdef
Resultado do exemplo:
"SecurityGroupIds": [
"sg-0123456789abdcdef"
]
}
nota
O grupo de segurança do MemoryDB também precisa permitir o tráfego proveniente dos clientes de VPN. Os endereços dos clientes serão mascarados com o endereço do endpoint de VPN, de acordo com a rede VPC. Portanto, considere a rede VPC (não a rede dos clientes de VPN) ao criar a regra de entrada no grupo de segurança do MemoryDB.
Autorizar o acesso de VPN às redes de destino
Na guia Autorização, selecione Autorizar entrada e especifique o seguinte:
Rede de destino para habilitar o acesso: use 0.0.0.0/0 para permitir o acesso a qualquer rede (incluindo a Internet) ou restringir as redes/hosts do MemoryDB.
Em Conceder acesso a:, selecione Permitir acesso a todos os usuários.
Selecione Adicionar regras de autorização.
Como usar a AWS CLI
Execute o seguinte comando:
aws ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --target-network-cidr 0.0.0.0/0 --authorize-all-groups
Resultado do exemplo:
{
"Status": {
"Code": "authorizing"
}
}
Permitir o acesso à Internet dos clientes de VPN
Se você precisar navegar na Internet por meio da VPN, será necessário criar uma rota adicional. Selecione a guia Tabela de rotas e, depois, selecione Criar rota:
Destino da rota: 0.0.0.0/0
ID de sub-rede da VPC de destino: selecione uma das sub-redes associadas com acesso à Internet.
Selecione Criar rota.
Como usar a AWS CLI
Execute o seguinte comando:
aws ec2 create-client-vpn-route --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --destination-cidr-block 0.0.0.0/0 --target-vpc-subnet-id subnet-0123456789abdcdef
Resultado do exemplo:
{
"Status": {
"Code": "creating"
}
}
Configurar o cliente de VPN
No painel do cliente VPN da AWS, selecione o endpoint de VPN criado recentemente e selecione Baixar configuração do cliente. Copie o arquivo de configuração e os arquivos easy-rsa/pki/issued/client1.domain.tld.crt
e easy-rsa/pki/private/client1.domain.tld.key
. Edite o arquivo de configuração e altere ou adicione os seguintes parâmetros:
cert: adicione uma nova linha com o parâmetro cert apontando para o arquivo
client1.domain.tld.crt
. Use o caminho completo para o arquivo. Exemplo:cert /home/user/.cert/client1.domain.tld.crt
cert: key: adicione uma nova linha com a chave de parâmetro apontando para o arquivo
client1.domain.tld.key
. Use o caminho completo para o arquivo. Exemplo:key /home/user/.cert/client1.domain.tld.key
Estabeleça a conexão VPN com o comando: sudo openvpn --config downloaded-client-config.ovpn
Revogar acesso
Se você precisar invalidar o acesso de uma chave de cliente específica, a chave precisará ser revogada na CA. Depois, envie a lista de revogação para o cliente VPN da AWS.
Revogar a chave com easy-rsa:
cd easy-rsa
./easyrsa3/easyrsa revoke client1.domain.tld
Digite "sim" para continuar ou qualquer outra entrada para cancelar.
Continue with revocation: `yes` ... * `./easyrsa3/easyrsa gen-crl
Uma CRL atualizada foi criada. Arquivo de CRL:
/home/user/easy-rsa/pki/crl.pem
Importação da lista de revogação para o cliente VPN da AWS:
No AWS Management Console, selecione Serviços e, depois, VPC.
Selecione Endpoints do Client VPN.
Selecione o endpoint do Client VPN e, depois, selecione Ações -> Importar CRL de certificado de cliente.
Cole o conteúdo do arquivo
crl.pem
.
Como usar a AWS CLI
Execute o seguinte comando:
aws ec2 import-client-vpn-client-certificate-revocation-list --certificate-revocation-list file://./easy-rsa/pki/crl.pem --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg
Resultado do exemplo:
Example output:
{
"Return": true
}