Comment résoudre les problèmes de connexion à mon instance EC2 à l'aide d'EC2 Instance Connect ?

Date de la dernière mise à jour : 26/04/2021

Le message d'erreur suivant apparaît lorsque j'essaie de me connecter à mon instance Amazon Elastic Compute Cloud (Amazon EC2) à l'aide d' Amazon EC2 Instance Connect :

« Un problème est survenu lors de la configuration de la connexion de l'instance

Échec de la connexion. Si cette instance vient de démarrer, réessayez dans une minute ou deux. »

Comment résoudre ce problème ?

Brève description

Voici les raisons courantes pour lesquelles Instance EC2 Connect peut ne pas fonctionner comme prévu:

  • Instance EC2 Connect ne prend pas en charge la distribution du système d'exploitation.
  • Le package Instance EC2 Connect n'est pas installé sur l'instance.
  • Il existe des stratégies ou des autorisations AWS Identity and Access Management (IAM) manquantes ou incorrectes.
  • Aucune adresse IP correspondant au service EC2 Instance Connect n'est répertoriée dans les groupes de sécurité associés à l'instance.

Pour se connecter à l'aide du client basé sur le navigateur, votre instance doit disposer d'une adresse IPv4 publique. Si votre instance n'a pas d'adresse IP publique, connectez-vous à l'aide de l'interface de ligne de commande (CLI) d'EC2 Instance Connect à partir d'une machine située dans le même VPC. Pour plus d'informations, consultez la section Limitations de l'article Connexion à l'aide d'EC2 Instance Connect.

Remarque : si vous avez activé EC2 Serial Console pour Linux, vous pouvez l'utiliser pour résoudre les problèmes liés aux types d'instance Nitro pris en charge. EC2 Serial Console vous aide à résoudre les problèmes de démarrage, de configuration réseau et de configuration SSH. EC2 Serial Console se connecte à votre instance sans qu'aucune connexion réseau ne soit nécessaire. Vous pouvez accéder à EC2 Serial Console à l'aide de la console Amazon EC2 ou de l'interface de ligne de commande AWS (AWS CLI).

Avant d'utiliser EC2 Serial Console, vous devez lui accorder l'accès au niveau du compte, et créer des stratégies IAM accordant l'accès à vos utilisateurs IAM. En outre, chaque instance qui utilise EC2 Serial Console doit inclure au moins un utilisateur avec mot de passe. Si votre instance n'est pas accessible et que vous n'avez pas configuré l'accès à EC2 Serial Console, vous pouvez suivre les instructions de connexion manuelle à l'instance fournies à partir des liens ci-dessous.

Pour plus d'informations sur la configuration d'EC2 Serial Console pour Linux, consultez Configuration de l'accès à EC2 Serial Console.

Remarque : en cas d'erreurs lors de l'exécution de commandes depuis l'interface de ligne de commande AWS (AWS CLI), vérifiez que vous utilisez la version la plus récente d'AWS CLI.

Résolution

1.    Vérifiez que Instance EC2 Connect prend en charge la distribution Linux de votre instance.

2.    Vérifiez que le instance prise en charge dispose du package Instance EC2 Connect installé.

3.    Vérifiez que l' utilisateur IAM qui tente d'utiliser Instance EC2 Connect est autorisé à transférer la clé publique vers l'instance.

4.    Vérifiez que les règles du groupe de sécurité de l'instance répertorient les adresses IP Instance EC2 Connect:

Connexions SSH basées sur un navigateur

Les connexions SSH basées sur un navigateur nécessitent que les règles entrantes du groupe de sécurité de votre instance autorisent l'accès Instance EC2 Connect à SSH sur le port TCP 22.

Instance EC2 Connect utilise des plages d'adresses IP spécifiques pour les connexions SSH basées sur un navigateur à votre instance. Ces plages d’adresses IP diffèrent d'une région AWS à l'autre. Pour trouver la plage d'adresses IP AWS pour Instance EC2 Connect dans une région spécifique, utilisez les commandes suivantes:

Remarque: dans les commandes suivantes, remplacez us-east-1 par la région AWS de votre instance.

Windows (nécessite Windows PowerShell pour AWS)

PS C:\> Get-AWSPublicIpAddressRange -Region us-east-1 -ServiceKey EC2_INSTANCE_CONNECT | select IpPrefix

Linux (nécessite curl et jq)

$ curl -s https://ip-ranges.amazonaws.com/ip-ranges.json| jq -r '.prefixes[] | select(.region=="us-east-1") | select(.service=="EC2_INSTANCE_CONNECT") | .ip_prefix'

Mettez à jour les règles entrantes de votre groupe de sécurité pour autoriser l'accès au port TCP 22 à partir de la plage d'adresses IP renvoyée par les commandes précédentes.

Connexions CLI Instance EC2 Connect

Mettez à jour les règles entrantes de votre groupe de sécuritépour autoriser l'accès au port TCP 22 depuis votre IP.