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-TroubleshootGlueConnection
Descrizione
Il AWSSupport- TroubleshootGlueConnections runbook aiuta a risolvere i problemi di connessione. AWS Glue La destinazione della connessione testata deve essere raggiunta tramite una JDBC connessione e può essere un cluster/istanza di Amazon Relational Database Service (RDSAmazon), un cluster o qualsiasi altra destinazione accessibile tramite. JDBC Nei primi due casi, lo strumento Reachability Analyzer viene utilizzato per determinare se la connettività tra l'origine AWS Glue() e la destinazione (Amazon o RDS Amazon Redshift) è garantita.
Se la destinazione della connessione non è Amazon RDS né Amazon Redshift, la connettività viene comunque testata creando una AWS Lambda funzione nella stessa sottorete della AWS Glue connessione (un punto di presenza di rete) e verificando se il nome di destinazione è risolvibile e se è raggiungibile nella porta di destinazione.
Importante
Per eseguire i controlli Reachability Analyzer, verranno create interfacce di rete elastiche in ciascuna delle sottoreti di origine dati della connessione. Assicurati di avere abbastanza spazio libero IPs su quelle sottoreti e che il consumo di un IP non influisca sul tuo carico di lavoro prima di eseguire questa automazione.
Importante
Tutte le risorse create da questa automazione sono contrassegnate in modo che possano essere trovate facilmente. I tag utilizzati sono:
-
AWSSupport-TroubleshootGlueConnection
: true -
AutomationExecutionId
:Amazon EC2 Systems Manager Execution Id
Come funziona?
Il runbook esegue i seguenti passaggi:
-
Descrive la AWS Glue connessione per ottenere le informazioni di origine (sottorete e gruppi di sicurezza) per i controlli di connettività.
-
Recupera le informazioni di destinazione (sottorete e gruppi di sicurezza) dall'origine dati a cui si fa riferimento nei parametri JDBC URL o dai parametri
DatasourceSecurityGroups
andDatasourceSubnets
, se presenti. -
Se l'origine dati presente in JDBC URL è un'RDSistanza o un cluster Amazon o un cluster Amazon Redshift, questa automazione ENIs crea utilizzando sia le informazioni di origine che quelle di destinazione raccolte nei passaggi precedenti e utilizza Reachability Analyzer per eseguire un controllo della connettività tra di loro.
-
Una funzione Lambda (punto di presenza della rete, nel contesto di questa automazione) viene utilizzata per eseguire controlli di connettività L4 e risoluzione dei nomi.
-
La stessa funzione Lambda viene utilizzata per eseguire i controlli sull'endpoint Amazon S3.
-
Policy Simulator viene utilizzato per determinare se il IAM ruolo utilizzato nella connessione dispone delle autorizzazioni necessarie.
-
L'automazione verifica se il gruppo di sicurezza utilizzato dalla connessione ha la configurazione prevista.
-
Viene generato un rapporto contenente le possibili cause dell'errore nell'operazione di test di connessione e/o anche i test eseguiti con successo.
Esegui questa automazione (console)
Tipo di documento
Automazione
Proprietario
Amazon
Piattaforme
/
IAMAutorizzazioni richieste
Il AutomationAssumeRole
parametro richiede le seguenti azioni per utilizzare correttamente il runbook.
-
cloudformation:CreateStack
-
cloudformation:DeleteStack
-
ec2:CreateNetworkInsightsPath
-
ec2:CreateNetworkInterface
-
ec2:CreateTags
-
ec2:DeleteNetworkInsightsAnalysis
-
ec2:DeleteNetworkInsightsPath
-
ec2:DeleteNetworkInterface
-
ec2:StartNetworkInsightsAnalysis
-
iam:AttachRolePolicy
-
iam:CreateRole
-
iam:DeleteRole
-
iam:DeleteRolePolicy
-
iam:DetachRolePolicy
-
iam:PutRolePolicy
-
iam:TagRole
-
lambda:CreateFunction
-
lambda:DeleteFunction
-
lambda:TagResource
-
logs:CreateLogGroup
-
logs:DeleteLogGroup
-
logs:PutRetentionPolicy
-
logs:TagResource
-
glue:GetConnection
-
glue:GetDataCatalogEncryptionSettings
-
cloudformation:DescribeStacks
-
cloudformation:DescribeStackEvents
-
ec2:DescribeDhcpOptions
-
ec2:DescribeNetworkInsightsPaths
-
ec2:DescribeNetworkInsightsAnalyses
-
ec2:DescribeSecurityGroupRules
-
ec2:DescribeSecurityGroups
-
ec2:DescribeSubnets
-
ec2:DescribeVpcs
-
ec2:DescribeVpcAttribute
-
iam:GetRole
-
iam:ListAttachedRolePolicies
-
iam:SimulatePrincipalPolicy
-
kms:DescribeKey
-
lambda:InvokeFunction
-
lambda:GetFunction
-
s3:GetEncryptionConfiguration
-
iam:PassRole
Importante
Oltre alle azioni sopra menzionate, AutomationAssumeRole
dovrebbero avere la A mazonVPCReachability AnalyzerFullAccessPolicy come policy gestita allegata in modo che i test Reachability Analyzer vengano eseguiti correttamente.
Ecco un esempio di politica che potrebbe essere concessa per: AutomationAssumeRole
{ "Version": "2012-10-17", "Statement": [{ "Sid": "TaggedAWSResourcesPermissions", "Effect": "Allow", "Condition": { "StringEquals": { "aws:ResourceTag/AWSSupport-TroubleshootGlueConnection": "true" } }, "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:TagRole", "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:TagResource", "logs:DeleteLogGroup", "logs:CreateLogGroup", "logs:PutRetentionPolicy", "logs:TagResource", "cloudformation:CreateStack", "cloudformation:DeleteStack" ], "Resource": "*" }, { "Sid": "TaggedEC2ResourcesPermissions", "Effect": "Allow", "Condition": { "StringEquals": { "ec2:ResourceTag/AWSSupport-TroubleshootGlueConnection": "true" } }, "Action": [ "ec2:DeleteNetworkInterface" ], "Resource": "*" }, { "Sid": "PutRolePolicy", "Effect": "Allow", "Condition": { "StringEquals": { "iam:ResourceTag/AWSSupport-TroubleshootGlueConnection": "true" } }, "Action": [ "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": "*" }, { "Sid": "InvokeFunction", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:*:lambda:*:*:function:point-of-presence-*" }, { "Sid": "UnTaggedActions", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInsightsPath", "ec2:DeleteNetworkInsightsAnalysis", "ec2:DeleteNetworkInsightsPath", "ec2:CreateNetworkInterface", "ec2:CreateTags", "ec2:StartNetworkInsightsAnalysis", "glue:GetConnection", "glue:GetDataCatalogEncryptionSettings", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "ec2:DescribeDhcpOptions", "ec2:DescribeNetworkInsightsPaths", "ec2:DescribeNetworkInsightsAnalyses", "ec2:DescribeSecurityGroupRules", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeVpcAttribute", "iam:GetRole", "iam:ListAttachedRolePolicies", "iam:SimulatePrincipalPolicy", "kms:DescribeKey", "lambda:GetFunction", "s3:GetEncryptionConfiguration" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:*:iam::*:role/point-of-presence-*", "Condition": { "StringLikeIfExists": { "iam:PassedToService": "lambda.amazonaws.com" } } } ] }
Istruzioni
Segui questi passaggi per configurare l'automazione:
-
Accedere
AWSSupport-TroubleshootGlueConnection
a Systems Manager nella sezione Documenti. -
Seleziona Execute automation (Esegui automazione).
-
Per i parametri di input, immettete quanto segue:
-
AutomationAssumeRole (Facoltativo):
L'Amazon Resource Name (ARN) del ruolo AWS 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.
-
TestConnectionRole (Obbligatorio)
L'Amazon Resource Name (ARN) del IAM ruolo utilizzato durante il test di connessione.
-
ConnectionName (Obbligatorio)
AWS Glue nome della connessione di test fallita che desideri risolvere.
-
PersistReachabilityAnalyzerResults (Facoltativo)
Il flag che indica se i risultati dell'esecuzione del Reachability Analyzer devono essere conservati o meno. Impostazione predefinita:
false.
-
PointOfPresenceLogRetentionPeriod (Facoltativo)
Il numero di giorni per cui verranno archiviati i log per il punto di presenza Lambda. Default:
7
. -
DatasourceSubnets (Facoltativo)
Se l'origine dati originale non è disponibile, utilizzate questo parametro per fornire le sottoreti utilizzate in modo che i test di connettività vengano comunque eseguiti. Deve essere usato con.
DatasourceSecurityGroups
Esempio:subnet-1,subnet-2
. -
DatasourceSecurityGroups (Facoltativo)
Se l'origine dati originale non è disponibile, utilizzate questo parametro per fornire i gruppi di sicurezza utilizzati in modo che i test di connettività vengano comunque eseguiti. Deve essere usato con.
DatasourceSubnets
Esempio:sg-1,sg-2
.
-
-
Seleziona Esegui.
-
L'automazione si avvia.
-
Il runbook di automazione esegue i seguenti passaggi:
-
ParseInputs:
Questo passaggio convalida la combinazione di input. Se
DatasourceSubnets
vengono forniti entrambiDatasourceSecurityGroups
, sono validi e restituiti così come sono. Se non ne viene fornito nessuno, vengono restituiti due elenchi vuoti. Se viene fornito solo uno di essi, il passaggio genera unValueException
. -
GetConnectionDetails:
Questo passaggio restituisce i dettagli della AWS Glue connessione fornita.
-
ParseSecurityGroupList:
Questo passaggio viene utilizzato per concatenare le informazioni per un utilizzo
String
futuroSecurityGroupIdList
in questa automazione. -
GetConnectionData:
Determina in base al tipo di connessione tra: JDBC URL
RedShift
, e.RdsInstance
RdsCluster
Other
Inoltre, restituisce il dominio e la porta utilizzati nella JDBC connessione, Amazon della connessione VPC e i relativi server dei nomi di dominio. -
GetNetworkDetails:
Ottiene le informazioni sulla sottorete e sul gruppo di sicurezza dal target Amazon RDS o Amazon Redshift.
-
C: reateENITemplate
Genera il AWS CloudFormation modello utilizzato per creare le interfacce di rete utilizzate per testare la connettività. Ciò è necessario per eseguire lo strumento Reachability Analyzer.
-
C: reateENIStack
Crea lo AWS CloudFormation stack dal modello creato nel passaggio precedente.
-
GetStackDetails:
Descrive lo AWS CloudFormation stack creato nello stack precedente e recupera le informazioni.
SourceNetworkInterface
TargetNetworkInterfaces
-
RunSourceToTargetCheck:
Esegue i controlli tra l'origine e la destinazione ENIs creati nel passaggio precedente utilizzando lo strumento Reachability Analyzer.
-
D: eleteENIStack
Elimina lo AWS CloudFormation stack che crea le interfacce di rete
-
CreateNetworkPointOfPresence:
AWS CloudFormation crea la funzione Lambda utilizzata come punto di presenza di rete.
-
GetFunctionName:
Esegue una API chiamata AWS CloudFormation describe stack per recuperare il nome della funzione Lambda creata nel passaggio precedente.
-
RunEndpointChecks:
Utilizza il punto di presenza della rete per determinare se l'endpoint presente nella JDBC connessione è risolvibile e raggiungibile nella porta dichiarata.
-
Verifica la connettività S3:
Verifica la connettività di rete dalla AWS Glue connessione al servizio Amazon S3.
-
DeletePointOfPresence:
Elimina lo AWS CloudFormation stack che crea il punto di presenza della rete Lambda.
-
Autorizzazioni T: estIAMRole
Verifica se il IAM ruolo utilizzato per il test dispone delle autorizzazioni necessarie per eseguirlo.
-
CheckConnectionSecurityGroupReferencingRule:
Verifica se il gruppo di sicurezza utilizzato nella AWS Glue connessione consente tutto il traffico in ingresso da se stesso. Restituirà un elenco dei gruppi di sicurezza senza questa regola, se presente.
-
GenerateReport:
Genera un rapporto contenente un elenco di risultati (possibili motivi dell'errore nel test di connessione) e i passaggi successivi (tentativi di risolvere l'errore del test di connessione).
-
-
Al termine, consulta la sezione Output per i risultati dettagliati dell'esecuzione:
-
Risultati di automazione
In questa sezione, troverai gli scenari che descrivono le possibili cause del fallimento dell'operazione di connessione di test (risultati) e come risolverle (passaggi successivi). Se l'automazione non riesce a trovare la causa dell'errore del test, ne verrà data notizia anche in questa sezione.
-
Test riusciti
In questa sezione, troverai scenari che illustrano cosa è stato testato con successo da questa automazione. I test eseguiti con successo sono utili nel caso in cui l'automazione non sia in grado di identificare la causa dell'errore della connessione di test, in quanto riducono l'ambito dell'indagine informando gli elementi che non contribuiscono al problema.
-
Errori di automazione
In questa sezione, troverai scenari che descrivono i problemi che si sono verificati durante l'automazione, che potrebbero aver limitato il numero di test che l'automazione poteva eseguire. La descrizione dello scenario indicherà quale passaggio non è riuscito.
-
Riferimenti
Systems Manager Automation