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á.
ElastiCache melhores práticas e estratégias de armazenamento em cache
Abaixo, você encontra as melhores práticas recomendadas para a Amazon ElastiCache. Seguir essas práticas melhora o desempenho e aumenta a confiabilidade do cache.
Tópicos
- Melhores práticas gerais
- Comandos Valkey, Redis e Memcached suportados OSS e restritos
- OSSConfiguração e limites do Valkey e do Redis
- IPv6exemplos de clientes para Valkey, Redis OSS e Memcached
- Melhores práticas para clientes (Valkey e RedisOSS)
- Melhores práticas para clientes (Memcached)
- TLSclusters de pilha ElastiCache dupla habilitados
- Gerenciando a memória reservada para Valkey e Redis OSS
- Práticas recomendadas ao trabalhar com clusters autoprojetados do Valkey e do Redis OSS
- Estratégias de armazenamento em cache para Memcached
TLSclusters de pilha ElastiCache dupla habilitados
Quando TLS está habilitado para ElastiCache clusters, as funções de descoberta de clusters (cluster slots
cluster shards
, e cluster nodes
para Redis) ou config get cluster
para Memcached retornam nomes de host em vez de. IPs Os nomes de host são então usados em vez de se conectar IPs ao ElastiCache cluster e realizar um TLS handshake. Isso significa que os clientes não serão afetados pelo parâmetro de descoberta de IP. Para clusters TLS habilitados, o parâmetro IP Discovery não tem efeito no protocolo IP preferido. Em vez disso, o protocolo IP usado será determinado pelo protocolo IP que o cliente prefere ao resolver DNS nomes de host.
Clientes Java
Ao se conectar a partir de um ambiente Java que suporte ambos IPv4 eIPv6, por padrão, o Java preferirá IPv4 a IPv6 compatibilidade com versões anteriores. No entanto, a preferência do protocolo IP é configurável por meio dos JVM argumentos. Para preferirIPv4, o JVM aceita -Djava.net.preferIPv4Stack=true
e o preferir IPv6 definem-Djava.net.preferIPv6Stack=true
. A configuração -Djava.net.preferIPv4Stack=true
significa que JVM eles não farão mais nenhuma IPv6 conexão. Para Valkey ou RedisOSS, isso inclui aqueles para outros aplicativos que não sejam Valkey e não Redis. OSS
Preferências de nível de host
Em geral, se o cliente ou o tempo de execução do cliente não fornecerem opções de configuração para definir uma preferência de protocolo IP, ao executar a DNS resolução, o protocolo IP dependerá da configuração do host. Por padrão, a maioria dos hosts prefere IPv6IPv4, mas essa preferência pode ser configurada no nível do host. Isso afetará todas as DNS solicitações desse host, não apenas as dos ElastiCache clusters.
Hosts Linux
Para Linux, uma preferência de protocolo IP pode ser configurada modificando o arquivo do gai.conf
. O arquivo do gai.conf
pode ser encontrado em /etc/gai.conf
. Se não houver gai.conf
especificado, um exemplo deve estar disponível em /usr/share/doc/glibc-common-x.xx/gai.conf
, o qual pode ser copiado em /etc/gai.conf
, e a configuração padrão não deverá ser comentada. Para atualizar a configuração de sua preferência IPv4 ao se conectar a um ElastiCache cluster, atualize a precedência do CIDR intervalo que abrange o cluster IPs para estar acima da precedência das conexões padrão. IPv6 Por padrão, IPv6 as conexões têm precedência de 40. Por exemplo, supondo que o cluster esteja localizado em uma sub-rede com CIDR 172.31.0. 0:0 /16, a configuração abaixo faria com que os clientes preferissem conexões com esse cluster. IPv4
label ::1/128 0 label ::/0 1 label 2002::/16 2 label ::/96 3 label ::ffff:0:0/96 4 label fec0::/10 5 label fc00::/7 6 label 2001:0::/32 7 label ::ffff:172.31.0.0/112 8 # # This default differs from the tables given in RFC 3484 by handling # (now obsolete) site-local IPv6 addresses and Unique Local Addresses. # The reason for this difference is that these addresses are never # NATed while IPv4 site-local addresses most probably are. Given # the precedence of IPv6 over IPv4 (see below) on machines having only # site-local IPv4 and IPv6 addresses a lookup for a global address would # see the IPv6 be preferred. The result is a long delay because the # site-local IPv6 addresses cannot be used while the IPv4 address is # (at least for the foreseeable future) NATed. We also treat Teredo # tunnels special. # # precedence <mask> <value> # Add another rule to the RFC 3484 precedence table. See section 2.1 # and 10.3 in RFC 3484. The default is: # precedence ::1/128 50 precedence ::/0 40 precedence 2002::/16 30 precedence ::/96 20 precedence ::ffff:0:0/96 10 precedence ::ffff:172.31.0.0/112 100
Mais detalhes sobre gai.conf
estão disponíveis na página principal do Linux
Hosts do Windows
O processo para hosts do Windows é semelhante. Para hosts do Windows, você pode executar netsh interface ipv6 set prefix CIDR_CONTAINING_CLUSTER_IPS PRECEDENCE LABEL
. Isso tem o mesmo resultado que modificar o arquivo gai.conf
em hosts Linux.
Isso atualizará as políticas de preferência para preferir IPv4 conexões em vez de IPv6 conexões para o CIDR intervalo especificado. Por exemplo, supor que o cluster esteja em uma sub-rede com a CIDR execução 172.31.0. 0:0 /16 netsh interface ipv6 set prefix ::ffff:172.31.0.0:0/112 100 15
resultaria na tabela de precedência a seguir, o que faria com que os clientes preferissem se conectar ao cluster. IPv4
C:\Users\Administrator>netsh interface ipv6 show prefixpolicies Querying active state... Precedence Label Prefix ---------- ----- -------------------------------- 100 15 ::ffff:172.31.0.0:0/112 20 4 ::ffff:0:0/96 50 0 ::1/128 40 1 ::/0 30 2 2002::/16 5 5 2001::/32 3 13 fc00::/7 1 11 fec0::/10 1 12 3ffe::/16 1 3 ::/96