¿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?

4 minutos de lectura
0

Quiero actualizar yum o instalar paquetes en mi instancia de Amazon Elastic Compute Cloud (Amazon EC2). La instancia ejecuta Amazon Linux 1, Amazon Linux 2 o Amazon Linux 2023 sin Internet.

Breve descripción

Los repositorios de Amazon Linux se alojan en buckets de Amazon Simple Storage Service (Amazon S3). Para actualizar e instalar paquetes en la instancia sin una conexión a Internet, cree un punto de conexión de puerta de enlace de S3 Amazon Virtual Private Cloud (Amazon VPC). En el punto de conexión de puerta de enlace de Amazon S3 VPC, incluya una política que permita el acceso a los buckets de los repositorios. A continuación, asocie el punto de conexión de VPC a la tabla de enrutamiento de la subred de la instancia.

Nota: Para activar los repositorios de terceros, como EPEL, la instancia de EC2 debe tener acceso a Internet a través de uno de los siguientes dispositivos:

Resolución

Prerrequisitos:

  • El grupo de seguridad asociado a la instancia de EC2 debe permitir el tráfico HTTP saliente.
  • El grupo de seguridad asociado a su punto de conexión de VPC de S3 debe permitir el tráfico HTTP entrante desde la subred de la instancia de EC2.
  • Las listas de control de acceso de la red (ACL de la red) que están asociadas a la subred de la instancia de EC2 deben permitir la salida por los puertos 80 (HTTP) y 443 (HTTPS) al servicio Amazon S3 de la región de AWS. También deben permitir la entrada por los puertos TCP efímeros del servicio Amazon S3 de la región de AWS. Los puertos efímeros son 1024-65535. El servicio Amazon S3 de la región de AWS es la CIDR (enrutamiento entre dominios sin clases) de la dirección IP pública del servicio S3. Las ACL de red no admiten listas de prefijos. Para agregar el CIDR de S3 a su ACL de red, utilice 0.0.0.0/0. También puede usar los CIDR de S3 reales en la ACL de red. Sin embargo, los CIDR de S3 pueden cambiar en cualquier momento.

1.    Abra la consola de Amazon EC2 y, a continuación, seleccione la instancia.

2.    En la pestaña Redes, anote el ID de VPC y el ID de subred.

3.    Abra la consola de Amazon VPC, elija Subredes y, a continuación, seleccione su ID de subred.

4.    Elija la pestaña Tabla de enrutamiento y, a continuación, anote el ID de tabla de enrutamiento.

5.    Elija Puntos de conexión y, a continuación, elija Crear punto de conexión.

6.    Cree el punto de conexión de puerta de enlace:
Si va a crear un punto de conexión en us-east-1, seleccione com.amazonaws.us-east-1.s3. Si va a crear un punto de conexión en otras regiones de AWS, seleccione el código de región correspondiente. Para obtener una lista completa de los códigos de región, consulte Regiones disponibles.
Para VPC, seleccione el ID de VPC de su instancia.
Para Configurar las tablas de enrutamiento, seleccione el ID de tabla de enrutamiento de su instancia.

7.    Para Política, elija Acceso total o Personalizado.

Si elige Acceso total, su política de puntos de conexión permite el acceso total a Amazon S3.

Si elige Personalizado, debe permitir la llamada a la API s3:GetObject en los buckets de los repositorios de Amazon Linux. En los siguientes ejemplos se usa us-east-1. Si su punto de conexión se encuentra en una región diferente, reemplace us-east-1 por su región.

Amazon Linux 2023

{
  "Statement": [
    {
      "Principal": "*",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::al2023-repos-us-east-1-de612dc2/*"
      ]
    }
  ]
}

Amazon Linux 2

Los repositorios están alojados en los buckets de S3 arn:aws:s3:::amazonlinux.us-east-1.amazonaws.com y arn:aws:s3:::amazonlinux-2-repos-us-east-1/*. El siguiente es un ejemplo de política que permite la llamada a la API s3:GetObject.

{
  "Statement": [
    {
      "Principal": "*",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::amazonlinux.us-east-1.amazonaws.com/*",
        "arn:aws:s3:::amazonlinux-2-repos-us-east-1/*"
      ]
    }
  ]
}

Amazon Linux 1

{
  "Statement": [
    {
      "Principal": "*",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::packages.us-east-1.amazonaws.com/*",
        "arn:aws:s3:::repo.us-east-1.amazonaws.com/*"
      ]
    }
  ]
}

8.    Elija Crear punto de conexión.

Tras crear el punto de conexión de VPC de S3, puede instalar y actualizar los paquetes en su instancia de Amazon Linux.

Información relacionada

Why am I receiving errors when using yum on my EC2 instance running Amazon Linux 1 or Amazon Linux 2?

Gateway endpoints for Amazon S3

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año