Como soluciono uma falha de instalação do AWS Replication Agent na minha instância Linux do EC2?

7 minuto de leitura
0

Quero instalar o AWS Replication Agent para o AWS Application Migration Service ou o AWS Elastic Disaster Recovery. A instalação falhou na minha instância Linux do Amazon Elastic Compute Cloud (Amazon EC2).

Resolução

A resolução a seguir aborda os erros mais comuns de instalação do AWS Replication Agent em sistemas operacionais (SOs) Linux.

Identificar o erro

O log do instalador do AWS Replication Agent mostra erros no final do log.

Para determinar o erro, execute o comando a seguir para visualizar a última página do log do instalador:

less +G aws_replication_installer.log

Para resolver o erro encontrado, siga o procedimento na seção relacionada ao erro.

Erro: failed to map segment from shared object: Operation not permitted

Exemplo de erro:

"./aws-replication-installer-64bit: error while loading shared libraries: libz.so .1: failed to map segment from shared object: Operation not permitted"

O script de instalação usa o diretório /tmp. Se noexec estiver definido em**/tmp**,então, libz.so não poderá mapear segmentos. Quando isso ocorre, você recebe o erro operation not permitted.

Para resolver esse erro, execute o seguinte comando para montar o volume com permissão de execução:

# sudo mount /tmp -o remount,exec

Erro: security token included in the request is expired

Exemplo de erro

"botocore.exceptions.ClientError: An error occurred (ExpiredTokenException) when calling the GetAgentInstallationAssetsForDrs operation: The security token included in the request is expired [installation_id: 1a9af9d3-9485-4e02-965e-611929428c61, agent_version: 3.7.0, mac_addresses: 206915885515739,206915885515740, _origin_client_type: installer]"

Esse erro geralmente é causado por uma função expirada do AWS Identify e no Access Management (IAM). Quando o perfil do IAM expira, as chamadas de API falham para o endpoint do Application Migration Service ou do Elastic Disaster Recovery.

Para resolver esse problema, atualize o perfil do IAM ou instale a função com uma chave de acesso ou chave de acesso secreta. Para obter mais informações, consulte a seguinte documentação da AWS:

Erro: Module aws_replication_driver is not currently loaded

Exemplo de erro

"rmmod: ERRO: Module aws_replication_driver is not currently loaded insmod: ERRO: could not insert module ./aws-replication-driver.ko: Required key not available"

Esse erro ocorre quando a inicialização segura é ativada na instância de origem. O Application Migration Service e o Elastic Disaster Recovery não oferecem suporte à inicialização segura.

Para resolver esse erro, desative a inicialização segura na instância de origem.

Erro: ssl.SSLCertVerificationError

Exemplo de erro

"ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997) - urllib.error.URLError: <urlopen error unknown url type: https>"

Esse erro pode ocorrer quando o cliente usa uma versão anterior do sistema operacional com o Python 3.10 ou posterior. O Python 3.10 adicionou o PEP 644 – Require OpenSSL 1.1.1 ou proposta mais recente em seu site Python Enhancement Proposals.

As versões anteriores do sistema operacional não têm a biblioteca OpenSSL mais recente que oferece suporte ao Python 3.10. Portanto, a instalação do Atendente AWS Replication falha ao verificar o certificado SSL no endpoint do Application Migration Service ou da Recuperação Elástica de Desastres.

Para evitar esse erro, use uma versão anterior do Python, como a versão 2.7 ou 3.8.

Observação: para resolver a maioria dos erros de urllib/SSL, use uma versão anterior do Python.

Erro: botocore.exceptions.CredentialRetrievalError

Exemplo de erro:

"botocore.exceptions.CredentialRetrievalError: Error when retrieving credentials from cert: Oct 17, 2022 9:38:54 AM com.amazonaws.cloudendure.credentials_provider.SharedMain createAndSaveJks"

Esse erro pode ocorrer quando você modifica o perfil do AWS Replication Agent AWSElasticDisasterRecoveryAgentRole para o Elastic Disaster Recovery e AWSApplicationMigrationAgentRole para o Application Migration Service.

Para resolver esse erro, certifique-se de que a função do Atendente de Replicação da AWS seja a seguinte:

Serviço de Migração da Aplicação

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "PrincipalGroup": {
        "AWS": "svc:mgn.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:SetSourceIdentity"
      ],
      "Condition": {
        "StringLike": {
          "sts:SourceIdentity": "s-*",
          "aws:SourceAccount": "AWSACCOUNTIDHERE"
        }
      }
    }
  ]
}

Recuperação Elástica de Desastre

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "PrincipalGroup": {
        "AWS": "svc:drs.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:SetSourceIdentity"
      ],
      "Condition": {
        "StringLike": {
          "aws:SourceAccount": "AWSACCOUNTIDHERE",
          "sts:SourceIdentity": "s-*"
        }
      }
    }
  ]
}

Erro: A dependency job for aws-replication.target failed.

Exemplo de erro:

"stderr: A dependency job for aws-replication.target failed. See 'journalctl -xe' for details"

Há duas causas possíveis para esse erro:

  • O diretório /var tem as permissões de 754.
  • Houve um problema durante a criação de um grupo Linux para o usuário aws-replication.

Para resolver o problema de /var, execute chmod 755 para o diretório /var.

Para resolver o problema do grupo Linux, conclua as seguintes etapas:

  1. Desinstale o AWS Replication Agent.

  2. Execute os seguintes comandos para excluir o usuário aws-replication e o grupo aws-replication:

    # userdel aws-replication
    # groupdel aws-replication
  3. Reinstale o AWS Replication Agent.

Para obter mais informações e conhecer os pré-requisitos de instalação, consulte a seguinte documentação da AWS:

Erro: Exception in thread "main" com.amazonaws.services.drs.model.InternalServerException

Exemplo de erro:

"Exception in thread "main" com.amazonaws.services.drs.model.InternalServerException: Ocorreu um erro inesperado (Serviço: Drs; Código de status: 500; Código de erro: InternalServerException; ID da solicitação: 4f4a76cb-aaec-44cc-a07a-c3579454ca55; Proxy: null"

Esse erro ocorre quando o cliente desativa o endpoint do AWS Security Token Service (AWS STS). Quando o endpoint do STS está desativado, o Application Migration Service ou o Elastic Disaster Recovery não podem chamar o AWS STS para assumir o perfil na conta do cliente.

Para resolver esse erro, ative o endpoint do STS no cliente.

Erro: could not insert module ./aws-replication-driver.ko: Required key not available

Esse erro ocorre quando o sistema operacional tem a inicialização segura ativada. O Application Migration Service e o Elastic Disaster Recovery não oferecem suporte a sistemas operacionais Linux com inicialização segura ativada.

Para resolver esse erro, desative a inicialização segura do sistema operacional Linux. Na maioria dos sistemas operacionais, é possível desativar a inicialização segura no hipervisor.

Erro: could not insert module ./aws-replication-driver.ko: Cannot allocate memory

Exemplo de erro:

"insmod: ERRO: could not insert module ./aws-replication-driver.ko: Cannot allocate memory rmmod: ERRO: Module aws_replication_driver is not currently loaded ] 2023-03-16 10:27:08,416 ERROR Exception during agent installation Traceback (most recent call last): File "cirrus/installer_shared/installer_main.py", line 308, in run_agent_installer_command_linux File "shared/installer_utils/command_utils.py", line 161, in run shared.installer_utils.command_utils.RunException: command: /tmp/tmp_t"

Esse erro ocorre quando o sistema operacional Linux não tem memória suficiente para a instalação do agente.

Para resolver esse erro, certifique-se de que o sistema operacional tenha pelo menos 300 MB de memória livre.

Erro: Erro inesperado ao criar o drive do atendente! Are kernel linux headers installed correctly?

Exemplo de erro:

"Unexpected error while making agent driver! Are kernel linux headers installed correctly? Installation returned with code 1Installation failed due to unspecified error:"

Quando você instala o agente, a instalação baixa um pacote kernel-devel que corresponde ao seu pacote atual. Você pode encontrar o pacote atual no repositório de pacotes que está configurado no seu sistema operacional Linux.

Esse erro ocorre quando o fluxo de trabalho de instalação do agente não consegue instalar o pacote kernel-devel no kernel em execução do sistema operacional Linux.

Para resolver esse erro, revise o log de instalação para verificar se o problema é devido ao acesso ao repositório. Em seguida, baixe manualmente o pacote kernel-devel da Internet. Depois de baixar o pacote, execute a instalação novamente.

É possível baixar o pacote kernel-devel nos seguintes sites:

O AWS Replication Agent também instala dependências que são necessárias para a instalação, como make gcc perl tar gawk rpm. Para mais informações, consulte Linux installation requirements.

AWS OFICIAL
AWS OFICIALAtualizada há um ano