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:
-
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.
-
Analisi del cluster: recupera la configurazione e i metadati del cluster Amazon MSK per comprendere lo stato attuale del cluster.
-
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.
-
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.
-
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à.
-
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.
-
Verifica dell'autenticazione IAM: per IAM-authenticated le connessioni (porte
9098o9198), analizza le politiche IAM per verificare le autorizzazioni richieste, in particolare l'autorizzazione.kafka-cluster:Connect -
Pulizia delle risorse: rimuove automaticamente lo CloudFormation stack e le risorse associate create per i test.
-
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.
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.
-
ClusterARNTipo: 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})?$ -
BootstrapEndpointsTipo: stringa
Descrizione: (obbligatorio) Gli endpoint bootstrap del cluster Amazon MSK. Accetta un singolo endpoint in
hostname:portformato o più endpoint separati da virgole (ad esempio,).broker1.example.com:9092,broker2.example.com:9092,broker3.example.com:9092Pattern consentito:
^[a-zA-Z0-9.-]+:[0-9]{1,5}(,[a-zA-Z0-9.-]+:[0-9]{1,5})*$ -
ClientVPCTipo: stringa
Descrizione: (obbligatorio) L'ID Amazon VPC in cui risiede il client che tenta di connettersi.
Schema consentito:
^vpc-[a-z0-9]{8,17}$ -
ClientSubnetTipo: stringa
Descrizione: (obbligatorio) L'ID della sottorete in cui risiede il client che tenta di connettersi.
Pattern consentito:
^subnet-[a-z0-9]{8,17}$ -
ClientSecurityGroupsTipo: 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-0abcdef1234567890Schema consentito:
^sg-[a-z0-9]{8,17}(,sg-[a-z0-9]{8,17})*$ -
LambdaAssumeRoleTipo:
AWS::IAM::Role::ArnDescrizione: (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+=,.@/-]+$ -
ClientIAMRoleTipo:
AWS::IAM::Role::ArnDescrizione: (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+=,.@/-]+$ -
RetainResourcesTipo: Booleano
Descrizione: (Facoltativo) Se conservare le risorse di Network Insights Analysis dopo il completamento. Impostato
trueper conservare le risorse di analisi per un'ulteriore revisione ofalseper eliminarle automaticamente.Impostazione predefinita:
falseValori 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 fornite
LambdaAssumeRole):-
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
ClientIAMRolefornite):-
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
-
Vai alla pagina nella console. AWSSupport-TroubleshootMSKClusterConnection
AWS Systems Manager -
Scegli Esegui automazione.
-
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-brokersPer 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
ClientVPCluogo 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
truese desideri conservare i percorsi e le analisi della rete Amazon VPC Reachability Analyzer per ulteriori indagini. Impostato sufalse(impostazione predefinita) per ripulire automaticamente queste risorse al termine dell'automazione.
-
-
Scegli Esegui.
-
Monitora l'esecuzione dell'automazione. Il runbook viene completato in genere in 5-15 minuti, a seconda della complessità dell'analisi di rete richiesta.
-
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,9094forTLSSASL_SCRAM,9096for o90989198forSASL_IAMIAM over).TLSIl 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