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-TroubleshootDMSEndpointConnection runbook 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 de l'analyseur d'accessibilité 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, faites-le d'abord, sinon vous devrez peut-être réexécuter ce runbook. L'instance de AWS DMS réplication et le point de terminaison doivent tous deux ê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 d'accessibilité exécutée par Reachability Analyzer entraîne également des frais. Pour plus de détails sur les tarifs, consultez la page de tarification d'
Fonctionnement
Le runbook effectue une analyse systématique de la AWS DMS connectivité à travers les phases suivantes :
Phase 1 : Validation des ressources et prérequis
-
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 : extrait 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 : rassemble les détails de configuration réseau, notamment l'identifiant Amazon VPC, les identifiants de sous-réseau, les identifiants des groupes de sécurité, et identifie l'interface Elastic Network (ENI) associée à l'instance de réplication.
Phase 2 : résolution DNS et découverte du chemin réseau
-
Résolution Amazon VPC-based DNS : 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).
-
Contrôle de compatibilité IPv6 : valide que les adresses résolues sont IPv4, car Reachability Analyzer ne prend pas en charge les adresses IPv6.
Phase 3 : Analyse complète du chemin réseau
-
Exécution de l'analyseur d'accessibilité : crée un chemin Network Insights 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é.
-
Multi-layer Analyse du réseau : examine le chemin réseau complet, y compris les tables de routage, les groupes de sécurité, les ACL réseau, les passerelles Internet, 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 d'échec de connectivité, fournit des explications spécifiques pour chaque composant du réseau qui bloque le trafic, notamment 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 aux défaillances avec des conseils de correction.
-
Gestion des ressources : nettoie automatiquement les ressources créées (fonction Lambda, rôles IAM, chemins Network Insights) sauf si le PersistReachabilityAnalyzerResults paramètre est défini pour conserver les résultats de l'analyse pour une analyse 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 prend en charge la connectivité de dépannage pour plusieurs moteurs de base de données, notamment Amazon Aurora, Amazon DocumentDB, Amazon DynamoDB, Amazon Neptune, Amazon Redshift, Amazon S3, Azure SQL Database, DB2, MySQL, Oracle, PostgreSQL, SQL Server et bien d'autres.
Exécutez 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 aucun 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, la politique gérée AutomationAssumeRole doit être associée afin AmazonVPCReachabilityAnalyzerFullAccessPolicy que les tests de l'analyseur d'accessibilité 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-TroubleshootDMSEndpointConnectionla section Documents dans Systems Manager. -
Sélectionnez Execute automation (Exécuter l'automatisation).
-
Pour les paramètres d'entrée, entrez les informations suivantes :
-
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 -
Schéma 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 -
Schéma 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 Network Insights Analysis 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 si aucun n'LambdaRoleArnest fourni. -
Type :
String -
Schéma 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 terminal 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 à partir de la configuration du terminal.
-
BranchOnEndpointAndCheckEngineErrors:
Branche l'automatisation en fonction des éventuelles erreurs survenues lors de la validation des terminaux. 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 connexion et le message d'erreur pour le AWS DMS terminal à 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 ; sinon, il procède à l'analyse de l'instance de réplication.
-
DescribeReplicationInstance:
Récupère les détails de configuration réseau de l'instance de AWS DMS réplication, notamment l'ID Amazon VPC, les ID de sous-réseau, les ID de groupe de sécurité, et identifie l'Elastic Network Interface (ENI) associée.
-
ValidateResourcePermissions:
Valide 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.
-
CreateDNSResolverLambda:
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 depuis 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 dépannage.
-
GetDNSResolverLambdaName:
Récupère le nom de la fonction Lambda du résolveur DNS à partir des sorties de la CloudFormation pile pour une utilisation dans les étapes suivantes.
-
ResolveDmsEndpoint:
Invoque la fonction Lambda pour convertir le nom d'hôte du AWS DMS point de terminaison en son adresse IP depuis Amazon VPC. Cela garantit une résolution DNS privée précise et valide la compatibilité IPv4.
-
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 en une adresse IPv6, 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 des terminaux. 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 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 lors du nettoyage. Cette étape garantit une gestion adéquate des ressources, quel que soit le succès ou l'échec de l'automatisation.
-
DeleteDNSResolverLambda:
Supprime la CloudFormation pile contenant la fonction Lambda du résolveur DNS et les ressources associées (sauf si cette option
PersistReachabilityAnalyzerResultsest définie surtrue), garantissant 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.status
État actuel du test de connexion entre l'instance de AWS DMS réplication et le point de terminaison (par exemple, réussite, échec, test).
-
DescribeCloudFormationErrorFromStackEvents.Events
Si la création de la CloudFormation pile échoue, cette sortie contient des événements d'erreur détaillés issus du processus de création de la pile pour aider à diagnostiquer les problèmes de déploiement de l'infrastructure.
-
GenerateReport.report
Un rapport de dépannage complet contenant les résultats de l'analyse des connexions, les résultats de l'analyseur d'accessibilité, 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.report
Si des erreurs se produisent pendant le processus d'automatisation, cette sortie fournit un rapport d'erreur détaillé comprenant les raisons spécifiques des défaillances, les ressources affectées et des conseils pour résoudre les problèmes avant de recommencer l'automatisation.
-
Références
Systems Manager Automation