Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Accès à votre ElastiCache cluster ou groupe de réplication
Vos ElastiCache instances Amazon sont conçues pour être accessibles via une instance Amazon EC2.
Si vous avez lancé votre ElastiCache instance dans un Amazon Virtual Private Cloud (Amazon VPC), vous pouvez accéder à votre ElastiCache instance depuis une instance Amazon EC2 dans le même Amazon VPC. Ou, en utilisant le peering VPC, vous pouvez accéder à votre ElastiCache instance depuis un Amazon EC2 dans un autre Amazon VPC.
Si vous avez lancé votre ElastiCache instance dans EC2 Classic, vous autorisez l'instance EC2 à accéder à votre cluster en accordant au groupe de sécurité Amazon EC2 associé à l'instance l'accès à votre groupe de sécurité de cache. Par défaut, l'accès au cluster est limité au compte qui a lancé le cluster.
Autoriser l'accès à votre clusterou groupe de réplication
Vous avez lancé votre cluster dans EC2-VPC
Si vous avez lancé votre cluster dans un Amazon Virtual Private Cloud (Amazon VPC), vous pouvez vous connecter à votre ElastiCache cluster uniquement à partir d'une instance Amazon EC2 qui s'exécute dans le même Amazon VPC. Dans ce cas, vous devez accorder l'accès au réseau au cluster.
Note
Si vous utilisez les zones locales (Local Zones), assurez-vous que vous les avez activées. Pour de plus amples informations, veuillez consulter Activation des zones locales. Ce faisant, votre VPC est étendu à cette zone locale et votre VPC traitera le sous-réseau comme n'importe quel sous-réseau dans toute autre zone de disponibilité et les passerelles, tables de routage et autres considérations de groupe de sécurité. sera automatiquement ajusté.
Pour accorder l'accès réseau à un cluster, à partir d'un groupe de sécurité Amazon VPC
Connectez-vous à Console de gestion AWS et ouvrez la console Amazon EC2 à https://console.aws.amazon.com/ec2/
l'adresse. -
Dans le volet de navigation, sous Réseau et sécurité, choisissez Groupes de sécurité.
-
Dans la liste des groupes de sécurité, choisissez le groupe de sécurité de votre Amazon VPC. À moins que vous n'ayez créé un groupe de sécurité à ElastiCache utiliser, ce groupe de sécurité sera nommé par défaut.
-
Choisissez l'onglet Entrant et effectuez les opérations suivantes :
-
Choisissez Edit (Modifier).
-
Choisissez Ajouter une règle.
-
Dans la colonne Type, choisissez Règle TCP personnalisée.
-
Dans la zone Port range, tapez le numéro de port de votre nœud de cluster de Ce numéro doit être le même que celui que vous avez spécifié lorsque vous avez lancé le cluster. Le port par défaut pour Memcached est
11211Le port par défaut pour Valkey et Redis OSS est.6379 -
Dans la zone Source, choisissez Anywhere qui possède la plage de ports (0.0.0). 0/0) afin que toute instance Amazon EC2 que vous lancez dans votre Amazon VPC puisse se connecter à vos ElastiCache nœuds.
Important
Ouverture du ElastiCache cluster à la version 0.0.0. 0/0 n'expose pas le cluster à Internet car il ne possède pas d'adresse IP publique et n'est donc pas accessible depuis l'extérieur du VPC. Toutefois, le groupe de sécurité par défaut peut être appliqué aux autres instances Amazon EC2 dans le compte du client et ces instances peuvent voir une adresse IP publique. Si ces instances exécutent un service sur le port par défaut, ce service peut être exposé accidentellement. Nous vous recommandons donc de créer un groupe de sécurité VPC qui sera utilisé exclusivement par ElastiCache. Pour plus d'informations, consultez Groupes de sécurité personnalisés.
-
Choisissez Enregistrer.
-
Lorsque vous lancez une instance Amazon EC2 dans votre Amazon VPC, cette instance peut se connecter à votre ElastiCache cluster.
Accès aux ElastiCache ressources depuis l'extérieur AWS
Amazon ElastiCache est un AWS service qui fournit un stockage clé-valeur en mémoire basé sur le cloud. Le service est conçu pour être accessible exclusivement de l'intérieur AWS. Toutefois, si le ElastiCache cluster est hébergé dans un VPC, vous pouvez utiliser une instance EC2 configurée pour la traduction d'adresses réseau (NAT) avec redirection de port afin de fournir un accès externe.
Important
Cette approche doit être utilisée à des fins de test et de développement uniquement. Pour les charges de travail de production nécessitant un accès externe, envisagez plutôt d'utiliser AWS Site-to-Site un VPN ou un VPN AWS client.
Exigences
Les conditions suivantes doivent être remplies pour que vous puissiez accéder à vos ElastiCache ressources depuis l'extérieur AWS :
-
Le cluster doit se trouver dans un VPC et être accessible via une instance de traduction d'adresses réseau (NAT). Cette exigence ne souffre aucune exception.
-
L'instance EC2 de redirection de port doit être lancée dans le même VPC que le cluster.
-
L'instance EC2 de redirection de port doit être lancée dans un sous-réseau public distinct du cluster.
-
Une adresse IP élastique (EIP) doit être associée à l'instance EC2. La fonction de redirection de port d'iptables est utilisée pour transférer un port de l'instance vers le port du nœud de cache du VPC.
Considérations
N'oubliez pas de prendre en compte les éléments suivants lorsque vous accédez à vos ressources ElastiCache en dehors d' ElastiCache.
-
Les clients se connectent au port EIP et au port cache de l'instance NAT. La redirection de port sur l'instance NAT transfère le trafic vers le nœud de cluster approprié.
-
Si un nœud de cluster est ajouté ou remplacé, les règles iptables doivent être mises à jour pour prendre en compte ce changement.
Limitations
Cette approche doit être utilisée à des fins de test et de développement uniquement. Elle est déconseillée dans le cadre d'une utilisation en production en raison des limitations suivantes :
-
L'instance NAT agit comme un proxy entre les clients et plusieurs clusters. L'ajout d'un proxy a un impact sur les performances du cluster. L'impact augmente avec le nombre de clusters auxquels vous accédez via l'instance NAT.
-
Le trafic depuis les clients vers l'instance NAT n'est pas chiffré. Par conséquent, vous devez éviter d'envoyer des données sensibles via l'instance NAT.
-
L'instance NAT ajoute la surcharge de traitement liée à la maintenance d'une autre instance.
-
L'instance NAT constitue un point de défaillance unique. Pour une haute disponibilité, pensez plutôt à utiliser une passerelle NAT.
Comment accéder à ElastiCache des ressources depuis l'extérieur AWS
La procédure suivante montre comment se connecter à vos ElastiCache ressources à l'aide d'une instance NAT.
Ces étapes supposent les faits suivants :
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
Vous avez ensuite besoin de l’instance NAT dans le sens opposé :
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 10.0.0.55
Vous devez également activer le transfert IP, qui est désactivé par défaut :
sudo sed -i 's/net.ipv4.ip_forward=0/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
sudo sysctl --system
-
Vous accédez à un cluster Memcached avec les éléments suivants :
-
Adresse IP : 10.0.1.230
-
Port Memcached par défaut : 11211
-
Groupe de sécurité : *10\.0\.0\.55*
-
-
Vous accédez à un cluster Valkey ou Redis OSS avec :
-
Adresse IP : 10.0.1.230
-
Port par défaut : 6379
-
Groupe de sécurité : sg-bd56b7da
-
AWS adresse IP de l'instance — 198.99.100.27
-
-
Votre client de confiance a l'adresse IP 198.51.100.27.
-
Votre instance NAT a l'adresse IP Elastic 203.0.113.73.
-
Votre instance NAT a le groupe de sécurité sg-ce56b7a9.
Pour vous connecter à vos ElastiCache ressources à l'aide d'une instance NAT
-
Lancez une instance EC2 dans le même VPC que votre cluster mais dans un sous-réseau public. Cette instance agira en tant qu' NAT/port-forwarding hôte.
Utilisez une AMI Amazon Linux 2023 actuelle (ou une autre AMI Linux de votre choix). Sélectionnez une taille d'instance en fonction du trafic attendu. L'instance doit disposer d'un sous-réseau public, d'une adresse IP élastique et d'un transfert IP activé.
Pour plus d'informations sur le lancement d'instances EC2, consultez la section Lancer une instance dans le guide de l'utilisateur d'Amazon Elastic Compute Cloud.
-
Créez des règles de groupe de sécurité pour le cluster et l'instance NAT.
Le groupe de sécurité de l’instance NAT et l’instance de cluster doivent avoir les règles suivantes :
-
Deux règles de trafic entrant
-
Avec Memcached, la première règle consiste à autoriser les connexions TCP provenant de clients fiables à chaque port de cache transféré depuis l'instance NAT (11211 - 11213).
-
Avec Valkey et Redis OSS, la première règle consiste à autoriser les connexions TCP provenant de clients fiables vers chaque port de cache transféré depuis l'instance NAT (6379 - 6381).
-
Une deuxième règle pour autoriser l'accès SSH aux clients de confiance.
Groupe de sécurité d'instance NAT : règles entrantes avec Memcached Type Protocole Plage de ports Source Destination TCP 11211-11213 198,51,100. 27/32 SSH TCP 22 198,51,100. 27/32 Groupe de sécurité d'instance NAT : règles entrantes avec Valkey ou Redis OSS Type Protocole Plage de ports Source Destination TCP 6379-6380 198,51,100. 27/32 SSH TCP 22 203,0.113. 73/32 -
-
Avec Memcached, une règle sortante pour autoriser les connexions TCP au port de cache (11211).
Groupe de sécurité de l’instance NAT - Règle de trafic sortant Type Protocole Plage de ports Destination Destination TCP 11211 sg-ce56b7a9 (groupe de sécurité NAT) -
Avec Valkey ou Redis OSS, une règle sortante pour autoriser les connexions TCP au port de cache (6379).
Groupe de sécurité de l’instance NAT - Règle de trafic sortant Type Protocole Plage de ports Destination Destination TCP 6379 sg-ce56b7a9 (groupe de sécurité NAT) -
Avec Memcached, une règle entrante pour le groupe de sécurité du cluster qui autorise les connexions TCP de l'instance NAT au port de cache (11211).
Groupe de sécurité de l’instance de cluster - Règle de trafic entrant Type Protocole Plage de ports Source Destination TCP 11211 sg-ce56b7a9 (groupe de sécurité NAT) -
Avec Valkey ou Redis OSS, règle entrante pour le groupe de sécurité du cluster qui autorise les connexions TCP de l'instance NAT au port de cache (6379).
Groupe de sécurité de l’instance de cluster - Règle de trafic entrant Type Protocole Plage de ports Source Destination TCP 6379 sg-ce56b7a9 (groupe de sécurité NAT)
-
-
Validez les règles.
-
Vérifiez que le client de confiance peut accéder à l'instance NAT via SSH.
-
Vérifiez que le client de confiance peut se connecter au cluster à partir de l'instance NAT.
-
-
Memcached
Ajoutez une règle iptables à l'instance NAT.
Une règle iptables doit être ajoutée à la table NAT pour chaque nœud dans le cluster pour rediriger le port de cache depuis l'instance NAT vers le nœud de cluster. Voici un exemple possible :
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11211 -j DNAT --to 10.0.1.230:11211Le numéro de port doit être unique pour chaque nœud du cluster. Par exemple, si vous utilisez un cluster de Memcached de trois nœuds avec les ports 11211 – 11213, les règles devraient se présenter comme suit :
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:11211Vérifiez que le client de confiance peut se connecter au cluster.
Le client de confiance doit se connecter à l'EIP associée à l'instance NAT et au port de cluster correspondant au nœud de cluster approprié. Par exemple, la chaîne de connexion pour PHP pourrait ressembler à ce qui suit :
$memcached->connect( '203.0.113.73', 11211 ); $memcached->connect( '203.0.113.73', 11212 ); $memcached->connect( '203.0.113.73', 11213 );Un client Telnet peut également être utilisé pour vérifier la connexion. Par exemple :
telnet 203.0.113.73 11211 telnet 203.0.113.73 11212 telnet 203.0.113.73 11213Valkey ou Redis OSS
Ajoutez une règle iptables à l'instance NAT.
Une règle iptables doit être ajoutée à la table NAT pour chaque nœud dans le cluster pour rediriger le port de cache depuis l'instance NAT vers le nœud de cluster. Voici un exemple possible :
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6379 -j DNAT --to 10.0.1.230:6379Le numéro de port doit être unique pour chaque nœud du cluster. Par exemple, si vous travaillez avec un cluster Redis OSS à trois nœuds utilisant les ports 6379 à 6381, les règles seraient les suivantes :
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:6379Vérifiez que le client de confiance peut se connecter au cluster.
Le client de confiance doit se connecter à l'EIP associée à l'instance NAT et au port de cluster correspondant au nœud de cluster approprié. Par exemple, la chaîne de connexion pour PHP pourrait ressembler à ce qui suit :
redis->connect( '203.0.113.73', 6379 ); redis->connect( '203.0.113.73', 6380 ); redis->connect( '203.0.113.73', 6381 );Un client Telnet peut également être utilisé pour vérifier la connexion. Par exemple :
telnet 203.0.113.73 6379 telnet 203.0.113.73 6380 telnet 203.0.113.73 6381 -
Enregistrez la configuration iptables.
Enregistrez les règles après les avoir testées et vérifiées. Si vous utilisez une distribution Redhat-based Linux (telle qu'Amazon Linux), exécutez la commande suivante :
service iptables save
Rubriques associées
Les rubriques suivantes sont susceptibles de vous intéresser.