Comment résoudre l'échec de l'installation d'AWS Replication Agent sur mon instance Linux EC2 ?

Lecture de 7 minute(s)
0

J'installe l'agent de réplication AWS pour AWS Application Migration Service ou AWS Elastic Disaster Recovery. L'installation a échoué sur mon instance Linux Amazon Elastic Compute Cloud (Amazon EC2).

Résolution

Identifiez l'erreur

Le journal du programme d'installation d'AWS Replication Agent indique les erreurs qui commencent à la fin du journal. Exécutez la commande suivante pour afficher la dernière page du journal d'installation afin de déterminer l'erreur. Passez ensuite en revue la section suivante qui se rapporte à l'erreur.

less +G aws_replication_installer.log

La résolution suivante décrit les erreurs d'installation les plus courantes d'AWS Replication Agent sur les systèmes d'exploitation Linux.

libz.so .1 : impossible de mapper le segment à partir d'un objet partagé : Opération non autorisée

Exemple d'erreur

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

Le script d'installation utilise le répertoire /tmp. Si noexec est défini sur /tmp, libz.so ne peut pas mapper les segments. Dans ces cas vous recevez le message d'erreur Opération non autorisée.

Pour résoudre cette erreur, procédez comme suit :

1.    Exécutez la commande suivante pour démonter /tmp :

# umount /tmp

2.    Exécutez la commande suivante pour monter le volume avec l'autorisation exec :

# sudo mount /tmp -o remount, exec

Le jeton de sécurité inclus dans la demande a expiré

Exemple d'erreur

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]

Cette erreur est souvent due à l'expiration d'un rôle AWS Identify and Access Management (IAM). Lorsque le rôle IAM expire, les appels d'API au service de migration des applications ou au point de terminaison Elastic Disaster Recovery échouent.

Pour résoudre ce problème, actualisez le rôle IAM ou installez-le à l'aide d'une clé d'accès ou d'une clé d'accès secrète. Pour plus d'informations, consultez :

rmmod : ERREUR : Le module aws_replication_driver n'est pas chargé actuellement

Exemple d'erreur

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

Cette erreur se produit lorsque le démarrage sécurisé est activé dans l'instance source. Le démarrage sécurisé n'est pas pris en charge par Application Migration Service ou Elastic Disaster Recovery.

Pour résoudre cette erreur, désactivez le démarrage sécurisé dans l'instance source.

ssl.SSLCertVerificationError: [SSL: CERTIFICAT \ _VERIFY \ _FAILED ]

Exemple d'erreur

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>

**Remarque :**outre cette erreur, vous pouvez résoudre la plupart des erreurs URLlib/SSL en procédant comme suit.

Cette erreur peut se produire si le client utilise une ancienne version du système d'exploitation avec Python 3.10 ou une version ultérieure. Python 3.10 a ajouté la proposition PEP 644 — Require OpenSSL 1.1.1 ou une proposition plus récente.

Les anciennes versions du système d'exploitation ne disposent pas de la bibliothèque OpenSSL la plus récente compatible avec Python 3.10. L'installation d'AWS Replication Agent ne parvient donc pas à vérifier le certificat SSL auprès du service de migration des applications ou du point de terminaison Elastic Disaster Recovery.

Pour éviter cette erreur, utilisez une ancienne version de Python, telle que la version 2.7 ou 3.8.

botocore.exceptions.CredentialRetrievalError

Exemple d'erreur :

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

Cette erreur peut se produire si vous modifiez le rôle d'agent de réplication AWS, AWSElasticDisasterRecoveryAgentRole/ AWSApplicationMigrationAgentRole.

Pour résoudre cette erreur, assurez-vous que le rôle de l'agent de réplication AWS est le suivant :

Service de migration d'applications

{
  "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"
        }
      }
    }
  ]
}

Reprise après sinistre élastique

{
  "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-*"
        }
      }
    }
  ]
}

stderr : Une tâche de dépendance pour aws-replication.target a échoué.

Exemple d'erreur :

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

Les deux causes possibles de cette erreur sont les suivantes :

  • Le répertoire /var possède des autorisations de 754.
  • Un problème s'est produit lors de la création d'un groupe Linux pour l'utilisateur d'aws-replication.

Pour résoudre le problème /var, exécutez chmod 755 pour le répertoire /var.

Pour résoudre le problème du groupe Linux, procédez comme suit :

1.    Désinstallez complètement AWS Replication Agent.

2.    Exécutez les commandes suivantes pour supprimer l'utilisateur aws-replication et le groupe aws-replication :

# userdel aws-replication
# groupdel aws-replication

3.    Réinstallez AWS Replication Agent.

Pour en savoir plus et connaître les conditions requises pour l'installation, consultez :

Exception dans le thread « main » com.amazonaws.services.drs.model.InternalServerException

Exemple d'erreur :

Exception in thread "main" com.amazonaws.services.drs.model.InternalServerException: An unexpected error has occurred (Service: Drs; Status Code: 500; Error Code: InternalServerException; Request ID: 4f4a76cb-aaec-44cc-a07a-c3579454ca55; Proxy: null)

Cette erreur se produit si le client désactive le point de terminaison AWS STS. Si le point de terminaison AWS STS est désactivé, Application Migration Service ne peut pas appeler STS pour assumer le rôle dans le compte client. Il en va de même pour Elastic Disaster Recovery.

Pour résoudre cette erreur, activez le point de terminaison AWS STS dans le client. Pour en savoir plus, consultez la rubrique Activation et désactivation d'AWS STS dans une région AWS.

insmod : ERREUR : impossible d'insérer le module ./aws-replication-driver.ko : La clé requise n'est pas disponible

Cette erreur se produit si le démarrage sécurisé est activé sur le système d'exploitation. Application Migration Service et Elastic Disaster Recovery ne sont pas compatibles avec les systèmes d'exploitation Linux lorsque le démarrage sécurisé est activé.

Pour résoudre cette erreur, désactivez le démarrage sécurisé pour le système d'exploitation Linux. Sur la plupart des systèmes d'exploitation, désactivez le démarrage sécurisé dans l'hyperviseur.

insmod : ERREUR : impossible d'insérer le module ./aws-replication-driver.ko : Impossible d'allouer de la mémoire

Exemple d'erreur :

insmod: ERROR: could not insert module ./aws-replication-driver.ko: Cannot allocate memory
rmmod: ERROR: 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

Cette erreur se produit si le système d'exploitation Linux ne dispose pas de suffisamment de mémoire pour installer l'agent.

Pour résoudre cette erreur, assurez-vous que votre système d'exploitation dispose d'au moins 300 Mo de mémoire libre.

Erreur inattendue lors de la création du pilote de l'agent ! Les en-têtes du noyau Linux sont-ils correctement installés ?

Exemple d'erreur :

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

Lors de l'installation de l'agent, l'installation télécharge un package kernel-devel correspondant à partir du référentiel de packages configuré dans votre système d'exploitation Linux. Cette erreur se produit lorsque le flux de travail d'installation de l'agent ne parvient pas à installer le package kernel-devel correspondant sur le noyau en cours d'exécution du système d'exploitation Linux.

Pour résoudre cette erreur, consultez le journal d'installation pour vérifier qu'un problème s'est produit lors de l'accès au référentiel. Ensuite, téléchargez le package kernel-devel manuellement sur Internet. Après avoir téléchargé le package, relancez l'installation.

Vous pouvez télécharger le package kernel-devel/linux-headers correspondant à partir des sites suivants :

L'agent de réplication AWS installe également les dépendances requises pour l'installation, telles que make gcc perl tar gawk rpm. Pour en savoir plus, consultez la rubriqueConfiguration requise pour l’installation de Linux.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an