Ir para o conteúdo

Como faço para migrar minha licença de instância RHEL BYOL EC2 para uma licença RHUI?

5 minuto de leitura
0

Eu tenho uma instância do Amazon Elastic Compute Cloud (Amazon EC2) que executa o Red Hat Enterprise Linux (RHEL) com uma licença Bring Your Own (BYOL). Quero migrá-lo para usar o Red Hat Update Infrastructure (RHUI) para atualizações e patches.

Resolução

Importante: antes de parar e iniciar sua instância, execute as seguintes ações:

Observação: além disso, quando você interrompe ou executa uma instância, o endereço IP público da instância muda. Ao rotear tráfego externo para sua instância, é uma prática recomendada usar um endereço IP elástico em vez de um endereço IP público. Se você usa o Amazon Route 53, talvez seja necessário atualizar os registros DNS do Route 53 quando o endereço IP público mudar.

Para migrar sua instância para uma licença RHUI, conclua as seguintes etapas:

  1. Se você usar um proxy em sua instância, desative o proxy para o endereço IP do serviço de metadados de instância (IMDS).

  2. Para identificar se sua instância usa uma licença BYOL ou AWS, execute o seguinte comando com base na sua versão do 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

    Exemplo de saída:

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

    Observação: se billingProducts for nulo, a instância usará BYOL.

  3. Use uma imagem de máquina da Amazon (AMI) do AWS Marketplace para executar uma nova instância do RHEL com a mesma versão do RHEL da instância original. Certifique-se de usar a mesma zona de disponibilidade da instância original e, em seguida, selecione um tipo de instância semelhante.

  4. Execute o comando a seguir para verificar o código de cobrança da instância e, em seguida, verifique se a nova instância usa RHUI:

    curl http://169.254.169.254/latest/dynamic/instance-identity/document 2>/dev/null | grep billingProducts
     "billingProducts" : [ "bp-6fa54006" ],
  5. Execute o comando a seguir para verificar se a nova instância tem o pacote cliente RHUI instalado:

     sudo rpm -qa | grep rhui

    Exemplo de saída:

    $ sudo rpm -qa | grep rhui
    rh-amazon-rhui-client-4.0.4-1.el8.noarch
  6. Execute um dos seguintes comandos para baixar, mas não instalar, o arquivo RPM do pacote do cliente RHUI na nova instância:

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

    -ou-

    sudo yumdownloader --downloaddir=/tmp rh-amazon-rhui-client
  7. Execute o comando a seguir para verificar se você baixou corretamente o pacote RPM na nova instância:

    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. Execute um dos seguintes comandos para copiar o arquivo RPM do cliente RHUI da instância nova para a original:

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

    -ou-

    rsync -avz /tmp/rh-amazon-rhui-client-*.rpm ec2-user@BYOL-instance-ip:/tmp/
  9. Execute o comando a seguir para remover a configuração e os pacotes RHUI existentes da instância original:

    sudo yum remove $(rpm -qa | grep rhui) -y
  10. Execute o comando a seguir para usar o arquivo RPM copiado para instalar o cliente RHUI na instância original:

sudo yum install /tmp/rh-amazon-rhui-client-*.rpm -y
  1. Execute o comando a seguir para verificar se você instalou corretamente o pacote na instância original:
sudo rpm -qa | grep rhui
  1. Abra o console do Amazon EC2 e anote a configuração de rede da sua instância original, como endereço IP, endereço IP elástico e grupos de segurança. Talvez seja necessário criar essas configurações na nova instância.
  2. Pare as instâncias novas e originais.
  3. Separe todos os volumes do Amazon EBS das duas instâncias. Anote os nomes ou IDs dos dispositivos de cada volume na instância original.
  4. Anexe os volumes da instância original à nova instância.
    Observação: Use os mesmos nomes de dispositivos que os volumes tinham na instância original:
  5. Inicie a nova instância.
  6. Conecte-se à nova instância e, em seguida, execute o comando a seguir para verificar se você pode obter o código de cobrança:
curl http://169.254.169.254/latest/dynamic/instance-identity/document 2>/dev/null | grep billingProducts
"billingProducts" : [ "bp-6fa54006" ],
  1. Execute o comando a seguir para verificar se a configuração do repositório está correta:
sudo yum clean all
sudo yum repolist
  1. Exclua os volumes desanexados da instância original se você não precisar mais deles. É possível mantê-los como backup ao validar suas atualizações.

Solucionar problemas

Se a instância não inicializar após a troca de volumes, verifique se você anexou os volumes aos nomes corretos dos dispositivos. Se você ainda encontrar problemas, crie um snapshot do volume raiz e repita as etapas de resolução.

Se não for possível acessar o repositório, execute o seguinte comando para verificar se você instalou o cliente RHUI:

rpm -qa | grep rhui

Além disso, verifique sua conectividade de rede com o servidor de metadados.

Informações relacionadas

Migre sistemas RHEL BYOL para instâncias incluídas na licença da AWS usando o AWS Application Migration Service

Perguntas frequentes sobre o Red Hat Enterprise Linux no Amazon EC2

AWS OFICIALAtualizada há 6 meses