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.
Vos ElastiCache instances Amazon sont conçues pour être accessibles via une EC2 instance Amazon.
Si vous avez lancé votre ElastiCache instance dans un Amazon Virtual Private Cloud (Amazon VPC), vous pouvez accéder à votre ElastiCache instance depuis une EC2 instance Amazon située dans le même Amazon VPC. Ou bien, 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' EC2 instance à accéder à votre cluster en accordant au groupe de EC2 sécurité Amazon associé à l'instance l'accès à votre groupe de sécurité du cache. Par défaut, l'accès au cluster est limité au compte qui a lancé le cluster.
Octroi de l'accès à votre cluster ou 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 ne pouvez vous ElastiCache y connecter qu'à partir d'une EC2 instance Amazon exécutée 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 à la EC2 console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/ec2/
. -
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
11211
Le port par défaut pour Valkey et Redis OSS est.6379
-
Dans le champ Source, choisissez Anywhere doté d'une plage de ports (0.0.0.0/0) afin que toute EC2 instance Amazon que vous lancez au sein de votre Amazon VPC puisse se connecter à vos nœuds. ElastiCache
Important
L'ouverture du ElastiCache cluster à 0.0.0.0/0 n'expose pas le cluster à Internet car il ne possède aucune adresse IP publique et n'est donc pas accessible depuis l'extérieur du VPC. Cependant, le groupe de sécurité par défaut peut être appliqué à d'autres EC2 instances Amazon du compte du client, et ces instances peuvent avoir 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 Save (Enregistrer).
-
Lorsque vous lancez une EC2 instance Amazon dans votre Amazon VPC, cette instance pourra 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 de valeurs clés 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 de traduction d'adresses réseau (NAT) pour fournir un accès extérieur.
Prérequis
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 NAT doit être lancée dans le même VPC que le cluster.
-
L'instance NAT doit être lancée dans un sous-réseau public distinct du cluster.
-
Une adresse IP Elastic (EIP) doit être associée à l'instance NAT. La fonction de réacheminement d'iptables permet de rediriger un port de l'instance NAT vers le port du nœud de cache dans le cadre 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. Le réacheminement du port de l'instance NAT redirige le trafic vers le nœud du cluster de cache 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.
Limites
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 une incidence négative sur les performances du cluster de cache. Ce mauvais impact augmente avec le nombre de clusters de cache auquel 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 plus d'informations sur la façon de configurer une solution haute disponibilité des instances NAT sur VPC, veuillez consulter Solution haute disponibilité des instances NAT sur Amazon VPC : un exemple
.
Comment accéder aux ElastiCache ressources depuis l'extérieur AWS
La procédure suivante explique comment vous 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:6379
iptables -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 — sg-bd56b7da
-
-
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
-
Créez une instance NAT dans le même VPC que votre cluster de cache, mais dans un sous-réseau public.
Par défaut, l'assistant VPC lancera un type de nœud cache.m1.small. Vous devez sélectionner une taille de nœud selon vos besoins. Vous devez utiliser l'AMI EC2 NAT pour pouvoir y accéder ElastiCache depuis l'extérieur AWS.
Pour plus d'informations sur la création d'une instance NAT, consultez la section Instances NAT dans le guide de l'utilisateur AWS VPC.
-
Créez des règles de groupe de sécurité pour le cluster de cache 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 est d'autoriser les connexions TCP des clients de confiance à chaque port de cache transféré depuis l'instance NAT (11211 - 11213).
-
Avec Valkey et Redis OSS, la première règle est d'autoriser les connexions TCP des clients de confiance à 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'instances 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'instances 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 autorisant 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é de l’instance de cluster) -
Avec Valkey ou Redis OSS, une règle sortante permettant aux connexions TCP d'accéder 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é de l’instance de cluster) -
Avec Memcached, règle entrante pour le groupe de sécurité du cluster qui autorise les connexions TCP entre l'instance NAT et le 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-bd56b7da (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 entre l'instance NAT et le 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-bd56b7da (groupe de sécurité du cluster)
-
-
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:11211
Le 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:11211
Vé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 11213
Valkey 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:6379
Le 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 seront 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:6379
Vé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 Linux basée sur Redhat (comme Amazon Linux), exécutez la commande suivante :
service iptables save
Rubriques en relation
Les rubriques suivantes sont susceptibles de vous intéresser.