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.
- Votre instance se trouve dans un sous-réseau public avec une passerelle Internet. Pour plus d'informations, consultez Activation de l'accès Internet.
- Votre instance se trouve dans un sous-réseau privé avec une passerelle NAT. Pour plus d'informations, consultez Passerelles NAT.
- Votre instance se trouve dans un sous-réseau privé avec une instance NAT. Pour plus d'informations, consultez Instances NAT.
- Votre instance se trouve dans un sous-réseau public ou privé avec un point de terminaison d'un VPC S3. Pour plus d'informations, consultez Comment puis-je mettre à jour yum ou installer des packages sans accès Internet sur mes instances EC2 exécutant Amazon Linux 1 ou Amazon Linux 2 ?
- Votre instance se trouve dans un sous-réseau privé avec un 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
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 ?