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á.
Acessando seu ElastiCache cluster ou grupo de replicação
Suas ElastiCache instâncias da Amazon foram projetadas para serem acessadas por meio de uma instância do Amazon EC2.
Se você executou sua ElastiCache instância em uma Amazon Virtual Private Cloud (Amazon VPC), você pode acessar sua ElastiCache instância a partir de uma instância do Amazon EC2 na mesma Amazon VPC. Ou, usando o emparelhamento de VPC, você pode acessar sua ElastiCache instância de um Amazon EC2 em um Amazon VPC diferente.
Se você executou sua ElastiCache instância no EC2 Classic, permite que a instância do EC2 acesse seu cluster concedendo ao grupo de segurança do Amazon EC2 associado à instância acesso ao seu grupo de segurança de cache. Por padrão, o acesso a um cluster é restrito à conta que o executou.
Conceder acesso a seus clustersou grupo de replicação
Você lançou seu cluster em EC2-VPC
Se você lançou seu cluster em uma Amazon Virtual Private Cloud (Amazon VPC), você pode se conectar ao seu ElastiCache cluster 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.
nota
Se você estiver usando Local Zones (Zonas locais), verifique se você as habilitou. Para obter mais informações, consulte Habilitar zonas locais. Ao fazer isso, sua VPC é estendida para essa zona local e sua VPC tratará a sub-rede como qualquer sub-rede em qualquer outra zona de disponibilidade, e gateways relevantes, tabelas de rota e outras considerações de grupos de segurança serão ajustados automaticamente.
Para conceder entrada na rede de um grupo de segurança da Amazon VPC para um cluster
Faça login no Console de gerenciamento da AWS e abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, 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 ElastiCache uso, esse grupo de segurança será denominado padrão.
-
Escolha a guia Inbound e faça o seguinte:
-
Escolha 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 do Memcached é
11211A porta padrão do Valkey e Redis OSS é6379. -
Na caixa Fonte, escolha Qualquer lugar que tenha o intervalo de portas (0.0.0. 0/0) para que qualquer instância do Amazon EC2 que você executar no seu Amazon VPC possa se conectar aos seus ElastiCache nós.
Importante
Abrindo o ElastiCache cluster para 0.0.0. 0/0 não expõe o cluster à Internet porque ele não tem 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 ElastiCache. Para obter mais informações, consulte Grupos de segurança personalizados.
-
Escolha Salvar.
-
Quando você executa uma instância do Amazon EC2 em sua Amazon VPC, essa instância poderá se conectar ao seu ElastiCache cluster.
Acessando ElastiCache recursos de fora AWS
A Amazon ElastiCache é um AWS serviço que fornece armazenamento de valores-chave na memória baseado em nuvem. O serviço foi projetado para ser acessado exclusivamente de dentro AWS. No entanto, se o ElastiCache cluster estiver hospedado em uma VPC, você poderá usar uma instância do EC2 configurada para Network Address Translation (NAT) com encaminhamento de porta para fornecer acesso externo.
Importante
Essa abordagem deve ser usada somente para fins de teste e desenvolvimento. Para cargas de trabalho de produção que exigem acesso externo, considere usar AWS Site-to-Site VPN ou VPN de AWS cliente em vez disso.
Requisitos
Os seguintes requisitos devem ser atendidos para que você possa acessar seus ElastiCache recursos de fora AWS:
-
O cluster deve residir em uma VPC e ser acessado por meio de uma instância NAT (Conversão de endereços de rede). Não existem exceções para esse requerimento.
-
A instância EC2 de encaminhamento de portas deve ser iniciada na mesma VPC do cluster.
-
A instância EC2 de encaminhamento de portas deve ser iniciada em uma sub-rede pública separada do cluster.
-
Um endereço IP elástico (EIP) deve estar associado à instância do EC2. O recurso de encaminhamento de portas do iptables é usado para encaminhar uma porta na instância para a porta do nó de cache dentro da VPC.
Considerações
As seguintes considerações devem ser mantidas em mente ao acessar seus recursos do ElastiCache de fora do ElastiCache.
-
Os clientes se conectam ao EIP e à porta de cache da instância NAT. O encaminhamento de porta na instância NAT direciona o tráfego ao nó do cluster apropriado.
-
Se um nó de cluster for adicionado ou substituído, as regras de iptables precisarão ser atualizadas para refletir essa alteração.
Limitações
Essa abordagem deve ser usada somente para fins de teste e desenvolvimento. Ela não é recomendada para uso em produção devido às seguintes limitações:
-
A instância NAT está atuando como um proxy entre clientes e vários clusters. A adição de um proxy afeta o desempenho do cluster. O impacto aumenta com o número de clusters que você está acessando por meio da instância NAT.
-
O tráfego dos clientes para a instância NAT não é criptografado. Portanto, você deve evitar o envio de dados confidenciais através da instância NAT.
-
A instância NAT acrescenta a sobrecarga de manter outra instância.
-
A instância NAT serve como um único ponto de falha. Para alta disponibilidade, considere usar um gateway NAT em vez disso.
Como acessar ElastiCache recursos de fora AWS
O procedimento a seguir demonstra como se conectar aos seus ElastiCache recursos usando uma instância NAT.
Estas etapas assumem o seguinte:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6380 -j DNAT --to 10.0.1.231:6379iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6381 -j DNAT --to 10.0.1.232:6379
Em seguida, você precisa da NAT na direção oposta:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 10.0.0.55
Você também precisa habilitar o encaminhamento de IP, que permanece desabilitado por padrão:
sudo sed -i 's/net.ipv4.ip_forward=0/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
sudo sysctl --system
-
Você está acessando um cluster Memcached com:
-
Endereço IP: 10.0.1.230
-
Porta Memcached padrão: 11211
-
Grupo de segurança: *10\.0\.0\.55*
-
-
Você está acessando um cluster do Valkey ou Redis OSS com:
-
Endereço IP: 10.0.1.230
-
Porta padrão: 6379
-
Grupo de segurança: sg-bd56b7da
-
AWS endereço IP da instância — 198.99.100.27
-
-
Seu cliente confiável possui o endereço IP 198.51.100.27.
-
Sua instância NAT possui o endereço IP elástico 203.0.113.73.
-
Sua instância NAT tem o security group sg-ce56b7a9.
Para se conectar aos seus ElastiCache recursos usando uma instância NAT
-
Execute uma instância do EC2 na mesma VPC do seu cluster, mas em uma sub-rede pública. Essa instância atuará como seu NAT/port-forwarding anfitrião.
Use uma AMI atual do Amazon Linux 2023 (ou outra AMI Linux de sua escolha). Selecione um tamanho de instância com base no tráfego esperado. A instância precisa de uma sub-rede pública, um endereço IP elástico e o encaminhamento de IP habilitados.
Para obter informações sobre o lançamento de instâncias do EC2, consulte Iniciar uma instância no Guia do usuário do Amazon Elastic Compute Cloud.
-
Crie regras de grupo de segurança para o cluster e a instância NAT.
O grupo de segurança da instância NAT e a instância do cluster devem ter as seguintes regras:
-
Duas regras de entrada
-
Com o Memcached, a primeira regra é permitir conexões TCP de clientes confiáveis com cada porta de cache reencaminhada da instância NAT (11211 a 11213).
-
Com Valkey e Redis OSS, a primeira regra é permitir conexões TCP de clientes confiáveis com cada porta de cache reencaminhada da instância NAT (6379 a 6381).
-
Uma segunda regra para permitir acesso SSH a clientes confiáveis.
Grupo de segurança da instância NAT: regras de entrada com o Memcached Tipo Protocolo Intervalo de portas Fonte Regra personalizada de TCP TCP 11211-11213 198,51,100. 27/32 SSH TCP 22 198,51,100. 27/32 Grupo de segurança da instância NAT: regras de entrada com Valkey ou Redis OSS Tipo Protocolo Intervalo de portas Fonte Regra personalizada de TCP TCP 6379-6380 198,51,100. 27/32 SSH TCP 22 203,0.113. 73/32 -
-
Com o Memcached, uma regra de saída para permitir conexões TCP para a porta de cache (11211).
Grupo de segurança da instância NAT: regra de saída Tipo Protocolo Intervalo de portas Destino Regra personalizada de TCP TCP 11211 sg-ce56b7a9 (grupo de segurança de instância NAT) -
Com o Valkey ou Redis OSS, uma regra de saída para permitir conexões TCP para a porta de cache (6379).
Grupo de segurança da instância NAT: regra de saída Tipo Protocolo Intervalo de portas Destino Regra personalizada de TCP TCP 6379 sg-ce56b7a9 (grupo de segurança de instância NAT) -
Com o Memcached, uma regra de entrada para o grupo de segurança do cluster que permite conexões TCP da instância NAT com a porta de cache (11211).
Grupo de segurança da instância do cluster: regra de entrada Tipo Protocolo Intervalo de portas Fonte Regra personalizada de TCP TCP 11211 sg-ce56b7a9 (grupo de segurança de instância NAT) -
Com o Valkey ou Redis OSS, uma regra de entrada para o grupo de segurança do cluster que permite conexões TCP da instância NAT com a porta de cache (6379).
Grupo de segurança da instância do cluster: regra de entrada Tipo Protocolo Intervalo de portas Fonte Regra personalizada de TCP TCP 6379 sg-ce56b7a9 (grupo de segurança de instância NAT)
-
-
Valide as regras.
-
Confirme se o cliente confiável é capaz de fazer SSH para a instância NAT.
-
Confirme se o cliente confiável pode se conectar ao cluster a partir da instância NAT.
-
-
Memcached
Adicione uma regra iptables à instância NAT.
Uma regra iptables deve ser adicionada à tabela NAT para cada nó no cluster para encaminhar a porta de cache da instância NAT ao nó do cluster. Um exemplo pode ser o seguinte:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11211 -j DNAT --to 10.0.1.230:11211O número da porta deve ser exclusivo para cada nó no cluster. Por exemplo, se estiver trabalhando com um cluster Memcached de três nós usando as portas 11211 - 11213, as regras seriam as seguintes:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11211 -j DNAT --to 10.0.1.230:11211 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11212 -j DNAT --to 10.0.1.231:11211 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11213 -j DNAT --to 10.0.1.232:11211Confirme se o cliente confiável pode se conectar ao cluster.
O cliente confiável deve se conectar ao EIP associado à instância NAT e à porta de cluster correspondente ao nó de cluster apropriado. Por exemplo, a string de conexão para o PHP pode ser o seguinte:
$memcached->connect( '203.0.113.73', 11211 ); $memcached->connect( '203.0.113.73', 11212 ); $memcached->connect( '203.0.113.73', 11213 );Um cliente telnet também pode ser usado para verificar a conexão. Por exemplo:
telnet 203.0.113.73 11211 telnet 203.0.113.73 11212 telnet 203.0.113.73 11213Valkey ou Redis OSS
Adicione uma regra iptables à instância NAT.
Uma regra iptables deve ser adicionada à tabela NAT para cada nó no cluster para encaminhar a porta de cache da instância NAT ao nó do cluster. Um exemplo pode ser o seguinte:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6379 -j DNAT --to 10.0.1.230:6379O número da porta deve ser exclusivo para cada nó no cluster. Por exemplo, se estiver trabalhando com um cluster do Redis OSS de três nós usando as portas 6379 a 6381, as regras seriam as seguintes:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6379 -j DNAT --to 10.0.1.230:6379 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6380 -j DNAT --to 10.0.1.231:6379 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6381 -j DNAT --to 10.0.1.232:6379Confirme se o cliente confiável pode se conectar ao cluster.
O cliente confiável deve se conectar ao EIP associado à instância NAT e à porta de cluster correspondente ao nó de cluster apropriado. Por exemplo, a string de conexão para o PHP pode ser o seguinte:
redis->connect( '203.0.113.73', 6379 ); redis->connect( '203.0.113.73', 6380 ); redis->connect( '203.0.113.73', 6381 );Um cliente telnet também pode ser usado para verificar a conexão. Por exemplo:
telnet 203.0.113.73 6379 telnet 203.0.113.73 6380 telnet 203.0.113.73 6381 -
Salve a configuração iptables.
Salve as regras depois de testá-las e verificá-las. Se você estiver usando uma distribuição Redhat-based Linux (como o Amazon Linux), execute o seguinte comando:
service iptables save
Tópicos relacionados
Os tópicos a seguir podem ser de seu interesse.