View a markdown version of this page

AWSSupport-TroubleshootMSKClusterConnection - 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-TroubleshootMSKClusterConnection

Description

Il AWSSupport-TroubleshootMSKClusterConnection runbook diagnostica e aiuta a risolvere i problemi di connettività del cluster Amazon Managed Streaming for Apache Kafka. Esegue l'analisi dello stato dei broker, la convalida della configurazione di rete, i test di connettività in tempo reale e la verifica dell'autenticazione. AWS Identity and Access Management

Come funziona

Il runbook esegue le seguenti operazioni:

  1. Verifica delle autorizzazioni: verifica che il ruolo di esecuzione disponga di tutte le autorizzazioni richieste prima di procedere, impedendo la creazione parziale di risorse a causa di autorizzazioni insufficienti.

  2. Analisi del cluster: recupera la configurazione e i metadati del cluster Amazon MSK per comprendere lo stato attuale del cluster.

  3. Controllo dello stato del broker: analizza le metriche sullo stato del broker fornite da Amazon CloudWatch per identificare problemi di prestazioni quali CPU, memoria, utilizzo del disco elevato o saldo del credito esaurito.

  4. Test di connettività in tempo reale: AWS CloudFormation implementa uno stack con una VPC-attached AWS Lambda funzione Amazon per testare la risoluzione DNS e la connettività TCP al cluster Amazon MSK dall'interno dell'ambiente di rete del cliente.

  5. Analisi del percorso di rete: utilizza Amazon VPC Reachability Analyzer per diagnosticare i problemi di connettività di rete tra il client e i broker Amazon MSK in caso di esito negativo dei test di connettività.

  6. Analisi statica della rete: esegue un'analisi alternativa delle tabelle di routing, degli ACL di rete e delle regole dei gruppi di sicurezza quando i test Lambda non sono disponibili.

  7. Verifica dell'autenticazione IAM: per IAM-authenticated le connessioni (porte 9098 o9198), analizza le politiche IAM per verificare le autorizzazioni richieste, in particolare l'autorizzazione. kafka-cluster:Connect

  8. Pulizia delle risorse: rimuove automaticamente lo CloudFormation stack e le risorse associate create per i test.

  9. Rapporti completi: raccoglie i risultati con consigli pratici per risolvere i problemi identificati.

Si applicano i costi di Amazon VPC Reachability Analyzer

Questo runbook utilizza Amazon VPC Reachability Analyzer per diagnosticare problemi di connettività di rete. Ogni analisi comporta un costo. Per informazioni aggiornate sui prezzi, consulta i prezzi di Amazon VPC. Per utilizzare solo l'analisi statica, assicurati che il test di connettività Lambda abbia esito positivo. Se il test di connettività ha esito negativo, l'automazione esegue automaticamente la fase Reachability Analyzer.

Parametri del documento

  • AutomationAssumeRole

    Tipo: stringa

    Descrizione: (Facoltativo) L'Amazon Resource Name (ARN) del ruolo AWS Identity and Access Management (IAM) che consente a Systems Manager Automation di eseguire le azioni per tuo conto. Se non viene specificato alcun ruolo, Systems Manager Automation utilizza le autorizzazioni dell'utente che avvia questo runbook.

  • ClusterARN

    Tipo: stringa

    Descrizione: (Obbligatorio) Il nome della risorsa Amazon del cluster Amazon MSK per la risoluzione dei problemi.

    Pattern consentito: ^arn:(aws|aws-cn|aws-us-gov):kafka:[a-z0-9\-]+:\d{12,13}:cluster\/[a-zA-Z0-9\-]{1,64}\/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}(-[0-9a-z]{1,2})?$

  • BootstrapEndpoints

    Tipo: stringa

    Descrizione: (obbligatorio) Gli endpoint bootstrap del cluster Amazon MSK. Accetta un singolo endpoint in hostname:port formato o più endpoint separati da virgole (ad esempio,). broker1.example.com:9092,broker2.example.com:9092,broker3.example.com:9092

    Pattern consentito: ^[a-zA-Z0-9.-]+:[0-9]{1,5}(,[a-zA-Z0-9.-]+:[0-9]{1,5})*$

  • ClientVPC

    Tipo: stringa

    Descrizione: (obbligatorio) L'ID Amazon VPC in cui risiede il client che tenta di connettersi.

    Schema consentito: ^vpc-[a-z0-9]{8,17}$

  • ClientSubnet

    Tipo: stringa

    Descrizione: (obbligatorio) L'ID della sottorete in cui risiede il client che tenta di connettersi.

    Pattern consentito: ^subnet-[a-z0-9]{8,17}$

  • ClientSecurityGroups

    Tipo: stringa

    Descrizione: (Obbligatorio) L'ID del gruppo di sicurezza del client che tenta di connettersi. Accetta un singolo gruppo di sicurezza o più gruppi di sicurezza separati da virgole (ad esempio,). sg-abcd1234,sg-0abcdef1234567890

    Schema consentito: ^sg-[a-z0-9]{8,17}(,sg-[a-z0-9]{8,17})*$

  • LambdaAssumeRole

    Tipo: AWS::IAM::Role::Arn

    Descrizione: (opzionale) ARN del ruolo IAM per l'esecuzione di funzioni Lambda con autorizzazioni di accesso Amazon VPC. Se non viene fornita, l'automazione crea un nuovo ruolo con le autorizzazioni richieste.

    Predefinito: stringa vuota

    Modello consentito: ^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b|aws-iso-e|aws-iso-f|aws-eusc):iam::\d{12}:role/[\w+=,.@/-]+$

  • ClientIAMRole

    Tipo: AWS::IAM::Role::Arn

    Descrizione: (Facoltativo) ARN del ruolo IAM utilizzato dal client per l'autenticazione Amazon MSK. Richiesto solo per la risoluzione dei problemi di IAM-authenticated connessione (porte 9098 o 9198).

    Impostazione predefinita: stringa vuota

    Modello consentito: ^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b|aws-iso-e|aws-iso-f|aws-eusc):iam::\d{12}:role/[\w+=,.@/-]+$

  • RetainResources

    Tipo: Booleano

    Descrizione: (Facoltativo) Se conservare le risorse di Network Insights Analysis dopo il completamento. Impostato true per conservare le risorse di analisi per un'ulteriore revisione o false per eliminarle automaticamente.

    Impostazione predefinita: false

    Valori validi: true, false

Autorizzazioni IAM richieste

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

L'automazione richiede le seguenti autorizzazioni:

  • Autorizzazioni Amazon MSK:

    • kafka:DescribeClusterV2

    • kafka:GetBootstrapBrokers

  • CloudWatch autorizzazioni:

    • cloudwatch:GetMetricData

  • CloudFormation autorizzazioni:

    • cloudformation:CreateStack

    • cloudformation:DescribeStacks

    • cloudformation:DescribeStackResources

    • cloudformation:DeleteStack

  • Autorizzazioni Lambda:

    • lambda:CreateFunction

    • lambda:InvokeFunction

    • lambda:GetFunction

    • lambda:DeleteFunction

    • lambda:UpdateFunctionConfiguration

    • lambda:TagResource

  • Autorizzazioni Amazon EC2 e Amazon VPC:

    • ec2:DescribeNetworkInterfaces

    • ec2:DescribeSecurityGroups

    • ec2:DescribeSubnets

    • ec2:DescribeVpcs

    • ec2:DescribeRouteTables

    • ec2:DescribeNetworkAcls

    • ec2:CreateNetworkInsightsPath

    • ec2:StartNetworkInsightsAnalysis

    • ec2:DescribeNetworkInsightsPaths

    • ec2:DescribeNetworkInsightsAnalyses

    • ec2:DeleteNetworkInsightsPath

    • ec2:DeleteNetworkInsightsAnalysis

    • ec2:DeleteNetworkInterface

  • Autorizzazioni IAM (richieste solo se non forniteLambdaAssumeRole):

    • iam:CreateRole

    • iam:PutRolePolicy

    • iam:AttachRolePolicy

    • iam:GetRole

    • iam:TagRole

    • iam:PassRole

    • iam:DeleteRole

    • iam:DeleteRolePolicy

    • iam:DetachRolePolicy

  • Autorizzazioni IAM (per l'analisi dell'autenticazione IAM quando ClientIAMRole fornite):

    • iam:GetRole

    • iam:GetRolePolicy

    • iam:ListRolePolicies

    • iam:ListAttachedRolePolicies

    • iam:GetPolicy

    • iam:GetPolicyVersion

  • CloudWatch Autorizzazioni per i log:

    • logs:CreateLogGroup

    • logs:CreateLogStream

    • logs:PutLogEvents

    • logs:DeleteLogGroup

Per eseguire questo runbook, l'utente IAM AutomationAssumeRole o il tuo utente IAM richiede le seguenti azioni. L'esempio seguente mostra una policy IAM con privilegi minimi che assegna le autorizzazioni a modelli di risorse specifici utilizzati dall'automazione:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kafka:DescribeClusterV2", "kafka:GetBootstrapBrokers" ], "Resource": "arn:aws:kafka:REGION:ACCOUNTID:cluster/*/*" }, { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeNetworkInterfaces", "ec2:DescribeRouteTables", "ec2:DescribeNetworkAcls", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:CreateNetworkInsightsPath", "ec2:StartNetworkInsightsAnalysis", "ec2:DescribeNetworkInsightsPaths", "ec2:DescribeNetworkInsightsAnalyses", "ec2:DeleteNetworkInsightsPath", "ec2:DeleteNetworkInsightsAnalysis", "ec2:DeleteNetworkInterface" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackResources" ], "Resource": "arn:aws:cloudformation:REGION:ACCOUNTID:stack/msk-connectivity-test-stack-*/*" }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:GetFunction", "lambda:UpdateFunctionConfiguration", "lambda:TagResource" ], "Resource": "arn:aws:lambda:REGION:ACCOUNTID:function:msk-connectivity-test-*" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:GetRolePolicy", "iam:ListRolePolicies", "iam:ListAttachedRolePolicies", "iam:GetPolicy", "iam:GetPolicyVersion" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:DeleteRole", "iam:PutRolePolicy", "iam:DeleteRolePolicy", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:TagRole" ], "Resource": "arn:aws:iam::ACCOUNTID:role/msk-connectivity-test-*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::ACCOUNTID:role/msk-connectivity-test-*", "Condition": { "StringEquals": { "iam:PassedToService": "lambda.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DeleteLogGroup" ], "Resource": "arn:aws:logs:REGION:ACCOUNTID:log-group:/aws/lambda/msk-connectivity-test-*" } ] }

Istruzioni

  1. Vai alla pagina nella console. AWSSupport-TroubleshootMSKClusterConnection AWS Systems Manager

  2. Scegli Esegui automazione.

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

    • AutomationAssumeRole(Facoltativo):

      L'ARN del ruolo IAM che consente ad AWS Systems Manager Automation di eseguire le azioni per tuo conto. Se non viene specificato alcun ruolo, Systems Manager Automation utilizza le autorizzazioni dell'utente che avvia questo runbook.

    • ClusterARN(Obbligatorio):

      Inserisci l'ARN del cluster Amazon MSK che presenta problemi di connettività. Puoi trovarlo nella console Amazon MSK o utilizzando il comando. aws kafka list-clusters

    • BootstrapEndpoints(Obbligatorio):

      Inserisci gli endpoint del broker bootstrap per il tuo cluster Amazon MSK. Puoi trovarli nella console Amazon MSK sotto i dettagli del cluster o utilizzando il comando. aws kafka get-bootstrap-brokers Per più broker, separali con virgole (ad esempio,). b-1.mycluster.abc123.kafka.us-east-1.amazonaws.com:9092,b-2.mycluster.abc123.kafka.us-east-1.amazonaws.com:9092

    • ClientVPC(Obbligatorio):

      Inserisci l'ID Amazon VPC in cui si trova l'applicazione o la risorsa client che tenta di connettersi al cluster Amazon MSK.

    • ClientSubnet(Obbligatorio):

      Inserisci l'ID della sottorete all'interno del ClientVPC luogo in cui risiede la risorsa client. Viene utilizzato per il test di connettività e l'implementazione della funzione Lambda.

    • ClientSecurityGroups(Obbligatorio):

      Inserisci gli ID del gruppo di sicurezza associati alla risorsa client. Per più gruppi di sicurezza, separali con virgole (ad esempio,sg-abc123,sg-def456).

    • LambdaAssumeRole(Facoltativo):

      Se disponi di un ruolo IAM preconfigurato con esecuzione Lambda e autorizzazioni di accesso ad Amazon VPC, fornisci il relativo ARN qui. Se lo lasci vuoto, l'automazione crea un ruolo temporaneo per il test di connettività.

    • ClientIAMRole(Facoltativo):

      Per IAM-authenticated le connessioni (utilizzando le porte 9098 o 9198), fornisci l'ARN del ruolo IAM utilizzato dal cliente per autenticarsi su Amazon MSK. Ciò consente all'automazione di analizzare le autorizzazioni IAM per l'accesso richiesto ad Amazon MSK.

    • RetainResources(Facoltativo):

      Imposta su true se desideri conservare i percorsi e le analisi della rete Amazon VPC Reachability Analyzer per ulteriori indagini. Impostato su false (impostazione predefinita) per ripulire automaticamente queste risorse al termine dell'automazione.

  4. Scegli Esegui.

  5. Monitora l'esecuzione dell'automazione. Il runbook viene completato in genere in 5-15 minuti, a seconda della complessità dell'analisi di rete richiesta.

  6. Consulta la sezione Risultati per risultati dettagliati:

    • BrokerHealthIssues: Elenco dei problemi di prestazioni dei broker identificati (CPU elevata, memoria, utilizzo del disco, esaurimento del credito).

    • NetworkConnectivityIssues: Network-related problemi come configurazioni errate dei gruppi di sicurezza, restrizioni NACL, problemi di routing o risultati di Amazon VPC Reachability Analyzer.

    • IAMAuthenticationIssues: problemi di autorizzazione IAM per IAM-authenticated le connessioni, incluse autorizzazioni mancanti o insufficienti.

    • AuthenticationDocumentation: collegamenti alla AWS documentazione pertinente per la risoluzione dei problemi di autenticazione.

    • TroubleshootingSummary: Riepilogo completo con consigli pratici per risolvere tutti i problemi identificati.

Problemi e risoluzioni comuni

  • Configurazione errata del gruppo di sicurezza: assicurati che il gruppo di sicurezza del cliente consenta il traffico in uscita verso il gruppo di sicurezza del cluster Amazon MSK sulla porta appropriata (9092forPLAINTEXT, 9094 for TLSSASL_SCRAM, 9096 for o 9098 9198 for SASL_IAM IAM over). TLS Il gruppo di sicurezza del cluster Amazon MSK deve consentire il traffico in entrata dal gruppo di sicurezza del cliente.

  • Restrizioni ACL di rete: verifica che l'ACL di rete della sottorete consenta il traffico in entrata e in uscita per le porte richieste. Ricorda che i NACL sono apolidi e richiedono regole per entrambe le direzioni.

  • Problemi di routing: assicurati che la sottorete del client abbia un percorso per raggiungere gli indirizzi IP privati del cluster Amazon MSK, in genere tramite una tabella di routing con CIDR Amazon VPC locale.

  • Errori di autenticazione IAM: per IAM-authenticated le connessioni, verifica che il ruolo IAM del client abbia l'kafka-cluster:Connectazione nella sua policy con l'ARN del cluster corretto come risorsa.

  • Problemi relativi alle prestazioni dei broker: se i broker mostrano un elevato utilizzo delle risorse, valuta la possibilità di aumentare i tipi di istanze dei broker, aggiungere altri broker o ottimizzare le configurazioni. producer/consumer

  • Errori di risoluzione DNS: verifica che il client Amazon VPC abbia la risoluzione DNS abilitata (abilita DnsHostnames e abilita impostate su true nelle impostazioni di Amazon VPC). DnsSupport

Risoluzione dei problemi relativi all'automazione

  • Se l'automazione non riesce durante la creazione CloudFormation dello stack, verifica che il ruolo di esecuzione disponga delle autorizzazioni IAM richieste per creare funzioni Lambda, ruoli IAM e interfacce di rete.

  • Se la funzione Lambda per il test di connettività non viene richiamata, verifica che ClientSubnet disponga di indirizzi IP disponibili e che ClientSecurityGroups consenta le connessioni in uscita necessarie.

  • Se l'analisi di Amazon VPC Reachability Analyzer fallisce, assicurati di non aver superato le quote di servizio per i percorsi o le analisi di network insights nella tua regione.

  • Se l'analisi delle policy IAM ha esito negativo, verifica che l'ClientIAMRoleARN sia corretto e che il ruolo di automazione disponga dell'autorizzazione per recuperare le politiche del ruolo.

Resources

Systems Manager Automation

Risorse aggiuntive