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-TroubleshootAPIGatewayVpcLinkIntegration
Description
Le AWSSupport-TroubleshootAPIGatewayVpcLinkIntegration runbook vous aide à résoudre les problèmes liés aux intégrations Amazon API Gateway qui utilisent un lien Amazon Virtual Private Cloud (Amazon VPC). Utilisez ce runbook pour identifier les problèmes de configuration liés aux composants d'intégration sans inspecter chaque ressource séparément. Le runbook prend en charge les API REST et HTTP et effectue les vérifications suivantes :
Découverte de l'API et de l'intégration : identifie le type d'API et fait correspondre le chemin des ressources et la méthode HTTP à l'intégration configurée.
Validation du lien Amazon VPC : vérifie que l'intégration utilise un lien Amazon VPC et vérifie si le lien est disponible.
Analyse du backend : examine les ressources Elastic Load Balancing ou les ressources de découverte de AWS Cloud Map services associées à l'intégration.
Configuration réseau : évalue le routage des sous-réseaux, les groupes de sécurité et les ACL réseau entre un lien Amazon VPC de l'API HTTP et son équilibreur de charge.
État du récepteur et de la cible : valide la configuration du récepteur, les groupes cibles, l'état de santé de la cible et les architectures Network Load Balancer et Application Load Balancer prises en charge.
TLSvalidation des certificats : vérifie l'état du certificat, la confiance, la validité de la chaîne, son expiration et la couverture du nom d'hôte lorsque l'intégration l'utiliseTLS.
Limitations
Ce runbook présente les limites suivantes :
Le runbook fournit une analyse détaillée du backend uniquement pour les intégrations qui utilisent le
VPC_LINKtype de connexion.Pour les API HTTP, le runbook analyse les intégrations avec un écouteur Elastic Load Balancing ou un AWS Cloud Map service de découverte de services.
Le runbook valide les configurations d'écouteur HTTP et HTTPS standard sur les ports 80 et 443. Il ne valide pas les ports d'écoute personnalisés.
Le runbook ne prend pas en charge les configurations de liens Amazon VPC entre comptes.
Pour les liens Amazon VPC associés aux API HTTP, le runbook évalue la connectivité des groupes de sécurité et des listes de contrôle d'accès réseau uniquement sur le port TCP 443.
Conditions préalables
Avant d'exécuter l'automatisation, assurez-vous que le rôle IAM spécifié dans AutomationAssumeRole dispose des autorisations répertoriées. Si vous ne spécifiez aucun rôle, vous devez disposer de ces autorisations.
Comment ça marche
Le runbook effectue les validations et les analyses suivantes :
Identifie si l'API spécifiée est une API REST ou une API HTTP.
Fait correspondre le chemin de ressource et la méthode HTTP fournis à la ressource, à l'itinéraire et à l'intégration applicables.
Récupère l'intégration et la configuration du lien Amazon VPC, et vérifie l'état du lien Amazon VPC.
Analyse la configuration de l'équilibreur de charge ou AWS Cloud Map de découverte de services associée.
Valide la configuration du réseau, de l'écouteur, du certificat, du groupe cible et de l'état de santé de la cible, le cas échéant.
Génère un rapport contenant les problèmes détectés, les détails de configuration, les recommandations et les commandes AWS CLI pertinentes.
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.
apigateway:GETelasticloadbalancing:DescribeLoadBalancerselasticloadbalancing:DescribeListenerselasticloadbalancing:DescribeRuleselasticloadbalancing:DescribeTargetGroupselasticloadbalancing:DescribeTargetHealthec2:DescribeNetworkInterfacesec2:DescribeRouteTablesec2:DescribeSubnetsec2:DescribeSecurityGroupsec2:DescribePrefixListsec2:DescribeNetworkAclsservicediscovery:GetServiceservicediscovery:GetNamespaceacm:DescribeCertificate
Exemple de politique IAM :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "APIGatewayReadAccess", "Effect": "Allow", "Action": "apigateway:GET", "Resource": [ "arn:aws:apigateway:*::/restapis/*", "arn:aws:apigateway:*::/apis/*", "arn:aws:apigateway:*::/vpclinks/*" ] }, { "Sid": "LoadBalancerReadAccess", "Effect": "Allow", "Action": [ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetHealth" ], "Resource": "*" }, { "Sid": "EC2NetworkReadAccess", "Effect": "Allow", "Action": [ "ec2:DescribeNetworkInterfaces", "ec2:DescribeRouteTables", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribePrefixLists", "ec2:DescribeNetworkAcls" ], "Resource": "*" }, { "Sid": "ServiceDiscoveryReadAccess", "Effect": "Allow", "Action": [ "servicediscovery:GetService", "servicediscovery:GetNamespace" ], "Resource": [ "arn:aws:servicediscovery:*:ACCOUNTID:service/*", "arn:aws:servicediscovery:*:ACCOUNTID:namespace/*" ] }, { "Sid": "CertificateReadAccess", "Effect": "Allow", "Action": "acm:DescribeCertificate", "Resource": "arn:aws:acm:*:ACCOUNTID:certificate/*" } ] }
Instructions
Pour configurer l'automatisation, procédez comme suit :
-
Ouvrez AWSSupport-TroubleshootAPIGatewayVpcLinkIntegration
la console Systems Manager sous Documents. -
Choisissez Execute automation (Exécuter l’automatisation).
-
Pour les paramètres d'entrée, entrez les informations suivantes :
-
AutomationAssumeRole (Facultatif)
Le nom de ressource Amazon (ARN) du rôle IAM que Systems Manager Automation utilise pour effectuer des actions en votre nom. Si vous ne spécifiez aucun rôle, Systems Manager Automation utilise vos autorisations.
-
ApiId (Obligatoire)
L'ID à 10 caractères de l'API REST API Gateway ou de l'API HTTP que vous souhaitez résoudre.
-
ApiResourcePath (Obligatoire)
Le chemin des ressources de l'API avec l'intégration du lien Amazon VPC. Excluez l'étape et le chemin de base du domaine personnalisé. Par exemple,
/users/{id},/api/v1/productsou/health./Utilisez-le pour le chemin racine ou$defaultpour la route par défaut de l'API HTTP. -
ApiMethod (Obligatoire)
Méthode HTTP configurée pour le chemin de la ressource. Valeurs autorisées :
GETPOSTPUT,DELETE,PATCH,HEADOPTIONS, etANY. Pour un$defaultitinéraire d'API HTTP, choisissezANY.
-
-
Sélectionnez Execute (Exécuter).
-
L'automatisation démarre.
-
Le runbook exécute les étapes suivantes. Les branches conditionnelles peuvent ignorer des étapes qui ne s'appliquent pas à l'intégration :
-
ExtractApiTypeAndIntegrationParams— Identifie le type d'API et fait correspondre le chemin et la méthode fournis à une ressource d'API REST ou à une route d'API HTTP. -
GetApiIntegration— Récupère le type d'intégration, l'URI, le type de connexion, l'ID de connexion et TLS la configuration. -
BranchOnConnectionType— Poursuit l'analyse détaillée lorsque l'intégration utilise un lien Amazon VPC. Dans le cas contraire, le runbook génère le rapport. -
GetVpcLinkDetails— Récupère l'état de la liaison Amazon VPC, les ARN cibles, les groupes de sécurité et les sous-réseaux. -
BranchOnVpcLinkStatus— Poursuit l'analyse lorsque le lien Amazon VPC est disponible. Dans le cas contraire, le runbook génère le rapport. -
BranchOnAPIType— Achemine les API REST vers l'analyse de l'équilibreur de charge et les API HTTP vers l'analyse de l'intégration du backend. -
BranchOnIntegrationType— Achemine les API HTTP vers l'analyse de l'équilibreur de charge ou l'analyse AWS Cloud Map de découverte de services. -
GetLoadBalancerDetails— Récupère l'état, le type, le schéma, Amazon VPC, les groupes de sécurité, les sous-réseaux et PrivateLink les paramètres du groupe de sécurité. -
GetServiceDiscoveryDetails— Récupère les détails du AWS Cloud Map service et de l'espace de noms pour un backend de découverte de services. -
BranchOnLoadBalancerAvailability— Poursuit l'analyse de l'équilibreur de charge lorsque son état estactivedéfini. Dans le cas contraire, le runbook génère le rapport. -
BranchOnVPCLinkVersion— Achemine les liens Amazon VPC pour les API REST vers la validation de l'écouteur et les liens Amazon VPC pour les API HTTP vers la validation de la configuration réseau. -
VerifySubnetAndSecurityGroupConfig— Valide le routage des sous-réseaux, les règles des groupes de sécurité et les ACL réseau entre un lien Amazon VPC pour les API HTTP et son équilibreur de charge. -
DescribeAndValidateListenerConfig— Récupère les informations relatives à l'auditeur et valide la compatibilité des protocoles et des ports avec le point de terminaison d'intégration. -
BranchOnCertificateRequired— Achemine TLS les auditeurs vers la validation du certificat. D'autres auditeurs continuent de cibler l'analyse des groupes. -
DescribeAndValidateCertificate— Utilise les données AWS Certificate Manager (ACM) pour valider l'état du certificat, la confiance, la chaîne, l'expiration et la couverture du nom d'hôte. -
DescribeTargetsAndTargetGroups— Récupère le groupe cible de l'auditeur et évalue la santé de la cible et le type de cible. -
BranchOnTargetHealth— Se poursuit lorsque toutes les cibles sont saines. Dans le cas contraire, le runbook génère le rapport. -
BranchOnTargetType— Achemine une cible d'équilibreur de charge d'application vers une analyse d'écouteur supplémentaire lorsque le type d'équilibreur de charge parent est Network Load Balancer. -
VerifyTargetALBListeners— Valide le protocole Network Load Balancer et le protocole d'équilibrage de charge de l'application cible, le port, le bilan de santé, l'état de la cible et la compatibilité des certificats. -
GenerateReport— Consolide les résultats dans un rapport contenant les détails de configuration, les problèmes détectés, les recommandations et les références pertinentes.
-
-
Une fois terminé, passez en revue la section Résultats pour le rapport détaillé et l'état général.
Références
Systems Manager Automation