¿Por qué recibo mensajes de error al utilizar yum en mi instancia de EC2 que ejecuta Amazon Linux 1 o Amazon Linux 2?
¿Por qué recibo mensajes de error al utilizar yum en mi instancia de Amazon Elastic Compute Cloud (Amazon EC2) que ejecuta Amazon Linux 1 o Amazon Linux 2?
Breve descripción
Utilice los mensajes de salida del comando yum para determinar qué error se ha producido. Los mensajes de error más comunes son los siguientes:
- Connection timed out XXX milliseconds
- HTTP Error 403 - Forbidden
- Could not resolve host: xxxxxxxxx.$awsregion.$awsdomain
- HTTP Error 407 - Proxy Authentication Required
- Resolving timed out after 5000 milliseconds
Resolución
Connection timed out XXXX milliseconds
1. Compruebe que el grupo de seguridad adjunto a su instancia de EC2 permita el tráfico http/https saliente.
2. Compruebe que las ACL de red asociadas a la subred de su instancia de EC2 permitan el tráfico http/https saliente a través de sus NACL.
El siguiente ejemplo muestra una ACL de red personalizada que permite el tráfico saliente en los puertos 80 y 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. Compruebe que su instancia de EC2 tenga acceso a los repositorios de Amazon Linux mediante una de las siguientes opciones
- La instancia se encuentra en una subred pública con una puerta de enlace de Internet. Para obtener más información, consulte Habilitar el acceso a Internet.
- La instancia se encuentra en una subred privada con una puerta de enlace de NAT. Para obtener más información, consulte NAT gateways.
- La instancia se encuentra en una subred privada con una instancia de NAT. Para obtener más información, consulte Instancias de NAT.
- La instancia se encuentra en una subred pública o privada con un punto de conexión de VPC de Amazon Simple Storage Service (Amazon S3). Para obtener más información, consulte ¿Cómo puedo actualizar yum o instalar paquetes sin acceso a Internet en mis instancias de EC2 que ejecutan Amazon Linux 1, Amazon Linux 2 o Amazon Linux 2023?
- La instancia se encuentra en una subred privada con un proxy. Para configurar yum para que utilice un proxy, modifique el archivo /etc/yum.conf con los siguientes parámetros. En el siguiente ejemplo, sustituya proxy-port, proxy-username y proxy-password por los valores correctos para su proxy.
proxy=http://proxy-server-IP-address:proxy_port proxy_username="proxy-user-name" proxy_password="proxy-password"
Para obtener más información, consulte Using yum with a proxy server en el sitio web fedoraproject.org.
4. Tras configurar la instancia mediante una de las opciones anteriores, ejecute el siguiente comando curl para confirmar que la instancia puede acceder al repositorio. En el siguiente comando, sustituya us-east-1 por la región de su instancia.
Amazon Linux 1
curl -I repo.us-east-1.amazonaws.com
Amazon Linux 2
curl -I amazonlinux.us-east-1.amazonaws.com
Nota: curl está preinstalado en todas las AMI, pero no se puede acceder a los repositorios de Amazon Linux sin credenciales. curl no puede aceptar las credenciales de un repositorio de yum. Recibirá un mensaje de error de acceso denegado similar al que se muestra a continuación. El comando curl se usa para comprobar si el problema de tiempo de espera sigue ocurriendo. El mensaje de error muestra que se puede acceder a la red y que ya no se produce el problema de tiempo de espera:
$ 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
Para instalar software, como telnet, ejecute el siguiente comando:
sudo yum install telnet
HTTP Error 403 - Forbidden
1. Si utiliza un punto de conexión de VPC de Amazon S3 en la VPC de su instancia, compruebe que la política adjunta permita la llamada a la API S3:GetObject en los siguientes recursos:
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: Sustituya la región de los ejemplos anteriores por la región de su instancia.
Para obtener más información, consulte Puntos de enlace de gateway para Amazon S3.
2. Si utiliza un proxy para acceder a los repositorios de Amazon Linux, compruebe que los subdominios .amazonaws.com estén en la lista de permitidos de su configuración de proxy.
Could not resolve host: xxxxxxxx.$awsregion.$awsdomain
1. Ejecute los siguientes comandos para comprobar que el directorio /etc/yum/vars defina las variables yum personalizadas. El directorio debe incluir las variables awsdomain y awsregion. En el siguiente comando de ejemplo, sustituya us-east-1 por la región de su instancia.
$ cat /etc/yum/vars/awsregion us-east-1 $ cat /etc/yum/vars/awsdomain amazonaws.com
2. Verifique la resolución de DNS de su instancia. La instancia debe resolver el nombre de dominio de los repositorios de Amazon Linux:
$ dig amazonlinux.us-east-1.amazonaws.com $ dig repo.us-east-1.amazonaws.com
Las consultas al servidor DNS proporcionado por Amazon en la dirección IPv4 169.254.169.253 y en la dirección IPv6 fd00:ec2::253 se realizarán correctamente. Las consultas al servidor DNS proporcionado por Amazon a la dirección IP reservada situada en la base del rango de redes IPv4 de VPC más dos también se realizarán correctamente. Solo se puede acceder a la dirección IPv6 en las instancias de EC2 integradas en el sistema Nitro.
HTTP Error 407 - Proxy Authentication Required
Esto ocurre si su proxy no puede completar la solicitud porque yum no tiene las credenciales de autenticación adecuadas para su servidor proxy. Para configurar yum para que utilice un proxy, modifique el archivo /etc/yum.conf con los siguientes parámetros:
proxy=http://proxy-server-IP-address:proxy_port proxy_username=proxy-user-name proxy_password=proxy-password
Resolving timed out after 5000 milliseconds
Ejecute el siguiente comando para comprobar que el archivo /etc/resolv.conf tiene la IP correcta para su servidor DNS:
cat /etc/resolv.conf nameserver YourDNSIP
Puede modificar el período de tiempo de espera de 5000 milisegundos modificando el valor de tiempo de espera en el archivo de configuración de yum.
Para comprobar el tiempo de consulta mediante dig, ejecute el siguiente comando:
$ dig repo.us-east-1.amazonaws.com | grep time
Contenido relevante
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años