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-TroubleshootAWSECSHealthChecks
Description
Il AWSSupport-TroubleshootAWSECSHealthChecks runbook aiuta a diagnosticare e risolvere i problemi in cui le attività di Amazon Elastic Container Service (Amazon ECS) in esecuzione su istanze Amazon Elastic Compute Cloud (Amazon EC2) o (Fargate) non superano i controlli di integrità dell'Application Load Balancer AWS Fargate (ALB).
Il runbook esegue un'analisi sistematica mediante:
Verifica della connettività di rete tra gli ALB e le attività di Amazon ECS
Verifica se le attività terminano in modo imprevisto
Analisi dello stato di salute e dei codici di risposta del gruppo target
Esame della configurazione ALB e delle impostazioni di controllo dello stato
Convalida della configurazione del servizio, compresi i periodi di tolleranza per il controllo dello stato
Esecuzione di una diagnostica personalizzata per le mancate corrispondenze del codice di risposta
Importante
Per una diagnostica avanzata, il runbook implementa funzioni temporanee AWS Lambda (Lambda) all'interno di Amazon Virtual Private Cloud (Amazon VPC) per simulare le richieste di controllo dello stato dalla stessa prospettiva di rete dell'ALB. Un ruolo di esecuzione Lambda è richiesto per queste funzioni e può essere specificato come parametro o creato temporaneamente da questo runbook.
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.
cloudformation:CreateChangeSetcloudformation:CreateStackcloudformation:DeleteStackcloudformation:DescribeStacksec2:DescribeInstancesec2:DescribeNetworkAclsec2:DescribeNetworkInterfacesec2:DescribeRouteTablesec2:DescribeSecurityGroupsec2:DescribeSubnetsec2:DescribeVpcEndpointServicesec2:DescribeVpcEndpointsec2:DescribeVpcsecs:DescribeClustersecs:DescribeContainerInstancesecs:DescribeServicesecs:DescribeTaskDefinitionecs:DescribeTaskSetsecs:DescribeTasksecs:ListTaskselasticloadbalancing:DescribeListenerselasticloadbalancing:DescribeLoadBalancerAttributeselasticloadbalancing:DescribeLoadBalancerselasticloadbalancing:DescribeRuleselasticloadbalancing:DescribeTargetGroupAttributeselasticloadbalancing:DescribeTargetGroupselasticloadbalancing:DescribeTargetHealthiam:AttachRolePolicyiam:CreateRoleiam:DeleteRoleiam:DetachRolePolicyiam:GetRoleiam:ListRolesiam:PassRoleiam:SimulateCustomPolicyiam:SimulatePrincipalPolicyiam:TagRolelambda:CreateFunctionlambda:DeleteFunctionlambda:GetFunctionlambda:GetFunctionConfigurationlambda:InvokeFunctionlambda:TagResourceservicequotas:GetServiceQuotassm:GetAutomationExecution
Policy IAM di esempio:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateChangeSet", "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStacks", "ec2:DescribeInstances", "ec2:DescribeNetworkAcls", "ec2:DescribeNetworkInterfaces", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcEndpointServices", "ec2:DescribeVpcEndpoints", "ec2:DescribeVpcs", "ecs:DescribeClusters", "ecs:DescribeContainerInstances", "ecs:DescribeServices", "ecs:DescribeTaskDefinition", "ecs:DescribeTaskSets", "ecs:DescribeTasks", "ecs:ListTasks", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeLoadBalancerAttributes", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:DescribeTargetGroupAttributes", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetHealth", "iam:CreateRole", "iam:DeleteRole", "iam:DetachRolePolicy", "iam:GetRole", "iam:ListRoles", "iam:SimulateCustomPolicy", "iam:SimulatePrincipalPolicy", "iam:TagRole", "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:GetFunction", "lambda:GetFunctionConfiguration", "lambda:InvokeFunction", "lambda:TagResource", "servicequotas:GetServiceQuota", "ssm:GetAutomationExecution" ], "Resource": "*" }, { "Action": [ "iam:AttachRolePolicy" ], "Resource": "arn:aws:iam::111122223333:role/AWSECSHealthChecks-*", "Condition": { "ArnLike": { "iam:PolicyArn": "arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole" } }, "Effect": "Allow" }, { "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::111122223333:role/AWSECSHealthChecks-*", "Effect": "Allow", "Condition": { "StringLikeIfExists": { "iam:PassedToService": "lambda.amazonaws.com" } } } ] }
Output
ExecutionResult.message- Un riepilogo dei risultati di tutte le fasi diagnostiche, tra cui connettività di rete, integrità delle attività, stato del gruppo target e raccomandazioni.
Istruzioni
Segui questi passaggi per configurare l'automazione:
-
Apri AWSSupport-TroubleshootAWSECSHealthChecks
in Systems Manager sotto Documenti. -
Scegli Esegui automazione.
-
Per i parametri di input, inserisci quanto segue:
-
ECSClusterName (Obbligatorio):
Il nome del cluster Amazon ECS.
-
ECSServiceName (Obbligatorio):
Il nome del servizio Amazon ECS.
-
LambdaExecutionRole (Facoltativo):
L'ARN del ruolo di esecuzione Lambda utilizzato per la fase di diagnostica personalizzata del controllo dello stato. Se non viene specificato alcun ruolo, il runbook salta la fase di diagnostica avanzata o crea un ruolo temporaneo.
-
AutomationAssumeRole (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.
-
-
Scegli Esegui.
-
L'automazione viene avviata.
-
Il documento esegue i seguenti passaggi:
-
CheckPermissions:Verifica che l'utente o il ruolo IAM che ha avviato l'automazione disponga delle autorizzazioni richieste.
-
CheckTargetClusterExistence:Verifica se il cluster Amazon ECS specificato esiste ed è attivo.
-
CheckEcsServiceExistence:Verifica se il servizio Amazon ECS specificato esiste ed è attivo.
-
CheckNetworkConnectivity:Verifica la connettività di rete tra le attività ALB e Amazon ECS.
-
CheckTasksAreExiting:Verifica se le attività di Amazon ECS vengono chiuse in modo imprevisto.
-
CheckTargetHealth:Verifica lo stato di salute degli obiettivi nel gruppo target.
-
CreateLambdaExecutionRole:Crea un ruolo di esecuzione Lambda temporaneo se il
LambdaExecutionRoleparametro non è specificato. -
ExecuteCustomCheck:Implementa funzioni Lambda temporanee per simulare le richieste di controllo dello stato e identificare le discrepanze nel codice di risposta.
-
ExecuteAdditionalCheck:Esegue controlli aggiuntivi sulla configurazione ALB e sui periodi di prova per i controlli sullo stato di salute.
-
DeleteLambdaExecutionRole:Elimina il ruolo di esecuzione temporaneo di Lambda e le funzioni Lambda create durante il processo di diagnostica.
-
ExecutionResult:Compila tutti i risultati in un rapporto riassuntivo con raccomandazioni.
-
-
Dopo il completamento, consulta la sezione Risultati per i risultati dettagliati dell'esecuzione.
Riferimenti
Systems Manager Automation