

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
<a name="accessing-elasticache"></a>

Suas ElastiCache instâncias da Amazon foram projetadas para serem acessadas por meio de uma EC2 instância da Amazon.

Se você lançou sua ElastiCache instância em uma Amazon Virtual Private Cloud (Amazon VPC), você pode acessar sua ElastiCache instância de uma instância da Amazon na EC2 mesma Amazon VPC. Ou, usando o emparelhamento de VPC, você pode acessar sua ElastiCache instância de uma Amazon EC2 em uma Amazon VPC diferente.

Se você lançou sua ElastiCache instância no EC2 Classic, você permite que a EC2 instância acesse seu cluster concedendo ao grupo de EC2 segurança da Amazon 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.

**Topics**
+ [

## Concessão de acesso ao clusterou grupo de replicação
](#grant-access)

## Concessão de acesso ao clusterou grupo de replicação
<a name="grant-access"></a>

### Você lançou seu cluster em EC2 -VPC
<a name="authorize-access-vpc"></a>

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 EC2 instância da Amazon 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](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/using-regions-availability-zones.html#opt-in-local-zone). 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**

1. Faça login no Console de gerenciamento da AWS e abra o EC2 console da Amazon em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, em **Network & Security**, escolha **Security Groups**.

1. 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*.

1. Escolha a guia **Inbound** e faça o seguinte:

   1. Escolha **Editar**.

   1. Escolha **Adicionar regra**.

   1. Na coluna **Tipo**, escolha **Regra TCP personalizada**.

   1. 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 é **11211** A porta padrão do Valkey e Redis OSS é **6379**.

   1. Na caixa **Fonte**, escolha **Qualquer lugar** que tenha o intervalo de portas (0.0.0.0/0) para que qualquer EC2 instância da Amazon que você iniciar na sua Amazon VPC possa se conectar aos seus nós. ElastiCache 
**Importante**  
Abrir o ElastiCache cluster para 0.0.0.0/0 não o expõe à 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 EC2 instâncias da Amazon 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#creating-your-own-security-groups).

   1. Escolha **Salvar**.

Quando você executa uma EC2 instância da Amazon em sua Amazon VPC, essa instância poderá se conectar ao seu ElastiCache cluster.

### Acessando ElastiCache recursos de fora AWS
<a name="access-from-outside-aws"></a>

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 de Network Address Translation (NAT) para fornecer acesso externo.

#### Requisitos
<a name="access-from-outside-aws-requirements"></a>

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 NAT deve ser executada na mesma VPC que o cluster.
+ A instância NAT deve ser iniciada em uma sub-rede pública separada do cluster.
+ Um endereço IP elástico (EIP) deve ser associado à instância NAT. O recurso de encaminhamento de porta de iptables é usado para encaminhar uma porta na instância NAT à porta do nó de cache na VPC.

#### Considerações
<a name="access-from-outside-aws-considerations"></a>

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
<a name="access-from-outside-aws-limitations"></a>

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 obter informações sobre como configurar o NAT de alta disponibilidade na VPC, consulte [Alta disponibilidade para instâncias NAT da Amazon VPC: um exemplo](https://aws.amazon.com/articles/2781451301784570).

#### Como acessar ElastiCache recursos de fora AWS
<a name="access-from-outside-aws-how-to"></a>

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:6379`
+ `iptables -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: *\$110\$1.0\$1.0\$1.55\$1*
+ 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**

1. Crie uma instância NAT na mesma VPC que o seu cluster, mas em uma sub-rede pública.

   Por padrão, o assistente da VPC iniciará um tipo de nó *cache.m1.small*. Você deve selecionar um tamanho de nó conforme as suas necessidades. Você deve usar o EC2 NAT AMI para poder acessar ElastiCache de fora AWS.

   Para obter informações sobre como criar uma instância NAT, consulte [Instâncias NAT no Guia](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) do usuário da AWS VPC.

1. 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**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonElastiCache/latest/dg/accessing-elasticache.html)  
**Grupo de segurança da instância NAT: regras de entrada com Valkey ou Redis OSS**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonElastiCache/latest/dg/accessing-elasticache.html)
   + 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**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonElastiCache/latest/dg/accessing-elasticache.html)
   + 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**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonElastiCache/latest/dg/accessing-elasticache.html)
   + 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**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonElastiCache/latest/dg/accessing-elasticache.html)
   + 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**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonElastiCache/latest/dg/accessing-elasticache.html)

1. 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.

1. **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:11211
   ```

   O 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:11211
   ```

   Confirme 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 11213
   ```

   **Valkey 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:6379
   ```

   O 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:6379
   ```

   Confirme 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
   ```

1. Salve a configuração iptables.

   Salve as regras depois de testá-las e verificá-las. Se você estiver usando uma distribuição Linux baseada no Redhat (como o Amazon Linux), execute o seguinte comando:

   ```
   service iptables save
   ```

#### Tópicos relacionados
<a name="access-from-outside-aws-see-also"></a>

Os tópicos a seguir podem ser de seu interesse.
+ [Padrões de acesso para acessar um cache do ElastiCache em um Amazon VPC](elasticache-vpc-accessing.md)
+ [Acesso a um cache do ElastiCache a partir de uma aplicação executada no datacenter de um cliente](elasticache-vpc-accessing.md#elasticache-vpc-accessing-data-center)
+ [Instâncias NAT](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
+ [Configurando clientes ElastiCache ](ClientConfig.md)
+ [Alta disponibilidade para instâncias NAT da Amazon VPC: um exemplo](https://aws.amazon.com/articles/2781451301784570)