Accès à votre cluster - Amazon MemoryDB

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 cluster

Vos instances MemoryDB sont conçues pour être accessibles via une instance AmazonEC2.

Vous pouvez accéder à votre nœud MemoryDB depuis une EC2 instance Amazon dans le même Amazon. VPC Ou, en utilisant le VPC peering, vous pouvez accéder à votre nœud MemoryDB depuis un Amazon d'un autre AmazonEC2. VPC

Accordez l'accès à votre cluster

Vous ne pouvez vous connecter à votre cluster MemoryDB qu'à partir d'une EC2 instance Amazon exécutée sur le même Amazon. VPC Dans ce cas, vous devez accorder l'accès au réseau au cluster.

Pour autoriser l'accès au réseau depuis un groupe de VPC sécurité Amazon vers un cluster
  1. Connectez-vous à la EC2 console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le volet de navigation de gauche, sous Réseau et sécurité, choisissez Security Groups.

  3. Dans la liste des groupes de sécurité, choisissez le groupe de sécurité pour votre AmazonVPC. À moins que vous n'ayez créé un groupe de sécurité pour l'utilisation de MemoryDB, ce groupe de sécurité sera nommé par défaut.

  4. Choisissez l'onglet Entrant et effectuez les opérations suivantes :

    1. Choisissez Edit (Modifier).

    2. Choisissez Ajouter une règle.

    3. Dans la colonne Type, sélectionnez TCPRègle personnalisée.

    4. 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 Valkey et Redis est OSS. 6379

    5. Dans le champ Source, choisissez Anywhere dont la plage de ports est comprise (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 MemoryDB.

      Important

      L'ouverture du cluster MemoryDB à 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 de. 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. Par conséquent, nous vous recommandons de créer un groupe VPC de sécurité qui sera utilisé exclusivement par MemoryDB. Pour plus d'informations, consultez Groupes de sécurité personnalisés.

    6. Choisissez Save (Enregistrer).

Lorsque vous lancez une EC2 instance Amazon sur votre AmazonVPC, cette instance pourra se connecter à votre cluster MemoryDB.

Accès aux ressources de MemoryDB depuis l'extérieur AWS

MemoryDB est un service conçu pour être utilisé en interne dans votre. VPC L'accès externe est déconseillé en raison de la latence du trafic Internet et des problèmes de sécurité. Toutefois, si un accès externe à MemoryDB est requis à des fins de test ou de développement, il peut être effectué via un. VPN

À l'aide du AWS clientVPN, vous autorisez l'accès externe à vos nœuds MemoryDB avec les avantages suivants :

  • Accès restreint aux utilisateurs approuvés ou aux clés d'authentification

  • Trafic crypté entre le VPN client et le AWS VPN terminal ;

  • Accès limité à certains sous-réseaux ou nœuds

  • Révocation facile de l'accès d'utilisateurs ou de clés d'authentification

  • Audit des connexions

Les procédures suivantes montrent comment :

Création d'une autorité de certification

Il est possible de créer une autorité de certification (CA) en utilisant différents outils ou techniques. Nous vous suggérons l'utilitaire easy-rsa, fourni par le projet Open. VPN Quelle que soit l'option que vous choisissez, assurez-vous de garder les clés en sécurité. La procédure suivante permet de télécharger les scripts easy-rsa, de créer l'autorité de certification et les clés pour authentifier le premier client : VPN

  • Pour créer les certificats initiaux, ouvrez un terminal et procédez comme suit :

    • git clonehttps://github.com/OpenVPN/easy-rsa

    • cd easy-rsa

    • ./easyrsa3/easyrsa init-pki

    • ./easyrsa3/easyrsa build-ca nopass

    • ./easyrsa3/easyrsa build-server-full server nopass

    • ./easyrsa3/easyrsa build-client-full client1.domain.tld nopass

    Un sous-répertoire pki contenant les certificats sera créé sous easy-rsa.

  • Soumettez le certificat du serveur au gestionnaire de AWS certificats (ACM) :

    • Sur la ACM console, sélectionnez Certificate Manager.

    • Sélectionnez Import Certificate (Importer un certificat).

    • Entrez le certificat de clé publique disponible dans le fichier easy-rsa/pki/issued/server.crt dans le champ Corps du certificat.

    • Collez la clé privée disponible dans easy-rsa/pki/private/server.key dans le champ Clé privée du certificat. Assurez-vous de sélectionner toutes les lignes entre BEGIN AND END PRIVATE KEY (y compris les lignes BEGIN et END).

    • Collez la clé publique de l'autorité de certification disponible dans le fichier easy-rsa/pki/ca.crt dans le champ Chaîne de certificats.

    • Sélectionnez Vérifier et importer.

    • Sélectionnez Importer.

    Pour envoyer les certificats du serveur à ACM l'aide du AWS CLI, exécutez la commande suivante : aws acm import-certificate --certificate fileb://easy-rsa/pki/issued/server.crt --private-key file://easy-rsa/pki/private/server.key --certificate-chain file://easy-rsa/pki/ca.crt --region region

    Notez le certificat ARN pour une utilisation future.

Configuration des VPN composants AWS du client

Utilisation de la AWS console

Sur la AWS console, sélectionnez Services, puis VPC.

Sous Réseau privé virtuel, sélectionnez VPNPoints de terminaison clients et procédez comme suit :

Configuration des VPN composants AWS du client

  • Sélectionnez Créer un point de VPN terminaison client.

  • Spécifiez les options suivantes :

    • Client IPv4 CIDR : utilisez un réseau privé avec un masque de réseau d'au moins la plage /22. Assurez-vous que le sous-réseau sélectionné n'est pas en conflit avec les adresses VPC des réseaux. Exemple : 10.0.0.0/22.

    • Dans Certificat de serveur ARN, sélectionnez ARN le certificat précédemment importé.

    • Sélectionnez Use mutual authentication (Utiliser l'authentification mutuelle).

    • Dans Certificat client ARN, sélectionnez ARN le certificat précédemment importé.

    • Sélectionnez Créer un point de VPN terminaison client.

À l'aide du AWS CLI

Exécutez la commande suivante :

aws ec2 create-client-vpn-endpoint --client-cidr-block "10.0.0.0/22" --server-certificate-arn arn:aws:acm:us-east-1:012345678912:certificate/0123abcd-ab12-01a0-123a-123456abcdef --authentication-options Type=certificate-authentication,,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:us-east-1:012345678912:certificate/123abcd-ab12-01a0-123a-123456abcdef} --connection-log-options Enabled=false

Exemple de sortie :

"ClientVpnEndpointId": "cvpn-endpoint-0123456789abcdefg", "Status": { "Code": "pending-associate" }, "DnsName": "cvpn-endpoint-0123456789abcdefg.prod.clientvpn.us-east-1.amazonaws.com" }

Associez les réseaux cibles au VPN point de terminaison

  • Sélectionnez le nouveau VPN point de terminaison, puis sélectionnez l'onglet Associations.

  • Sélectionnez Associate (Associer), puis spécifiez les options suivantes.

    • VPC: Sélectionnez le cluster MemoryDB. VPC

    • Sélectionnez l'un des réseaux du cluster MemoryDB. En cas de doute, passez en revue les réseaux dans les groupes de sous-réseaux du tableau de bord MemoryDB.

    • Sélectionnez Associate (Associer). Si nécessaire, répétez les étapes pour les réseaux restants.

À l'aide du AWS CLI

Exécutez la commande suivante :

aws ec2 associate-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --subnet-id subnet-0123456789abdcdef

Exemple de sortie :

"Status": { "Code": "associating" }, "AssociationId": "cvpn-assoc-0123456789abdcdef" }

Passez en revue le groupe VPN de sécurité

Le VPN point de terminaison adoptera automatiquement le groupe VPC de sécurité par défaut. Vérifiez les règles entrantes et sortantes et confirmez si le groupe de sécurité autorise le trafic du VPN réseau (défini dans les paramètres du point de VPN terminaison) vers les réseaux MemoryDB sur les ports de service (par défaut, 6379 pour Redis).

Si vous devez modifier le groupe de sécurité attribué au VPN point de terminaison, procédez comme suit :

  • Sélectionnez le groupe de sécurité en cours.

  • Sélectionnez Apply Security Group (Appliquer le groupe de sécurité).

  • Sélectionnez le nouveau groupe de sécurité.

À l'aide du AWS CLI

Exécutez la commande suivante :

aws ec2 apply-security-groups-to-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefga  --vpc-id vpc-0123456789abdcdef --security-group-ids sg-0123456789abdcdef

Exemple de sortie :

"SecurityGroupIds": [ "sg-0123456789abdcdef" ] }

Note

Le groupe de sécurité MemoryDB doit également autoriser le trafic provenant des VPN clients. Les adresses des clients seront masquées avec l'adresse du VPN point de terminaison, selon le VPC réseau. Par conséquent, considérez le VPC réseau (et non le réseau VPN des clients) lors de la création de la règle entrante sur le groupe de sécurité MemoryDB.

Autoriser l'VPNaccès aux réseaux de destination

Dans l'onglet Authorization (Autorisation), sélectionnez Authorize Ingress (Autoriser l'entrée) et spécifiez les éléments suivants :

  • Réseau de destination pour activer l'accès : utilisez 0.0.0.0/0 pour autoriser l'accès à n'importe quel réseau (y compris Internet) ou limitez les réseaux/hôtes MemoryDB.

  • Sous Grant access to: (Accorder l'accès à :), sélectionnez Allow access to all users (Autoriser l'accès à tous les utilisateurs).

  • Sélectionnez Add Authorization Rules (Ajouter des règles d'autorisation).

À l'aide du AWS CLI

Exécutez la commande suivante :

aws ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --target-network-cidr 0.0.0.0/0 --authorize-all-groups

Exemple de sortie :

{ "Status": { "Code": "authorizing" } }

Permettre aux VPN clients d'accéder à Internet

Si vous devez naviguer sur Internet via leVPN, vous devez créer un itinéraire supplémentaire. Sélectionnez l'onglet Route Table (Table de routage), puis sélectionnez Create Route (Créer un routage) :

  • Destination du routage : 0.0.0.0/0

  • ID VPC du sous-réseau cible : sélectionnez l'un des sous-réseaux associés ayant accès à Internet.

  • Sélectionnez Create Route (Créer un routage).

À l'aide du AWS CLI

Exécutez la commande suivante :

aws ec2 create-client-vpn-route --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --destination-cidr-block 0.0.0.0/0 --target-vpc-subnet-id subnet-0123456789abdcdef

Exemple de sortie :

{ "Status": { "Code": "creating" } }

Configuration du VPN client

Sur le tableau de VPN bord du AWS client, sélectionnez le VPN point de terminaison récemment créé et sélectionnez Télécharger la configuration du client. Copiez le fichier de configuration, puis les fichiers easy-rsa/pki/issued/client1.domain.tld.crt et easy-rsa/pki/private/client1.domain.tld.key. Modifiez le fichier de configuration et modifiez ou ajoutez les paramètres suivants :

  • cert : ajoutez une nouvelle ligne avec le paramètre cert pointant vers le fichier client1.domain.tld.crt. Utilisez le chemin complet du fichier. Exemple : cert /home/user/.cert/client1.domain.tld.crt

  • key : ajoutez une nouvelle ligne avec le paramètre key pointant vers le fichier client1.domain.tld.key. Utilisez le chemin complet du fichier. Exemple : key /home/user/.cert/client1.domain.tld.key

Établissez la VPN connexion à l'aide de la commande : sudo openvpn --config downloaded-client-config.ovpn

Révocation de l'accès

Si vous devez invalider l'accès à partir d'une clé client particulière, la clé doit être révoquée dans l'autorité de certification. Soumettez ensuite la liste de révocation au AWS clientVPN.

Révocation de la clé avec easy-rsa :

  • cd easy-rsa

  • ./easyrsa3/easyrsa revoke client1.domain.tld

  • Entrez « yes » pour continuer, ou toute autre entrée pour abandonner.

    Continue with revocation: `yes` ... * `./easyrsa3/easyrsa gen-crl

  • Une mise à jour CRL a été créée. CRLfichier : /home/user/easy-rsa/pki/crl.pem

Importation de la liste de révocation vers le AWS client VPN :

  • Sur le AWS Management Console, sélectionnez Services, puis VPC.

  • Sélectionnez Client VPN Endpoints.

  • Sélectionnez le point de VPN terminaison client, puis sélectionnez Actions -> Importer le certificat client CRL.

  • Collez le contenu du fichier crl.pem.

À l'aide du AWS CLI

Exécutez la commande suivante :

aws ec2 import-client-vpn-client-certificate-revocation-list --certificate-revocation-list file://./easy-rsa/pki/crl.pem --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg

Exemple de sortie :

Example output: { "Return": true }