Pourquoi ne puis-je pas me connecter à d'autres services AWS depuis Amazon EKS ?
Je souhaite résoudre les erreurs que je reçois lorsque j'essaie de me connecter à d'autres services depuis Amazon Elastic Kubernetes Service (Amazon EKS).
Brève description
Si vos pods ne parviennent pas à se connecter à d'autres services, il se peut que vous receviez une ou plusieurs des erreurs suivantes :
- RequestError: send request failed\\ncaused by: Post \\\"https://ec2.us-west-2.amazonaws.com/\\\": dial tcp <IP address>: i/o timeout\"\
- Couldn't connect to host, port: imap.mail.<region>.awsapps.com,<port>; timeout -1
- java.net .SocketTimeoutException: connect timed out
- Connection could not be created to jdbc:postgresql://<hostname>.<region>.rds.amazonaws.com:5432/
- <URL>.<region>.rds.amazonaws.com (<IPaddress>:3306): Operation timed out
- Error : java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=<hostname>.<region>.rds.amazonaws.com)(port=3306)(type=master) : Socket fail to connect to host:<hostname>.<region>.rds.amazonaws.com , port:3306. connect timed out***
- o.apache.kafka.clients.NetworkClient -[Producer clientId=producer-1] Connection to node -1 (<hostname>.c3.kafka.<region>.amazonaws.com/<IPaddress>:9092) could not be established. L'agent n'est peut-être pas disponible.
Ces erreurs sont dues à des problèmes de connexion réseau qui peuvent être causés par une mauvaise configuration d'Amazon Virtual Private Cloud (Amazon VPC). Pour résoudre ces problèmes, vérifiez les groupes de sécurité et les listes de contrôle d'accès (ACL) au réseau associés aux éléments suivants :
- Instances de composants master
- Services auxquels les pods essaient de se connecter
Résolution
Des erreurs d'expiration du délai de connexion se produisent généralement lorsque les règles du groupe de sécurité ou les ACL du réseau refusent explicitement les autorisations requises.
Pour résoudre ces erreurs, vérifiez que votre environnement est configuré correctement en confirmant ce qui suit :
- Vos groupes de sécurité répondent aux exigences d'Amazon EKS.
- Vos groupes de sécurité pour les pods permettent aux pods de communiquer entre eux.
- L'ACL du réseau ne rejette pas la connexion.
- Votre sous-réseau dispose d'une route locale pour communiquer au sein de votre Amazon VPC.
- Vos pods sont planifiés et sont à l'état RUNNING.
- Vous disposez de la version la plus récente du plugin Amazon VPC de l'interface de conteneur réseau (CNI) pour Kubernetes.
- Les sous-réseaux VPC de votre cluster disposent d'un point de terminaison d'interface VPC pour les services AWS auxquels vos pods doivent accéder.
Vos groupes de sécurité répondent aux exigences d'Amazon EKS
Assurez-vous que les règles entrantes et sortantes autorisent le trafic sur les protocoles et les ports que vos composants master utilisent pour communiquer avec d'autres services. Il est recommandé de permettre à tout le trafic de circuler entre votre cluster et vos nœuds, et d'autoriser tout le trafic sortant vers n'importe quelle destination. Vous n'avez pas besoin de modifier les règles des groupes de sécurité chaque fois qu'un nouveau pod avec un nouveau port est créé. Pour en savoir plus, reportez-vous aux Considérations et exigences relatives aux groupes de sécurité Amazon EKS.
Vos groupes de sécurité pour les pods permettent aux pods de communiquer entre eux
Si vous utilisez des groupes de sécurité pour les pods ou la mise en réseau personnalisée, vous pouvez associer n'importe quel groupe de sécurité à vos pods. Dans ce cas, vérifiez que les groupes de sécurité autorisent les pods à communiquer entre eux.
L'ACL réseau ne rejette pas la connexion
- Vérifiez que le trafic entre votre cluster Amazon EKS et le CIDR VPC circule librement sur votre ACL du réseau.
- Envisagez de configurer des ACL du réseau avec des règles similaires à celles de vos groupes de sécurité.
Votre sous-réseau dispose d'une route locale pour communiquer au sein de votre VPC
Vérifiez que vos sous-réseaux sont réglés sur la route par défaut pour la communication au sein du VPC. Pour des informations détaillées, reportez-vous aux Considérations et exigences relatives aux sous-réseaux et au VPC Amazon EKS.
Vos pods sont planifiés et sont à l'état RUNNING
Vérifiez que vos pods sont planifiés et sont à l'état RUNNING (EN COURS D'EXÉCUTION). Pour résoudre les problèmes liés à l'état de votre pod, reportez-vous à Comment résoudre les problèmes liés à l'état du pod dans Amazon EKS ?
Vous disposez de la version la plus récente du plugin CNI Amazon VPC pour Kubernetes
Si vous n'exécutez pas la version la plus récente du plugin CNI Amazon VPC pour Kubernetes, envisagez de passer à la dernière version.
Si les problèmes persistent, reportez-vous à Comment résoudre les problèmes liés aux plugins kubelet ou CNI pour Amazon EKS ?
Les sous-réseaux VPC de votre cluster doivent disposer d'un point de terminaison d'interface d'un VPC pour les services AWS auxquels vos pods doivent accéder.
Le tableau suivant répertorie certains des services et points de terminaison couramment utilisés :
Service | Point de terminaison |
Amazon Elastic Compute Cloud (Amazon EC2) | com.amazonaws.region-code.ec2 |
Amazon Elastic Container Registry (Amazon ECR) | com.amazonaws.region-code.ecr.api com.amazonaws.region-code.ecr.dkr com.amazonaws.region-code.s3 |
Elastic Load Balancing (ELB) | com.amazonaws.region-code.elasticloadbalancing |
AWS X-Ray | com.amazonaws.region-code.xray |
Amazon CloudWatch | com.amazonaws.region-code.logs |
Service de jetons de sécurité AWS (AWS STS) (obligatoire lorsque vous utilisez des rôles IAM pour des comptes de service) | com.amazonaws.region-code.sts |
AWS App Mesh Le contrôleur App Mesh pour Kubernetes n'est pas pris en charge. Pour plus d'informations, reportez-vous à la section App Mesh Controller (Contrôleur App Mesh) sur le site Web de GitHub. L'autoscaler de cluster est pris en charge. Lorsque vous déployez des pods d'autoscaler de cluster, vérifiez que la ligne de commande inclut --aws-use-static-instance-list=true. Pour plus d'informations, reportez-vous à la section Use Static Instance List (Utiliser la liste d'instances statiques) sur le site Web de GitHub. Le composant master VPC doit également inclure le point de terminaison du VPC AWS STS et le point de terminaison Amazon EC2 Auto Scaling. | com.amazonaws.region-code.appmesh-envoy-management |
Pour obtenir la liste complète des points de terminaison, reportez-vous aux Services AWS s'intégrant à AWS PrivateLink.
Vérifiez que le groupe de sécurité du point de terminaison du VPC possède des règles entrantes qui autorisent le trafic en provenance des composants master.
Contenus pertinents
- demandé il y a 2 anslg...
- demandé il y a 4 moislg...
- demandé il y a 5 moislg...
- demandé il y a 6 moislg...
- demandé il y a un anlg...
- AWS OFFICIELA mis à jour il y a 2 ans
- AWS OFFICIELA mis à jour il y a 7 mois
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a un an