Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWSSupport-TroubleshootDMSEndpointConnection
Description
Le AWSSupport-TroubleshootDMSEndpointConnectionrunbook permet de diagnostiquer et de résoudre les problèmes de connectivité entre les instances de AWS Database Migration Service réplication et AWS DMS les points de terminaison. L'automatisation utilise les contrôles Reachability Analyzer pour tester la connectivité réseau et analyse la configuration du réseau afin d'identifier les problèmes de connectivité potentiels susceptibles d'empêcher la réussite des migrations. AWS DMS
Important
Vous devez avoir testé la connectivité entre l'instance de AWS DMS réplication et le point de terminaison à l'aide de la AWS DMS console ou de l'API avant d'exécuter ce runbook. Si vous n'avez pas testé la connexion, veuillez d'abord le faire, sinon vous devrez peut-être réexécuter ce runbook. L'instance de AWS DMS réplication et le point de terminaison doivent être disponibles pour des tests de connectivité précis.
Important
Ce runbook crée et invoque des AWS Lambda fonctions, qui entraîneront des frais Lambda. Chaque analyse de Reachability Analyzer entraîne également des frais. Pour plus de détails sur les tarifs, consultez la page de tarification d'Amazon VPC
Fonctionnement
Le runbook effectue une analyse systématique de la AWS DMS connectivité selon les phases suivantes :
Phase 1 : Validation des ressources et conditions préalables
-
Validation du point de AWS DMS terminaison : vérifie que le point de terminaison existe, récupère sa configuration (nom du serveur, port, type de moteur) et confirme que le moteur de base de données est pris en charge pour le dépannage.
-
État du test de connexion : récupère l'état actuel du test de connexion entre l'instance de réplication et le point de terminaison à l'aide de l' AWS DMS
DescribeConnectionsAPI, y compris les messages d'échec des tentatives de test précédentes. -
Analyse de l'instance de réplication : collecte les détails de configuration réseau, notamment l'identifiant Amazon VPC, le IDs sous-réseau, le IDs groupe de sécurité, et identifie l'interface réseau élastique (ENI) associée à l'instance de réplication.
Phase 2 : résolution du DNS et découverte du chemin réseau
-
Résolution DNS basée sur Amazon VPC : crée une fonction Lambda temporaire dans le même Amazon VPC que l'instance de réplication pour résoudre le nom d'hôte du point de terminaison en son adresse IP depuis le contexte Amazon VPC, garantissant ainsi une résolution DNS privée précise.
-
Identification de la cible : détermine la cible appropriée pour Reachability Analyzer selon que le point de terminaison se trouve dans le même Amazon VPC (utilise ENI) ou externe (utilise une adresse IP résolue).
-
IPv6 Contrôle de compatibilité : vérifie que les adresses résolues le sont IPv4, car Reachability Analyzer ne prend pas en charge les adresses. IPv6
Phase 3 : Analyse complète du chemin du réseau
-
Exécution de l'analyseur de reachabilité : crée un chemin d'information réseau entre l'instance de réplication ENI et la cible (ENI du point de terminaison ou adresse IP) et exécute une analyse complète pour tester la connectivité TCP sur le port spécifié.
-
Analyse du réseau multicouche : examine le chemin réseau complet, y compris les tables de routage, les groupes de sécurité, le réseau, les passerelles Internet ACLs, les passerelles NAT, les connexions d'appairage Amazon VPC et les passerelles de transit afin d'identifier les obstacles à la connectivité.
-
Génération d'explications détaillées : en cas de défaillance de la connectivité, fournit des explications spécifiques pour chaque composant réseau bloquant le trafic, y compris les numéros de règles exacts, les blocs CIDR, les plages de ports et les restrictions de protocole.
Phase 4 : Génération de rapports et nettoyage des ressources
-
Rapports complets : génère un rapport détaillé contenant un résumé des tests de connexion, les résultats de l'analyse des chemins réseau et des explications spécifiques sur les défaillances avec des conseils de correction.
-
Gestion des ressources : nettoie automatiquement les ressources créées (fonction Lambda, rôles IAM, chemins d'informations réseau), sauf si PersistReachabilityAnalyzerResults le paramètre est défini pour conserver les résultats d'analyse à des fins d'investigation plus approfondie.
-
Gestion des erreurs : fournit des rapports d'erreur spécifiques pour divers scénarios de défaillance, notamment les moteurs de base de données non pris en charge, les ressources manquantes, les échecs de résolution DNS et les problèmes d'autorisation.
Le runbook permet de résoudre les problèmes de connectivité pour plusieurs moteurs de base de données, notamment Amazon Aurora, Amazon DocumentDB, Amazon DynamoDB, Amazon Neptune, Amazon Redshift, Amazon S3, Azure SQL Database, MySQL, Oracle, PostgreSQL DB2, SQL Server et bien d'autres.
Exécuter cette automatisation (console)
Type de document
Automatisation
Propriétaire
Amazon
Plateformes
/
Autorisations IAM requises
Le AutomationAssumeRole paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
-
cloudformation:CreateStack -
cloudformation:DeleteStack -
cloudformation:DescribeStacks -
cloudformation:DescribeStackEvents -
dms:DescribeEndpoints -
dms:DescribeReplicationInstances -
dms:DescribeConnections -
iam:GetRole -
iam:PassRole -
iam:SimulatePrincipalPolicy -
lambda:CreateFunction -
lambda:DeleteFunction -
lambda:GetFunction -
lambda:InvokeFunction -
lambda:ListTags -
lambda:TagResource -
lambda:UntagResource -
lambda:UpdateFunctionCode
Autorisations IAM facultatives
Les autorisations suivantes ne sont requises que AutomationAssumeRole si vous ne fournissez pas de LambdaRoleArn paramètre et que vous souhaitez que l'automatisation crée le rôle d'exécution Lambda pour vous :
-
iam:CreateRole -
iam:DeleteRole -
iam:AttachRolePolicy -
iam:DetachRolePolicy -
iam:TagRole -
iam:UntagRole
Important
Outre les actions mentionnées ci-dessus, Amazon AutomationAssumeRole doit être associé à une politique gérée afin VPCReachability AnalyzerFullAccessPolicy que les tests de Reachability Analyzer soient effectués avec succès.
Exemple de politique :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDMSTroubleshootingActions", "Effect": "Allow", "Action": [ "dms:DescribeEndpoints", "dms:DescribeReplicationInstances", "dms:DescribeConnections", "lambda:GetFunction", "lambda:ListTags", "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:TagResource", "lambda:UntagResource", "lambda:UpdateFunctionCode", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:CreateStack", "cloudformation:DeleteStack", "iam:GetRole", "iam:SimulatePrincipalPolicy", "iam:CreateRole", "iam:DeleteRole", "iam:TagRole", "iam:UntagRole" ], "Resource": "*" }, { "Sid": "AllowDMSLambdaInvocation", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:*:lambda:*:*:function:AWSSupport-TroubleshootDMSEndpointConnection-*" }, { "Sid": "AllowPassRoleToDMSLambda", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:*:iam::*:role/AWSSupport-TroubleshootDMSEndpointConnection-*", "Condition": { "StringLikeIfExists": { "iam:PassedToService": "lambda.amazonaws.com" } } }, { "Sid": "AllowRolePolicyManagement", "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:DetachRolePolicy" ], "Resource": "*", "Condition": { "StringLikeIfExists": { "iam:ResourceTag/AWSSupport-TroubleshootDMSEndpointConnection": "true" } } } ] }
Instructions
Pour configurer l'automatisation, procédez comme suit :
-
Accédez
AWSSupport-TroubleshootDMSEndpointConnectionà Systems Manager sous Documents. -
Sélectionnez Execute automation (Exécuter l'automatisation).
-
Pour les paramètres d'entrée, entrez ce qui suit :
-
AutomationAssumeRole (Facultatif) :
-
Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à SSM Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, SSM Automation utilise les autorisations de l'utilisateur qui lance ce runbook.
-
Type :
AWS::IAM::Role::Arn
-
-
DmsEndpointArn (Obligatoire)
-
Description : (Obligatoire) Le nom de ressource Amazon (ARN) du AWS Database Migration Service point de terminaison.
-
Type :
String -
Modèle autorisé :
^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):dms:[a-z0-9-]+:\\d{12}:endpoint:[A-Z0-9]{1,48}$
-
-
DmsReplicationInstanceArn (Obligatoire)
-
Description : (Obligatoire) Le nom de ressource Amazon (ARN) de l'instance de AWS Database Migration Service réplication.
-
Type :
String -
Modèle autorisé :
^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):dms:[a-z0-9-]+:\\d{12}:rep:[A-Z0-9]+$
-
-
PersistReachabilityAnalyzerResults (Facultatif)
-
Description : (Facultatif) L'indicateur indiquant si les résultats de l'exécution de l'analyse Network Insights doivent être conservés ou non.
-
Type :
Boolean -
Valeurs autorisées :
[true, false] -
Valeur par défaut :
false
-
-
LambdaRoleArn (Facultatif)
-
Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle AWS Gestion des identités et des accès AWS (IAM) qui permet à la AWS Lambda fonction d'accéder aux AWS services et ressources requis. Si aucun rôle n'est spécifié, cette automatisation de Systems Manager créera un rôle IAM pour Lambda dans votre compte.
-
Type :
AWS::IAM::Role::Arn -
Valeur par défaut :
""
-
-
Reconnaître (obligatoire)
-
Description : (Obligatoire) Entrez
yespour confirmer que ce runbook créera une fonction Lambda dans votre compte et créera un rôle IAM siLambdaRoleArnce n'est pas le cas. -
Type :
String -
Modèle autorisé :
^[Yy][Ee][Ss]$
-
-
-
Sélectionnez Exécuter.
-
L'automatisation démarre.
-
Le document exécute les étapes suivantes :
-
DescribeEndpointAndCheckEngine:
Récupère la configuration du AWS DMS point de terminaison et valide si le type de moteur de base de données est pris en charge pour le dépannage. Extrait le nom du serveur, le port et le type de moteur de la configuration du point de terminaison.
-
BranchOnEndpointAndCheckEngineErrors:
Branche l'automatisation en fonction des erreurs liées à la validation du point de terminaison. Si des erreurs sont détectées, l'automatisation génère un rapport d'erreur ; sinon, elle poursuit les tests de connectivité.
-
GetTestConnectionStatus:
Récupère l'état de la connexion et le message d'erreur pour le AWS DMS point de terminaison à l'aide de l'
DescribeConnectionsAPI. Cette étape vérifie si un test de connexion a été effectué et capture les éventuels messages d'échec. -
BranchOnTestConnectionStatusErrors:
Branche l'automatisation en fonction des erreurs d'état des tests de connexion. Si des erreurs sont détectées, l'automatisation génère un rapport d'erreur ; dans le cas contraire, elle procède à l'analyse des instances de réplication.
-
DescribeReplicationInstance:
Récupère les détails de configuration réseau de l'instance de AWS DMS réplication, notamment l'identifiant Amazon VPC, le IDs sous-réseau, le IDs groupe de sécurité, et identifie l'Elastic Network Interface (ENI) associée.
-
ValidateResourcePermissions:
Vérifie que le rôle d'exécution dispose des autorisations nécessaires pour nettoyer les ressources qui seront créées au cours du processus d'automatisation.
-
Créez DNSResolver Lambda :
Crée une AWS CloudFormation pile contenant une fonction Lambda déployée dans le même Amazon VPC que l'instance de réplication. Cette fonction est utilisée pour convertir les noms DNS en adresses IP privées dans le contexte Amazon VPC.
-
DescribeCloudFormationErrorFromStackEvents:
Si la création de la CloudFormation pile échoue, cette étape décrit les erreurs liées aux événements de la pile afin de fournir des informations détaillées sur les défaillances à des fins de résolution des problèmes.
-
Obtenez DNSResolver LambdaName :
Récupère le nom de la fonction Lambda du résolveur DNS à partir des sorties de la CloudFormation pile pour l'utiliser dans les étapes suivantes.
-
ResolveDmsEndpoint:
Invoque la fonction Lambda pour convertir le nom d'hôte AWS DMS du point de terminaison en adresse IP depuis Amazon VPC. Cela garantit une résolution DNS privée précise et valide la IPv4 compatibilité.
-
BranchOnResolveDmsEndpointErrors:
Branche l'automatisation en fonction des erreurs de résolution DNS. Si le point de terminaison ne peut pas être résolu ou s'il est résolu à une IPv6 adresse, l'automatisation génère un rapport d'erreur.
-
GetReachabilityAnalyzerTarget:
Identifie la cible appropriée pour Reachability Analyzer en fonction de la configuration Amazon VPC et de l'emplacement du point de terminaison. Détermine s'il faut utiliser une adresse ENI (pour les mêmes points de terminaison Amazon VPC) ou une adresse IP (pour les points de terminaison externes) comme cible.
-
GenerateErrors:
Crée un rapport d'erreur complet lorsque des défaillances se produisent au cours des étapes précédentes. Cela inclut des informations sur les erreurs de validation des terminaux, les échecs des tests de connexion ou les problèmes de résolution du DNS, avec des conseils de correction spécifiques.
-
GenerateReport:
Crée un rapport de dépannage complet contenant l'état de la connexion, les résultats de l'analyse du chemin réseau à l'aide de Reachability Analyzer, des explications détaillées sur les obstacles à la connectivité et des actions recommandées pour les résoudre.
-
CheckStackExists:
Vérifie si la CloudFormation pile a été créée avec succès et doit être supprimée pendant le nettoyage. Cette étape garantit une gestion appropriée des ressources, quel que soit le succès ou l'échec de l'automatisation.
-
Supprimer DNSResolver Lambda :
Supprime la CloudFormation pile contenant la fonction Lambda du résolveur DNS et les ressources associées (sauf si elle
PersistReachabilityAnalyzerResultsest définie surtrue), garantissant ainsi qu'il ne reste aucune ressource résiduelle une fois l'automatisation terminée.
-
-
Une fois terminé, consultez la section Sorties pour obtenir les résultats détaillés de l'exécution :
-
GetTestConnectionStatus.statut
État actuel du test de connexion entre l'instance de AWS DMS réplication et le point de terminaison (par exemple, succès, échec, test).
-
DescribeCloudFormationErrorFromStackEvents.Évènements
Si la création de la CloudFormation pile échoue, ce résultat contient des événements d'erreur détaillés liés au processus de création de la pile pour aider à diagnostiquer les problèmes de déploiement de l'infrastructure.
-
GenerateReport.rapport
Un rapport de dépannage complet contenant les résultats de l'analyse des connexions, les conclusions de Reachability Analyzer, l'analyse du chemin réseau, les obstacles de connectivité spécifiques identifiés et des recommandations de correction détaillées avec des liens vers la documentation pertinente. AWS
-
GenerateErrors.rapport
Si des erreurs se produisent pendant le processus d'automatisation, ce résultat fournit un rapport d'erreur détaillé incluant les raisons spécifiques de l'échec, les ressources affectées et des conseils pour résoudre les problèmes avant de réessayer l'automatisation.
-
Références
Systems Manager Automation