Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
AWSSupport-TroubleshootAWSECSHealthChecks
Description
Das AWSSupport-TroubleshootAWSECSHealthChecks Runbook hilft bei der Diagnose und Behebung von Problemen, bei denen Amazon Elastic Container Service (Amazon ECS) -Aufgaben, die auf Amazon Elastic Compute Cloud (Amazon EC2) -Instances oder (Fargate) ausgeführt werden, die Zustandsprüfungen von Application Load Balancer AWS Fargate (ALB) nicht bestehen.
Das Runbook führt eine systematische Analyse durch, indem es:
Überprüfung der Netzwerkkonnektivität zwischen ALBs und Amazon ECS-Aufgaben
Es wird überprüft, ob Aufgaben unerwartet beendet werden
Analyse des Gesundheitsstatus und der Antwortcodes der Zielgruppe
Untersuchung der ALB-Konfiguration und der Einstellungen für die Integritätsprüfung
Validierung der Dienstkonfiguration, einschließlich der Übergangsfristen für die Integritätsprüfung
Durchführung benutzerdefinierter Diagnosen für nicht übereinstimmende Antwortcodes
Wichtig
Für erweiterte Diagnosen stellt das Runbook temporäre AWS Lambda (Lambda) Funktionen in Ihrer Amazon Virtual Private Cloud (Amazon VPC) bereit, um Zustandsprüfungsanfragen aus derselben Netzwerkperspektive wie Ihr ALB zu simulieren. Für diese Funktionen ist eine Lambda-Ausführungsrolle erforderlich, die entweder als Parameter angegeben oder temporär von diesem Runbook erstellt werden kann.
Führen Sie diese Automatisierung aus (Konsole)
Art des Dokuments
Automatisierung
Eigentümer
Amazon
Plattformen
/
Erforderliche IAM-Berechtigungen
Der AutomationAssumeRole Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.
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
Beispiel für eine IAM-Richtlinie:
{ "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- Eine Zusammenfassung der Ergebnisse aller Diagnoseschritte, einschließlich Netzwerkkonnektivität, Zustand der Aufgabe, Status der Zielgruppe und Empfehlungen.
Anleitungen
Folgen Sie diesen Schritten, um die Automatisierung zu konfigurieren:
-
Öffnen Sie AWSSupport-TroubleshootAWSECSHealthChecks
im Systems Manager unter Dokumente. -
Wählen Sie Automatisierung ausführen.
-
Geben Sie für die Eingabeparameter Folgendes ein:
-
ECSClusterName (Erforderlich):
Der Name des Amazon ECS-Clusters.
-
ECSServiceName (Erforderlich):
Der Name des Amazon ECS-Service.
-
LambdaExecutionRole (Fakultativ):
Der ARN der Lambda-Ausführungsrolle, der für den Diagnoseschritt der benutzerdefinierten Integritätsprüfung verwendet wird. Wenn keine Rolle angegeben ist, überspringt das Runbook den Schritt der erweiterten Diagnose oder erstellt eine temporäre Rolle.
-
AutomationAssumeRole (Fakultativ):
Der Amazon-Ressourcenname (ARN) der AWS Identity and Access Management (IAM) -Rolle, die es Systems Manager Automation ermöglicht, die Aktionen in Ihrem Namen durchzuführen. Wenn keine Rolle angegeben ist, verwendet Systems Manager Automation die Berechtigungen des Benutzers, der dieses Runbook startet.
-
-
Wählen Sie Ausführen.
-
Die Automatisierung wird initiiert.
-
Das Dokument führt die folgenden Schritte aus:
-
CheckPermissions:Überprüft, ob der IAM-Benutzer oder die IAM-Rolle, die die Automatisierung gestartet hat, über die erforderlichen Berechtigungen verfügt.
-
CheckTargetClusterExistence:Prüft, ob der angegebene Amazon ECS-Cluster existiert und aktiv ist.
-
CheckEcsServiceExistence:Prüft, ob der angegebene Amazon ECS-Service existiert und aktiv ist.
-
CheckNetworkConnectivity:Überprüft die Netzwerkkonnektivität zwischen den ALB- und Amazon ECS-Aufgaben.
-
CheckTasksAreExiting:Prüft, ob Amazon ECS-Aufgaben unerwartet beendet werden.
-
CheckTargetHealth:Überprüft den Gesundheitszustand von Zielen in der Zielgruppe.
-
CreateLambdaExecutionRole:Erstellt eine temporäre Lambda-Ausführungsrolle, wenn der
LambdaExecutionRoleParameter nicht angegeben ist. -
ExecuteCustomCheck:Stellt temporäre Lambda-Funktionen bereit, um Integritätsprüfungsanfragen zu simulieren und Abweichungen von Antwortcodes zu identifizieren.
-
ExecuteAdditionalCheck:Führt zusätzliche Prüfungen der ALB-Konfiguration und Übergangsperioden für Integritätsprüfungen durch.
-
DeleteLambdaExecutionRole:Löscht die temporäre Lambda-Ausführungsrolle und die Lambda-Funktionen, die während des Diagnosevorgangs erstellt wurden.
-
ExecutionResult:Stellt alle Ergebnisse in einem zusammenfassenden Bericht mit Empfehlungen zusammen.
-
-
Nach Abschluss des Vorgangs finden Sie im Abschnitt „Ausgaben“ die detaillierten Ergebnisse der Ausführung.
Referenzen
Systems Manager Automation