Saltar al contenido

¿Cómo puedo migrar mi licencia de instancia de EC2 BYOL de RHEL a una licencia RHUI?

5 minutos de lectura
0

Tengo una instancia de Amazon Elastic Compute Cloud (Amazon EC2) que ejecuta Red Hat Enterprise Linux (RHEL) con una licencia Bring Your Own License (BYOL). Quiero migrarla para usar Red Hat Update Infrastructure (RHUI) para actualizaciones y parches.

Solución

Importante: Antes de detener e iniciar la instancia, lleva a cabo las siguientes acciones:

Nota: Al detener e iniciar una instancia, la dirección IP pública de la instancia cambia. Se recomienda utilizar una dirección IP elástica para enrutar el tráfico externo hacia la instancia en lugar de una dirección IP pública. Si usas Amazon Route 53, es posible que tengas que actualizar los registros DNS de Route 53 cuando cambies la dirección IP pública.

Para migrar la instancia a una licencia RHUI, sigue estos pasos:

  1. Si usas un proxy en tu instancia, desactiva el proxy para la dirección IP del servicio de metadatos de instancias (IMDS).

  2. Para identificar si la instancia usa una licencia BYOL o AWS, ejecuta el siguiente comando en función de tu versión de IMDS:
    IMDSv1:

    curl http://169.254.169.254/latest/dynamic/instance-identity/document 2>/dev/null | grep billingProducts

    IMDSv2:

    curl --noproxy '*' -w "\n" -s \
     -H "X-aws-ec2-metadata-token: \
     $(curl --noproxy '*' -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 300")" \
     http://169.254.169.254/latest/dynamic/instance-identity/document \
     | grep billingProducts

    Resultado de ejemplo:

    $ curl http://169.254.169.254/latest/dynamic/instance-identity/document 2>/dev/null | grep billingProducts
     "billingProducts" : null,

    Nota: Si billingProducts es nulo, la instancia usa BYOL.

  3. Utiliza una imagen de máquina de Amazon (AMI) de AWS Marketplace para iniciar una nueva instancia de RHEL con la misma versión de RHEL que la instancia original. Asegúrate de usar la misma zona de disponibilidad que la instancia original y, a continuación, selecciona un tipo de instancia similar.

  4. Ejecuta el siguiente comando para comprobar el código de facturación de la instancia y, a continuación, comprueba que la nueva instancia usa RHUI:

    curl http://169.254.169.254/latest/dynamic/instance-identity/document 2>/dev/null | grep billingProducts
     "billingProducts" : [ "bp-6fa54006" ],
  5. Ejecuta el siguiente comando para comprobar que la nueva instancia tiene instalado el paquete de cliente RHUI:

     sudo rpm -qa | grep rhui

    Resultado de ejemplo:

    $ sudo rpm -qa | grep rhui
    rh-amazon-rhui-client-4.0.4-1.el8.noarch
  6. Ejecuta uno de los siguientes comandos para descargar, pero no instalar, el archivo RPM del paquete cliente RHUI en la nueva instancia:

    sudo yum install --downloadonly --downloaddir=/tmp rh-amazon-rhui-client -y

    Alternativa:

    sudo yumdownloader --downloaddir=/tmp rh-amazon-rhui-client
  7. Ejecuta el siguiente comando para comprobar que has descargado correctamente el paquete RPM en la nueva instancia:

    ls -l /tmp | grep rh-amazon-rhui-client
    -rw-r--r--. 1 root root 43680 Mar 4 19:42 rh-amazon-rhui-client-4.0.5-1.el8.noarch.rpm
  8. Ejecuta uno de los siguientes comandos para copiar el archivo RPM del cliente RHUI de la instancia nueva a la original:

    scp /tmp/rh-amazon-rhui-client-*.rpm ec2-user@BYOL-instance-ip:/tmp/

    Alternativa:

    rsync -avz /tmp/rh-amazon-rhui-client-*.rpm ec2-user@BYOL-instance-ip:/tmp/
  9. Ejecuta el siguiente comando para eliminar la configuración y los paquetes de RHUI existentes de la instancia original:

    sudo yum remove $(rpm -qa | grep rhui) -y
  10. Ejecuta el siguiente comando para usar el archivo RPM copiado para instalar el cliente RHUI en la instancia original:

sudo yum install /tmp/rh-amazon-rhui-client-*.rpm -y
  1. Ejecuta el siguiente comando para comprobar que has instalado correctamente el paquete en la instancia original:
sudo rpm -qa | grep rhui
  1. Abre la consola de Amazon EC2 y anota la configuración de red de la instancia original, como la dirección IP, la dirección IP elástica y los grupos de seguridad. Es posible que tengas que crear estos ajustes en la nueva instancia.
  2. Detén las instancias nuevas y originales.
  3. Desconecta todos los volúmenes de Amazon EBS de ambas instancias. Anota los nombres o ID de los dispositivos de cada volumen de la instancia original.
  4. Adjunta los volúmenes de la instancia original a la nueva instancia.
    Nota: Utiliza los mismos nombres de dispositivo que tenían los volúmenes en la instancia original:
  5. Inicia la nueva instancia.
  6. Conéctate a la nueva instancia y, a continuación, ejecuta el siguiente comando para comprobar que puedes obtener el código de facturación:
curl http://169.254.169.254/latest/dynamic/instance-identity/document 2>/dev/null | grep billingProducts
"billingProducts" : [ "bp-6fa54006" ],
  1. Ejecuta el siguiente comando para comprobar que la configuración del repositorio es correcta:
sudo yum clean all
sudo yum repolist
  1. Elimina los volúmenes desconectados de la instancia original si ya no los necesitas. Puedes guardarlos como copia de seguridad mientras validas las actualizaciones.

Solución de problemas

Si la instancia no arranca después de intercambiar volúmenes, comprueba que has adjuntado los volúmenes a los nombres de dispositivo correctos. Si sigues teniendo problemas, crea una instantánea del volumen raíz y repite los pasos de resolución.

Si no puedes acceder al repositorio, ejecuta el siguiente comando para comprobar que has instalado el cliente RHUI:

rpm -qa | grep rhui

Comprueba también la conectividad de la red con el servidor de metadatos.

Información relacionada

Migra los sistemas BYOL de RHEL a instancias con licencia incluida de AWS mediante AWS Application Migration Service

Preguntas frecuentes sobre Red Hat Enterprise Linux en Amazon EC2

OFICIAL DE AWSActualizada hace 6 meses