Perché ricevo degli errori quando utilizzo yum sulla mia istanza EC2 con Amazon Linux 1 o Amazon Linux 2?
Perché ricevo degli errori quando utilizzo yum sulla mia istanza Amazon Elastic Compute Cloud (Amazon EC2) con Amazon Linux 1 o Amazon Linux 2?
Breve descrizione
Usa i messaggi di output del comando yum per determinare quale errore si è verificato. Di seguito sono riportati i messaggi di errore più comuni:
- Connessione scaduta XXX millisecondi
- Errore HTTP 403 - Proibito
- Impossibile risolvere l'host: xxxxxxxxx.$awsregion.$awsdomain
- Errore HTTP 407 - Autenticazione proxy richiesta
- **Tempo di risoluzione scaduto dopo 5000 millisecondi **
Risoluzione
Connessione scaduta XXXX millisecondi
1. Verifica che il gruppo di sicurezza collegato alla tua istanza EC2 consenta il traffico http/https in uscita.
2. Verifica che gli ACL di rete associati alla sottorete della tua istanza EC2 consentano il traffico http/https in uscita attraverso i tuoi NACL.
L'esempio seguente mostra un ACL di rete personalizzato che consente il traffico in uscita sulle porte 80 e 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. Verifica che la tua istanza EC2 abbia accesso ai repository Amazon Linux utilizzando una delle seguenti opzioni
- L'istanza si trova in una sottorete pubblica con un gateway Internet. Per ulteriori informazioni, consulta Attivare l'accesso a Internet.
- L'istanza si trova in una sottorete privata con un gateway NAT. Per ulteriori informazioni, consulta Gateway NAT.
- La tua istanza si trova in una sottorete privata con un'istanza NAT. Per ulteriori informazioni, consulta Istanze NAT.
- La tua istanza si trova in una sottorete pubblica o privata con un endpoint VPC Amazon Simple Storage Service (Amazon S3). Per ulteriori informazioni, consulta Come posso aggiornare yum o installare pacchetti senza accesso a Internet su istanze EC2 che eseguono Amazon Linux 1 o Amazon Linux 2?
- La tua istanza si trova in una sottorete privata con un proxy. Per configurare yum in modo che utilizzi un proxy, modifica il file /etc/yum.conf con i seguenti parametri. Nell'esempio seguente, sostituisci proxy-port, proxy-user-name e proxy-password con i valori corretti per il tuo proxy.
proxy=http://proxy-server-IP-address:proxy_port proxy_username="proxy-user-name" proxy_password="proxy-password"
Per ulteriori informazioni, consulta Uso di yum con un server proxy sul sito fedoraproject.org.
4. Dopo aver configurato l'istanza utilizzando una delle opzioni precedenti, esegui il seguente comando curl per confermare che l'istanza possa accedere al repository. Nel comando seguente, sostituisci us-east-1 con la regione della tua istanza.
Amazon Linux 1
curl -I repo.us-east-1.amazonaws.com
Amazon Linux 2
curl -I amazonlinux.us-east-1.amazonaws.com
Nota: curl è preinstallato su tutte le AMI, ma i repository Amazon Linux non sono accessibili senza credenziali. curl non può accettare le credenziali di un repository yum. Riceverai un messaggio di errore di accesso negato simile a quello riportato di seguito. Il comando curl viene utilizzato per verificare se il problema di timeout è ancora presente. Il messaggio di errore indica che la rete è raggiungibile e il problema di timeout non si verifica più:
$ curl -I amazonlinux.us-east-1.amazonaws.com HTTP/1.1 403 Forbidden x-amz-bucket-region: us-east-1 x-amz-request-id: xxxxxxxx x-amz-id-2: xxxxxxxxxxxxx= Content-Type: application/xml Date: Thu, 17 Nov 2022 16:59:59 GMT Server: AmazonS3
Per installare software, ad esempio telnet, esegui il seguente comando:
sudo yum install telnet
Errore HTTP 403 - Proibito
1. Se utilizzi un endpoint Amazon S3 VPC nel VPC della tua istanza, verifica che la policy allegata consenta la chiamata API s3:GetObject sulle seguenti risorse:
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/*"
"arn:aws:s3:::amazonlinux-2-repos-region/*"
Nota: Sostituisci la regione negli esempi precedenti con la regione della tua istanza.
Per ulteriori informazioni, consulta Policy degli endpoint per Amazon S3.
2. Se utilizzi un proxy per accedere ai repository Amazon Linux, verifica che i sottodomini .amazonaws.com siano nell'elenco dei siti consentiti nella configurazione del proxy.
Impossibile risolvere l'host: xxxxxxxxx.$awsregion.$awsdomain
- Esegui i seguenti comandi per verificare che la directory /etc/yum/vars definisca le variabili yum personalizzate. La directory deve includere le variabili awsdomain e awsregion. Nel seguente comando di esempio, sostituisci us-east-1 con la regione della tua istanza.
$ cat /etc/yum/vars/awsregion us-east-1 $ cat /etc/yum/vars/awsdomain amazonaws.com
2. Verifica la risoluzione DNS della tua istanza. L'istanza deve risolvere il nome di dominio dei repository Amazon Linux:
$ dig amazonlinux.us-east-1.amazonaws.com $ dig repo.us-east-1.amazonaws.com
Le interrogazioni al server DNS fornito da Amazon all'indirizzo 169.254.169.253 IPv4 e all'indirizzo fd00:ec2::253 IPv6 avranno successo. Anche le interrogazioni al server DNS fornito da Amazon all'indirizzo IP riservato alla base dell'intervallo di rete IPv4 della VPC più due avranno successo. L'indirizzo IPv6 è accessibile solo sulle istanze EC2 basate sul sistema Nitro.
Errore HTTP 407 - Autenticazione proxy richiesta
Questo accade se il tuo proxy non riesce a completare la richiesta perché yum non ha le credenziali di autenticazione corrette per il tuo server proxy. Per configurare yum per l'uso di un proxy, modifica il file /etc/yum.conf con i seguenti parametri:
proxy=http://proxy-server-IP-address:proxy_port proxy_username=proxy-user-name proxy_password=proxy-password
Tempo di risoluzione scaduto dopo 5000 millisecondi
Esegui il seguente comando per verificare che il file /etc/resolv.conf abbia l'IP corretto per il tuo server DNS:
cat /etc/resolv.conf nameserver YourDNSIP
È possibile modificare il periodo di timeout di 5000 millisecondi modificando il valore di timeout nel file di configurazione yum.
Per controllare l'ora della query usando dig, esegui il seguente comando:
$ dig repo.us-east-1.amazonaws.com | grep time
Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa