Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
AWSSupport-TroubleshootAWSECSHealthChecks
Description (Descripción)
Este AWSSupport-TroubleshootAWSECSHealthChecks manual ayuda a diagnosticar y solucionar problemas en los que las tareas de Amazon Elastic Container Service (Amazon ECS) que se ejecutan en instancias de Amazon Elastic Compute Cloud (Amazon EC2) o (Fargate) no superan las comprobaciones de estado del Application Load Balancer AWS Fargate (ALB).
El manual realiza un análisis sistemático de la siguiente manera:
Verificar la conectividad de red entre las tareas de ALB y Amazon ECS
Comprobar si las tareas se cierran inesperadamente
Analizar el estado de salud y los códigos de respuesta del grupo objetivo
Examinar la configuración del ALB y los ajustes de verificación de estado
Validar la configuración del servicio, incluidos los períodos de gracia para comprobar el estado
Realizar diagnósticos personalizados para detectar discrepancias en los códigos de respuesta
importante
Para realizar diagnósticos avanzados, el runbook implementa funciones temporales AWS Lambda (Lambda) en su Amazon Virtual Private Cloud (Amazon VPC) para simular las solicitudes de verificación de estado desde la misma perspectiva de red que su ALB. Estas funciones requieren un rol de ejecución de Lambda, que puede especificarse como un parámetro o crearse temporalmente con este libro de ejecución.
Ejecuta esta automatización (consola)
Tipo de documento
Automatización
Propietario
Amazon
Plataformas
/
Permisos de IAM necesarios
El parámetro AutomationAssumeRole requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
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
Política de IAM de ejemplo:
{ "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" } } } ] }
Outputs
ExecutionResult.message- Un resumen de las conclusiones de todas las etapas del diagnóstico, incluida la conectividad de la red, el estado de las tareas, el estado del grupo objetivo y las recomendaciones.
Instrucciones
Siga estos pasos para configurar la automatización:
-
Abra AWSSupport-TroubleshootAWSECSHealthChecks
en el Administrador de sistemas, en la sección Documentos. -
Elija Ejecutar automatización.
-
Para los parámetros de entrada, introduzca lo siguiente:
-
ECSClusterName (Obligatorio):
El nombre del clúster de Amazon ECS.
-
ECSServiceName (Obligatorio):
El nombre del servicio Amazon ECS.
-
LambdaExecutionRole (Opcional):
El ARN del rol de ejecución de Lambda utilizado para el paso de diagnóstico de la comprobación de estado personalizada. Si no se especifica ningún rol, el manual omite el paso de diagnóstico avanzado o crea un rol temporal.
-
AutomationAssumeRole (Opcional):
El nombre de recurso de Amazon (ARN) del rol AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que comienza este manual de procedimientos.
-
-
Elija Ejecutar.
-
Se inicia la automatización.
-
Este documento realiza los siguientes pasos:
-
CheckPermissions:Verifica que el usuario o rol de IAM que inició la automatización tenga los permisos necesarios.
-
CheckTargetClusterExistence:Comprueba si el clúster de Amazon ECS especificado existe y está activo.
-
CheckEcsServiceExistence:Comprueba si el servicio Amazon ECS especificado existe y está activo.
-
CheckNetworkConnectivity:Comprueba la conectividad de red entre las tareas de ALB y Amazon ECS.
-
CheckTasksAreExiting:Comprueba si las tareas de Amazon ECS se cierran de forma inesperada.
-
CheckTargetHealth:Comprueba el estado de salud de los objetivos del grupo objetivo.
-
CreateLambdaExecutionRole:Crea un rol de ejecución temporal de Lambda si no se especifica el
LambdaExecutionRoleparámetro. -
ExecuteCustomCheck:Implementa funciones temporales de Lambda para simular las solicitudes de comprobación de estado e identificar las discrepancias en los códigos de respuesta.
-
ExecuteAdditionalCheck:Realiza comprobaciones adicionales de los períodos de gracia de la configuración y de las comprobaciones de estado del ALB.
-
DeleteLambdaExecutionRole:Elimina la función de ejecución temporal de Lambda y las funciones de Lambda creadas durante el proceso de diagnóstico.
-
ExecutionResult:Recopila todos los hallazgos en un informe resumido con recomendaciones.
-
-
Una vez finalizada, revise la sección Resultados para ver los resultados detallados de la ejecución.
Referencias
Automatización de Systems Manager