View a markdown version of this page

Configuration du réseau, des groupes de sécurité et de l'authentification IAM - Amazon Neptune

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.

Configuration du réseau, des groupes de sécurité et de l'authentification IAM

Les déploiements conteneurisés sur Amazon ECS ou Amazon EKS nécessitent une configuration réseau correcte et une gestion des informations d'identification IAM pour se connecter à Neptune.

Liste de contrôle des groupes de sécurité

  • Le groupe de sécurité du cluster Neptune doit autoriser le TCP entrant sur le port 8182 (ou le port personnalisé configuré pour votre cluster Neptune) depuis la plage d'adresses CIDR du nœud ou du pod Amazon EKS.

  • Si vous utilisez le plug-in Amazon VPC CNI avec une mise en réseau personnalisée, vérifiez que le sous-réseau pod possède une route vers le sous-réseau Neptune.

  • Neptune doit se trouver dans le même Amazon VPC que votre cluster Amazon ECS ou Amazon EKS, ou être connecté via Amazon VPC peering ou Transit Gateway.

Vérifiez la connectivité depuis l'intérieur du conteneur

Avant de résoudre les problèmes au niveau de l'application, confirmez le chemin réseau en exécutant l'une des commandes suivantes depuis le conteneur :

AWS CLI
aws neptunedata get-engine-status \ --endpoint-url https://your-neptune-endpoint:8182

Pour plus d'informations, consultez get-engine-status dans la référence des commandes. AWS CLI

SDK
import boto3 from botocore.config import Config client = boto3.client( 'neptunedata', region_name='us-east-1', endpoint_url='https://your-neptune-endpoint:8182', config=Config(read_timeout=10) ) response = client.get_engine_status() print(response['status'])
awscurl
awscurl https://your-neptune-endpoint:8182/status \ --region us-east-1 \ --service neptune-db
Note

Cet exemple suppose que vos AWS informations d'identification sont configurées dans votre environnement. Remplacez us-east-1 par la région de votre cluster Neptune.

curl
curl -k https://your-neptune-endpoint:8182/status
Note

Le -k drapeau ignore la vérification du certificat. Utilisez-le uniquement pour les tests de connectivité, pas dans le code de production.

Une réponse réussie confirme que les groupes de sécurité, le routage et la résolution DNS fonctionnent tous. Un délai d'attente indique un problème au niveau du réseau.

Actualisation des informations d'identification IAM

Si vous utilisez l'authentification IAM avec Neptune, vos pods doivent actualiser leurs informations d'identification avant leur expiration. Nous recommandons Amazon EKS Pod Identity pour les nouveaux déploiements. Les rôles IAM pour les comptes de service (IRSA) sont également pris en charge et largement utilisés.

Quelle que soit l'approche, récupérez les informations d'identification dans la fonction du générateur d'authentification, et non une seule fois au démarrage. Les jetons IRSA et Pod Identity expirent au bout d'une heure. Si vous mettez en cache les informations d'identification lors de l'initialisation, les demandes échoueront une AccessDeniedException: security token expired fois le jeton expiré.

  • Pour gremlin-go : appelez à cfg.Credentials.Retrieve(ctx) l'intérieur de la gen fonction passée à. NewDynamicAuth

  • Pour Java : utilisez NeptuneGremlinClient avec un HandshakeInterceptor qui actualise la signature SigV4 à chaque nouvelle connexion.

Cross-account accès

Neptune ne prend pas en charge l'authentification IAM directe entre comptes. Si votre cluster Amazon EKS se trouve sur un AWS compte différent de celui de votre cluster Neptune, le pod doit d'abord assumer un rôle dans le compte Neptune avant de s'authentifier.

Configuration d'entrée pour Graph Explorer

Si vous exécutez Graph Explorer dans un environnement conteneurisé, assurez-vous que tous les chemins sont accessibles au proxy, et pas seulement. /explorer Sur Amazon EKS, configurez les règles de votre contrôleur d'entrée pour autoriser tous les chemins. Sur Amazon ECS, configurez le groupe cible et les règles d'écoute de votre Application Load Balancer pour transférer tous les chemins vers le conteneur Graph Explorer. Le proxy de Graph Explorer passe des appels à /summary/gremlin,/openCypher, et/sparql. Path-restricted les règles de routage interrompent le proxy en silence.