View a markdown version of this page

AWSSupport-TroubleshootAPIGatewayVpcLinkIntegration - AWS Systems Manager Riferimento al runbook dell’automazione

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWSSupport-TroubleshootAPIGatewayVpcLinkIntegration

Description

Il AWSSupport-TroubleshootAPIGatewayVpcLinkIntegration runbook ti aiuta a risolvere i problemi relativi alle integrazioni di Amazon API Gateway che utilizzano un link Amazon Virtual Private Cloud (Amazon VPC). Usa questo runbook per identificare i problemi di configurazione tra i componenti di integrazione senza ispezionare ogni risorsa separatamente. Il runbook supporta le API REST e le API HTTP ed esegue i seguenti controlli:

  • Rilevamento di API e integrazioni: identifica il tipo di API e abbina il percorso della risorsa e il metodo HTTP all'integrazione configurata.

  • Convalida del link Amazon VPC: verifica che l'integrazione utilizzi un link Amazon VPC e controlla se il link è disponibile.

  • Analisi backend: esamina le risorse di Elastic Load Balancing o le risorse di individuazione dei AWS Cloud Map servizi associate all'integrazione.

  • Configurazione di rete: valuta il routing della sottorete, i gruppi di sicurezza e gli ACL di rete tra un collegamento Amazon VPC con API HTTP e il relativo sistema di bilanciamento del carico.

  • Integrità del listener e del target: convalida la configurazione del listener, i gruppi target, lo stato del target e le architetture Network Load Balancer e Application Load Balancer supportate.

  • TLSconvalida del certificato: verifica lo stato, l'attendibilità, la validità della catena, la scadenza e la copertura del nome host del certificato quando l'integrazione lo utilizza. TLS

Limitazioni

Questo runbook presenta le seguenti limitazioni:

  • Il runbook fornisce un'analisi dettagliata del backend solo per le integrazioni che utilizzano il tipo di connessione. VPC_LINK

  • Per le API HTTP, il runbook analizza le integrazioni con un listener Elastic Load Balancing o un servizio di rilevamento dei servizi. AWS Cloud Map

  • Il runbook convalida le configurazioni standard dei listener HTTP e HTTPS sulle porte 80 e 443. Non convalida le porte di listener personalizzate.

  • Il runbook non supporta configurazioni di link Amazon VPC tra account.

  • Per i collegamenti Amazon VPC associati alle API HTTP, il runbook valuta la connettività ACL del gruppo di sicurezza e della rete solo sulla porta TCP 443.

Prerequisiti

Prima di eseguire l'automazione, assicurati che il ruolo IAM specificato in disponga delle autorizzazioni elencate. AutomationAssumeRole Se non specifichi un ruolo, devi disporre di queste autorizzazioni.

Come funziona

Il runbook esegue la convalida e l'analisi seguenti:

  • Identifica se l'API specificata è un'API REST o un'API HTTP.

  • Abbina il percorso della risorsa e il metodo HTTP forniti alla risorsa, al percorso e all'integrazione applicabili.

  • Recupera l'integrazione e la configurazione del collegamento Amazon VPC e verifica lo stato del collegamento Amazon VPC.

  • Analizza la configurazione associata del load balancer o del service discovery. AWS Cloud Map

  • Convalida la configurazione dello stato di rete, del listener, del certificato, del gruppo di destinazione e del target, se applicabile.

  • Genera un report con i problemi rilevati, i dettagli di configurazione, i consigli e i comandi AWS CLI pertinenti.

Esegui questa automazione (console)

Tipo di documento

Automazione

Proprietario

Amazon

Piattaforme

/

Autorizzazioni IAM richieste

Il AutomationAssumeRole parametro richiede le seguenti azioni per utilizzare correttamente il runbook.

  • apigateway:GET

  • elasticloadbalancing:DescribeLoadBalancers

  • elasticloadbalancing:DescribeListeners

  • elasticloadbalancing:DescribeRules

  • elasticloadbalancing:DescribeTargetGroups

  • elasticloadbalancing:DescribeTargetHealth

  • ec2:DescribeNetworkInterfaces

  • ec2:DescribeRouteTables

  • ec2:DescribeSubnets

  • ec2:DescribeSecurityGroups

  • ec2:DescribePrefixLists

  • ec2:DescribeNetworkAcls

  • servicediscovery:GetService

  • servicediscovery:GetNamespace

  • acm:DescribeCertificate

Policy IAM di esempio:

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

Istruzioni

Segui questi passaggi per configurare l'automazione:

  1. Apri AWSSupport-TroubleshootAPIGatewayVpcLinkIntegration nella console di Systems Manager in Documenti.

  2. Scegli Esegui automazione.

  3. Per i parametri di input, inserisci quanto segue:

    • AutomationAssumeRole (Facoltativo)

      L'Amazon Resource Name (ARN) del ruolo IAM utilizzato da Systems Manager Automation per eseguire azioni per tuo conto. Se non specifichi un ruolo, Systems Manager Automation utilizza le tue autorizzazioni.

    • ApiId (Obbligatorio)

      L'ID di 10 caratteri dell'API REST o dell'API HTTP di API Gateway che desideri risolvere.

    • ApiResourcePath (Obbligatorio)

      Il percorso delle risorse API con l'integrazione di Amazon VPC Link. Escludi la fase e il percorso di base del dominio personalizzato. Ad esempio, /users/{id}, /api/v1/products o /health. Usalo / per il percorso principale o $default per il percorso predefinito dell'API HTTP.

    • ApiMethod (Obbligatorio)

      Il metodo HTTP configurato per il percorso della risorsa. Valori consentiti: GET POSTPUT,DELETE,PATCH,HEAD,OPTIONS, eANY. Per una $default route API HTTP, scegliANY.

  4. Scegli Esegui.

  5. L'automazione viene avviata.

  6. Il runbook esegue i seguenti passaggi. I rami condizionali potrebbero saltare i passaggi che non si applicano all'integrazione:

    • ExtractApiTypeAndIntegrationParams— Identifica il tipo di API e abbina il percorso e il metodo forniti a una risorsa API REST o a una route API HTTP.

    • GetApiIntegration— Recupera il tipo di integrazione, l'URI, il tipo di connessione, l'ID di connessione e TLS la configurazione.

    • BranchOnConnectionType— Continua l'analisi dettagliata quando l'integrazione utilizza un link Amazon VPC. Altrimenti, il runbook genera il report.

    • GetVpcLinkDetails— Recupera lo stato del collegamento Amazon VPC, gli ARN di destinazione, i gruppi di sicurezza e le sottoreti.

    • BranchOnVpcLinkStatus— Continua l'analisi quando il link Amazon VPC è disponibile. Altrimenti, il runbook genera il report.

    • BranchOnAPIType— Indirizza le API REST all'analisi del load balancer e le API HTTP all'analisi di integrazione del backend.

    • BranchOnIntegrationType— Indirizza le API HTTP all'analisi del load balancer o all'analisi del service discovery. AWS Cloud Map

    • GetLoadBalancerDetails— Recupera lo stato, il tipo, lo schema, Amazon VPC, i gruppi di sicurezza, le sottoreti e le impostazioni dei gruppi di sicurezza del sistema di bilanciamento del carico. PrivateLink

    • GetServiceDiscoveryDetails— Recupera i dettagli del AWS Cloud Map servizio e dello spazio dei nomi per un backend di service discovery.

    • BranchOnLoadBalancerAvailability— Continua l'analisi del load balancer quando è in stato. active Altrimenti, il runbook genera il report.

    • BranchOnVPCLinkVersion— Indirizza i link Amazon VPC per le API REST alla convalida del listener e i link Amazon VPC per le API HTTP alla convalida della configurazione di rete.

    • VerifySubnetAndSecurityGroupConfig— Convalida il routing della sottorete, le regole dei gruppi di sicurezza e gli ACL di rete tra un collegamento Amazon VPC per le API HTTP e il relativo sistema di bilanciamento del carico.

    • DescribeAndValidateListenerConfig— Recupera i dettagli del listener e convalida la compatibilità del protocollo e delle porte con l'endpoint di integrazione.

    • BranchOnCertificateRequired— Indirizza gli TLS ascoltatori alla convalida del certificato. Gli altri ascoltatori continuano ad analizzare il gruppo target.

    • DescribeAndValidateCertificate— Utilizza i dati AWS Certificate Manager (ACM) per convalidare lo stato del certificato, l'attendibilità, la catena, la scadenza e la copertura del nome host.

    • DescribeTargetsAndTargetGroups— Recupera il gruppo target degli ascoltatori e valuta lo stato e il tipo di target.

    • BranchOnTargetHealth— Continua quando tutti i bersagli sono sani. Altrimenti, il runbook genera il rapporto.

    • BranchOnTargetType— Indirizza un target Application Load Balancer a un'analisi aggiuntiva del listener quando il tipo di load balancer principale è Network Load Balancer.

    • VerifyTargetALBListeners— Convalida il protocollo di Network Load Balancer e il protocollo Application Load Balancer di destinazione, la porta, il controllo dello stato, lo stato del target e la compatibilità dei certificati.

    • GenerateReport— Consolida i risultati in un report con dettagli di configurazione, problemi rilevati, raccomandazioni e riferimenti pertinenti.

  7. Dopo il completamento, consulta la sezione Risultati per il rapporto dettagliato e lo stato generale.

Riferimenti

Systems Manager Automation