Pourquoi des erreurs sont-elles générées lors de l'utilisation de yum sur mon instance EC2 exécutant Amazon Linux 1 ou Amazon Linux 2 ?

Dernière mise à jour : 17/10/2020

Pourquoi des erreurs sont-elles générées lors de l'utilisation de yum sur mon instance Amazon Elastic Compute Cloud (Amazon EC2) exécutant Amazon Linux 1 ou Amazon Linux 2 ?

Brève description

Utilisez les messages de sortie de la commande yum pour déterminer l'erreur qui s'est produite. Les messages d'erreur suivants sont courants :

  • La connexion a expiré après XXX millisecondes
  • Erreur HTTP 403 – Interdit
  • Impossible de résoudre l'hôte : xxxxxxxxx.$awsregion.$awsdomain
  • Erreur HTTP 407 – Authentification proxy requise
  • La résolution a expiré après 5 000 millisecondes

Résolution

La connexion a expiré après XXXX millisecondes

1.    Vérifiez que le groupe de sécurité attaché à votre instance EC2 autorise le trafic http/https sortant.

2.    Vérifiez que les listes d'accès réseau associées au sous-réseau de votre instance EC2 autorisent le trafic http/https sortant via vos listes NACL.

L'exemple suivant montre une liste ACL réseau personnalisée qui autorise le trafic sortant sur les ports 80 et 443 :

Inbound rules
Rule#    Type                    Protocol    Port Range    Source        Allow/Deny
100      Custom TCP Rule         TCP (6)     1024-65535    0.0.0.0/0     ALLOW
101      Custom TCP Rule         TCP (6)     1024-65535    ::/0          ALLOW
*        ALL Traffic             ALL         ALL           ::/0          DENY
*        ALL Traffic             ALL         ALL           0.0.0.0/0     DENY
Outbound rules
Rule #    Type                   Protocol    Port Range    Source       Allow/Deny
100       HTTP (80)              TCP (6)     80            0.0.0.0/0    ALLOW
101       HTTPS (443)            TCP (6)     443           0.0.0.0/0    ALLOW
102       HTTP (80)              TCP (6)     80            ::/0         ALLOW
103       HTTPS (443)            TCP (6)     443           ::/0         ALLOW
*         ALL Traffic            ALL         ALL           ::/0         DENY
*         ALL Traffic            ALL         ALL           0.0.0.0/0    DENY

3.    Vérifiez que votre instance EC2 a accès aux référentiels Amazon Linux à l'aide de l'une des options ci-dessous.

proxy=http://proxy-server-IP-address:proxy_port
proxy_username=proxy-user-name
proxy_password=proxy-password

Remarque: remplacez le port proxy, le nom d'utilisateur proxy et le mot de passe proxy par les valeurs correctes de votre proxy.

4.    Après avoir configuré votre instance à l'aide de l'une des options précédentes, exécutez la commande telnet suivante pour confirmer que l'instance peut accéder au référentiel. Dans la commande suivante, remplacez us-east-1 par la région de votre instance.

Amazon Linux 1

telnet repo.us-east-1.amazonaws.com 80

Amazon Linux 2

telnet amazonlinux.us-east-1.amazonaws.com 80

Erreur HTTP 403 – Interdit

1.    Si vous utilisez un point de terminaison d'un VPC S3 dans le VPC de votre instance, vérifiez que la stratégie attachée autorise l'appel d'API s3:GetObject sur les ressources suivantes :

Amazon Linux 1 :

« arn:aws:s3:::packages.region.amazonaws.com/* »

« arn:aws:s3:::repo.region.amazonaws.com/* »

Amazon Linux 2 :

« arn:aws:s3:::amazonlinux.region.amazonaws.com/* »

Remarque : remplacez la région dans les exemples précédents par la région de votre instance.

2.    Si vous utilisez un proxy pour accéder aux référentiels Amazon Linux, vérifiez que les sous-domaines .amazonaws.com figurent dans la liste autorisée de votre configuration proxy.

Impossible de résoudre l'hôte : xxxxxxxx.$awsregion.$awsdomain"

1.    Exécutez les commandes suivantes pour vérifier que le répertoire /etc/yum/vars définit les variables yum personnalisées. Le répertoire doit inclure les variables awsdomain et awsregion. Dans l'exemple de commande suivant, remplacez us-east-1 par la région de votre instance.

$ cat /etc/yum/vars/awsregion
us-east-1

$ cat /etc/yum/vars/awsdomain
amazonaws.com

2.    Vérifiez la résolution DNS de votre instance. L'instance doit résoudre le nom de domaine des référentiels Amazon Linux :

$ dig amazonlinux.us-east-1.amazonaws.com

$ dig repo.us-east-1.amazonaws.com

Erreur HTTP 407 – Authentification proxy requise

Cela se produit si votre proxy ne peut pas terminer la demande, car yum ne dispose pas d'informations d'authentification appropriées pour votre serveur proxy. Pour configurer yum pour utiliser un proxy, modifiez le fichier /etc/yum.conf avec les paramètres suivants :

proxy=http://proxy-server-IP-address:proxy_port
proxy_username=proxy-user-name
proxy_password=proxy-password

La résolution a expiré après 5 000 millisecondes

Exécutez la commande suivante pour vérifier que le fichier /etc/resolv.conf possédait l'adresse IP correcte pour votre serveur DNS :

cat /etc/resolv.conf
nameserver YourDNSIP

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?