AWSSupport-SetupIPMonitoringFromVPC - AWS Systems Manager Referenz zum Automatisierungs-Runbook

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-SetupIPMonitoringFromVPC

Beschreibung

AWSSupport-SetupIPMonitoringFromVPCerstellt eine Amazon Elastic Compute Cloud (Amazon EC2) -Instance im angegebenen Subnetz und überwacht das ausgewählte Ziel IPs (IPv4 oder IPv6), indem kontinuierlich Ping-, MTR-, Traceroute- und Tracetcp-Tests ausgeführt werden. Die Ergebnisse werden in Amazon CloudWatch Logs-Protokollen gespeichert, und Metrikfilter werden angewendet, um Latenz- und Paketverlust-Statistiken schnell in einem CloudWatch Dashboard zu visualisieren.

Zusätzliche Informationen

Die CloudWatch Logs-Daten können zur Fehlerbehebung im Netzwerk und zur Analyse der pattern/trends. Additionally, you can configure CloudWatch alarms with Amazon SNS notifications when packet loss and/or Latenz, die einen bestimmten Schwellenwert erreicht hat, verwendet werden. Die Daten können auch verwendet werden, wenn ein Fall eröffnet wird AWS Support, um ein Problem schnell zu isolieren und die Zeit bis zur Lösung bei der Untersuchung eines Netzwerkproblems zu verkürzen.

Führen Sie diese Automatisierung aus (Konsole)

Art des Dokuments

Automatisierung

Eigentümer

Amazon

Plattformen

LinuxmacOS, Windows

Parameter

  • AutomationAssumeRole

    Typ: Zeichenfolge

    Beschreibung: (Optional) Der Amazon-Ressourcenname (ARN) der AWS Identity and Access Management (IAM) -Rolle, mit der Systems Manager Automation die Aktionen in Ihrem Namen ausführen kann. Wenn keine Rolle angegeben ist, verwendet Systems Manager Automation die Berechtigungen des Benutzers, der dieses Runbook startet.

  • CloudWatchLogGroupNamePrefix

    Typ: Zeichenfolge

    Standard: /AWSSupport-SetupIPMonitoringFromVPC

    Beschreibung: (Optional) Das Präfix wird für jede CloudWatch Protokollgruppe verwendet, die für die Testergebnisse erstellt wurde.

  • CloudWatchLogGroupRetentionInDays

    Typ: Zeichenfolge

    Gültige Werte: 1 | 3 | 5 | 7 | 14 | 30 | 60 | 90 | 120 | 150 | 180 | 365 | 400 | 545 | 731 | 1827 | 3653

    Standard: 7

    Beschreibung: (Optional) Die Anzahl der Tage, für die Sie die Netzwerküberwachungsergebnisse behalten möchten.

  • InstanceType

    Typ: Zeichenfolge

    Gültige Werte: t2.micro | t2.small | t2.medium | t2.large | t3.micro | t3.small | t3.medium | t3.large | t4g.micro | t4g.small | t4g.medium | t4g.large

    Standard: t3.micro

    Beschreibung: (Optional) Der EC2-Instance-Typ für die Rescue-Instance. EC2 Empfohlene Größe: t3.micro.

  • SubnetId

    Typ: Zeichenfolge

    Beschreibung: (Erforderlich) Die Subnetz-ID für die Überwachungs-Instance. Beachten Sie, dass Sie, wenn Sie ein privates Subnetz angeben, sicherstellen müssen, dass ein Internetzugang vorhanden ist, damit die Monitor-Instance den Test einrichten kann (d. h. den CloudWatch Logs-Agent installieren, mit Systems Manager interagieren und CloudWatch).

  • Ziel IPs

    Typ: Zeichenfolge

    Beschreibung: (Erforderlich) Durch Kommas getrennte Liste der zu überwachenden IPv4s und/oder IPv6s zu überwachenden Objekte. Leerzeichen sind nicht zulässig. Die maximale Größe beträgt 255 Zeichen. Beachten Sie: Wenn Sie eine ungültige IP angeben, schlägt die Automatisierung fehl, und die Testeinrichtung wird zurückgesetzt.

  • TestInstanceSecurityGroupId

    Typ: Zeichenfolge

    Beschreibung: (Optional) Die Sicherheitsgruppen-ID für die Testinstanz. Wenn nicht angegeben, erstellt die Automatisierung während der Instanzerstellung eine. Stellen Sie sicher, dass die Sicherheitsgruppe ausgehenden Zugriff auf die Überwachung IPs zulässt.

  • TestInstanceProfileName

    Typ: Zeichenfolge

    Beschreibung: (Optional) Der Name eines vorhandenen IAM-Instanzprofils für die Testinstanz. Wenn nicht angegeben, erstellt die Automatisierung während der Instanzerstellung eines. Die Rolle muss über die folgenden Berechtigungen verfügen:logs:CreateLogStream, logs:DescribeLogGroupslogs:DescribeLogStreams, und logs:PutLogEvents und die AWS verwaltete RichtlinieAmazonSSMManagedInstanceCore.

  • TestInterval

    Typ: Zeichenfolge

    Beschreibung: (Optional) Die Anzahl der Minuten zwischen den Testintervallen. Der Standardwert ist 1 Minute und das Maximum ist 10 Minuten.

  • RetainDashboardAndLogsOnDeletion

    Typ: Zeichenfolge

    Beschreibung: (Optional) Geben Sie False an, dass das CloudWatch Amazon-Dashboard und die Protokolle beim Löschen des AWS AWS CloudFormation Stacks gelöscht werden sollen. Der Standardwert ist True. Standardmäßig werden das Dashboard und die Protokolle beibehalten und müssen manuell gelöscht werden, wenn sie nicht mehr benötigt werden.

Erforderliche IAM-Berechtigungen

Der AutomationAssumeRole Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.

Warnung

Es wird empfohlen, den TestInstanceProfileName Parameter zu übergeben oder Sicherheitsvorkehrungen zu treffen, um den Missbrauch veränderbarer IAM-Berechtigungen zu verhindern.

Es wird empfohlen, dass dem Benutzer, der die Automatisierung ausführt, die von Amazon SSMAutomation Role IAM verwaltete Richtlinie beigefügt ist. Außerdem muss der Benutzer die folgende Richtlinie an sein Benutzerkonto, seine Gruppe oder seine Rolle angefügt haben:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "iam:CreateRole", "iam:CreateInstanceProfile", "iam:GetRole", "iam:GetInstanceProfile", "iam:DetachRolePolicy", "iam:AttachRolePolicy", "iam:PassRole", "iam:AddRoleToInstanceProfile", "iam:GetRolePolicy", "iam:RemoveRoleFromInstanceProfile", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:DeleteInstanceProfile", "iam:PutRolePolicy", "iam:TagRole" ], "Resource": [ "arn:aws:iam::111122223333:role/SetupIPMonitoringFromVPC*", "arn:aws:iam::111122223333:instance-profile/SetupIPMonitoringFromVPC*" ], "Effect": "Allow" }, { "Action": [ "cloudformation:CreateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudwatch:PutDashboard", "cloudwatch:DeleteDashboards", "ec2:AuthorizeSecurityGroupEgress", "ec2:CreateSecurityGroup", "ec2:CreateLaunchTemplate", "ec2:DeleteSecurityGroup", "ec2:DescribeImages", "ec2:DescribeSubnets", "ec2:DescribeInstanceTypes", "ec2:DescribeVpcs", "ec2:DeleteLaunchTemplate", "ec2:DeleteSecurityGroup", "ec2:RunInstances", "ec2:TerminateInstances", "ec2:DescribeInstanceStatus", "ec2:CreateTags", "ec2:AssignIpv6Addresses", "ec2:DescribeTags", "ec2:DescribeInstances", "ec2:DescribeSecurityGroups", "ec2:DescribeLaunchTemplates", "ec2:RevokeSecurityGroupEgress", "logs:CreateLogGroup", "logs:DeleteLogGroup", "logs:PutMetricFilter", "logs:PutRetentionPolicy", "logs:TagResource", "ssm:DescribeInstanceInformation", "ssm:GetParameter", "ssm:GetParameters", "ssm:SendCommand", "ssm:ListCommands", "ssm:ListCommandInvocations" ], "Resource": [ "*" ], "Effect": "Allow" } ] }

Wenn der TestInstanceProfileName Parameter angegeben wird, sind die folgenden IAM-Berechtigungen nicht erforderlich, um das Runbook auszuführen:

  • iam: CreateRole

  • ich bin: CreateInstanceProfile

  • ich bin: DetachRolePolicy

  • ich bin: AttachRolePolicy

  • ich bin: AddRoleToInstanceProfile

  • ich bin: RemoveRoleFromInstanceProfile

  • ich bin: DeleteRole

  • ich bin: DeleteRolePolicy

  • ich bin: DeleteInstanceProfile

Dokumentschritte

  1. aws:executeAwsApi- Beschreiben Sie das bereitgestellte Subnetz, um die VPC-ID und den IPv6 CIDR-Blockzuordnungsstatus abzurufen.

  2. aws:executeScript— überprüft, ob das angegebene Ziel syntaktisch korrekt ist IPv4 und/oder die IPv6 Adressen korrekt IPs sind, ermittelt die Architektur des ausgewählten Instanztyps und stellt sicher, dass das Subnetz über eine IPv6 Pool-Zuordnung verfügt, falls es sich um eine Ziel-IP handelt. IPv6

  3. aws:createStack- Erstellen Sie einen AWS CloudFormation Stack, der die Amazon EC2 EC2-Testinstanz, das IAM-Instance-Profil (falls nicht bereitgestellt), die Sicherheitsgruppe (falls nicht bereitgestellt), die CloudWatch Protokollgruppen und CloudWatch das Dashboard bereitstellt.

    (Cleanup) Wenn der Schritt fehlschlägt:

    aws:executeScript— Beschreiben Sie die CloudFormation Stack-Ereignisse, um die Fehlerursache zu ermitteln.

    aws:deleteStack- löscht den CloudFormation Stapel und alle zugehörigen Ressourcen.

  4. aws:waitForAwsResourceProperty- warte, bis der CloudFormation Stapel fertig erstellt ist.

    (Cleanup) Wenn der Schritt fehlschlägt:

    aws:executeScript- Beschreiben Sie die CloudFormation Stack-Ereignisse, um die Fehlerursache zu ermitteln.

    aws:deleteStack- löscht den CloudFormation Stapel und alle zugehörigen Ressourcen.

  5. aws:executeScript— Beschreiben Sie die CloudFormation Stack-Ressourcen, um die Testinstanz-ID, die Sicherheitsgruppen-ID, die IAM-Rolle, das Instanzprofil und den Dashboard-Namen zu erhalten.

    (Cleanup) Wenn der Schritt fehlschlägt:

    aws:executeScript— Beschreiben Sie die CloudFormation Stack-Ereignisse, um die Fehlerursache zu ermitteln.

    aws:deleteStack- löscht den CloudFormation Stapel und alle zugehörigen Ressourcen.

  6. aws:waitForAwsResourceProperty- Warten Sie, bis die Testinstanz zu einer verwalteten Instanz wird.

    (Cleanup) Wenn der Schritt fehlschlägt:

    aws:deleteStack- löscht den CloudFormation Stack und alle zugehörigen Ressourcen.

  7. aws:runCommand- installiert den CloudWatch Agenten auf der Testinstanz.

    (Cleanup) Wenn der Schritt fehlschlägt:

    aws:deleteStack- löscht den CloudFormation Stack und alle zugehörigen Ressourcen.

  8. aws:runCommand- Definieren Sie die Netzwerktestskripte (MTR, Ping, Tracepath und Traceroute) für jedes der bereitgestellten Skripte. IPs

    (Cleanup) Wenn der Schritt fehlschlägt:

    aws:deleteStack- löscht den CloudFormation Stack und alle zugehörigen Ressourcen.

  9. aws:runCommand- Starten Sie die Netzwerktests und planen Sie nachfolgende Ausführungen mit Cronjobs, die alle Minuten ausgeführt werden. TestInterval

    (Cleanup) Wenn der Schritt fehlschlägt:

    aws:deleteStack- löscht den CloudFormation Stack und alle zugehörigen Ressourcen.

  10. aws:runCommand- konfigurieren Sie den CloudWatch Agenten so, dass er die Testergebnisse /home/ec2-user/logs/ in die CloudWatch Logs überträgt.

    (Cleanup) Wenn der Schritt fehlschlägt:

    aws:deleteStack- löscht den CloudFormation Stack und alle zugehörigen Ressourcen.

  11. aws:runCommand- konfigurieren Sie die Protokollrotation für die Testergebnisse in/home/ec2-user/logs/.

  12. aws:executeScript- legt die Aufbewahrungsrichtlinie für alle vom CloudFormation Stapel erstellten CloudWatch Protokollgruppen fest.

  13. aws:executeScript- Erstellen Sie Metrikfilter für CloudWatch Protokollgruppen für Ping-Latenz und Ping-Paketverlust.

    (Cleanup) Wenn der Schritt fehlschlägt:

    aws:deleteStack- löscht den CloudFormation Stapel und alle zugehörigen Ressourcen.

  14. aws:executeScript- aktualisiert das CloudWatch Dashboard um Widgets für Statistiken zur Ping-Latenz und zum Verlust von Ping-Paketen.

    (Cleanup) Wenn der Schritt fehlschlägt:

    aws:executeAwsApi- lösche das CloudWatch Dashboard, falls es existiert.

    aws:deleteStack- lösche den CloudFormation Stack und alle zugehörigen Ressourcen.

  15. aws:branch- den SleepTime Parameter auswerten. Wenn auf gesetzt0, wird die Automatisierung beendet, ohne dass der Stapel gelöscht wird.

  16. aws:sleep- Warten Sie die angegebene SleepTime Dauer, bevor Sie den CloudFormation Stapel löschen.

  17. aws:deleteStack- löscht den CloudFormation Stapel. Basierend auf dem RetainDashboardAndLogsOnDeletion Parameter werden das CloudWatch Dashboard und die Protokollgruppen entweder beibehalten oder gelöscht.

    (Bereinigung) Wenn das Löschen des Stacks fehlschlägt:

    aws:executeScript- Beschreiben Sie die CloudFormation Stack-Ereignisse, um die Ursache für das Fehlschlagen beim Löschen zu ermitteln.

Ausgaben

updateCloudWatchArmaturenbrett. StackUrl - die URL des CloudFormation Stacks.

updateCloudWatchArmaturenbrett. DashboardUrl - die URL des CloudWatch Dashboards.

updateCloudWatchArmaturenbrett. DashboardName - der Name des CloudWatch Dashboards.

updateCloudWatchArmaturenbrett. LogGroups - die Liste der erstellten CloudWatch Protokollgruppen.

describeStackResources. HelperInstanceId - die Testinstanz-ID.

describeStackResources. StackName - der CloudFormation Stack-Name.