Wie kann ich das steigende Volumen auf einer Amazon EC2-Instance automatisch bewerten und korrigieren, wenn der freie Festplattenspeicher knapp ist?

Lesedauer: 4 Minute
0

Ich möchte sehen, ob die an meine Amazon Elastic Compute Cloud (Amazon EC2)-Instances angehängten Volumes erweitert werden müssen. Außerdem ist das Erweitern von Partitionen und Dateisystemen auf Betriebssystemebene (OS) ein zeitaufwändiger Vorgang. Wie kann ich den gesamten Prozess automatisieren?

Kurzbeschreibung

Sie können eine Reihe von AWS Systems Manager Automation-Dokumenten verwenden, um Amazon Elastic Block Store (Amazon EBS)-Volumes zu bewerten und zu erweitern. Die Automatisierungsdokumente arbeiten zusammen, sodass Sie die geringe Festplattenauslastung auf einer Amazon EC2-Instance untersuchen und optional korrigieren können.

Das Dokument AWSPremiumSupport-Troubleshootec2DiskUsage Automation orchestriert die Ausführung der anderen Systems Manager-Dokumente auf der Grundlage des Betriebssystemtyps.

In der ersten Gruppe von Dokumenten werden grundlegende Diagnosen durchgeführt und bewertet, ob eine Migration durch eine Erweiterung der Volume-Größe möglich ist:

  • AWSPremiumSupport-DiagnoseDiskUsageOnWindows
  • AWSPremiumSupport-DiagnoseDiskUsageOnLinux

Der zweite Satz von Dokumenten übernimmt die Ausgabe des ersten Dokuments und führt Python-Code aus, um die Volumenänderung durchzuführen. Anschließend greift die Automatisierung auf die Instance zu und erweitert die Partition und das Dateisystem der Volumes:

  • AWSPremiumSupport-ExtendVolumesOnWindows
  • AWSPremiumSupport-ExtendVolumesOnLinux

Gehen Sie wie folgt vor, um die erforderlichen Berechtigungen einzurichten und das Automatisierungsdokument auszuführen.

Auflösung

Gewähren Sie die Berechtigungen

Sie müssen die folgenden Berechtigungen gewähren, um die Automatisierungsdokumente verwenden zu können.

Falls Sie dies noch nicht getan haben, erstellen Sie ein AWS Identity and Access Management (IAM) Instance-Profil für Systems Manager. Hängen Sie es dann an die Ziel-Instance an.

Gehen Sie folgendermaßen vor, um die AssumeRole einzurichten, die für die Angabe des AutomationAssumeRole-Parameters während des Konfigurationsvorgangs für das Automatisierungsdokument erforderlich ist:

1.    Erstellen Sie eine Richtlinie auf der Registerkarte JSON mithilfe des folgenden JSON-Richtliniendokuments:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "ec2:DescribeVolumes",
        "ec2:DescribeVolumesModifications",
        "ec2:ModifyVolume",
        "ec2:DescribeInstances",
        "ec2:CreateImage",
        "ec2:DescribeImages",
        "ec2:DescribeTags",
        "ec2:CreateTags",
        "ec2:DeleteTags"
      ],
      "Resource": "*",
      "Effect": "Allow"
    },
    {
      "Action": [
        "iam:PassRole"
      ],
      "Resource": "*",
      "Effect": "Allow"
    },
    {
      "Action": [
        "ssm:StartAutomationExecution",
        "ssm:GetAutomationExecution",
        "ssm:DescribeAutomationStepExecutions",
        "ssm:DescribeAutomationExecutions"
      ],
      "Resource": "*",
      "Effect": "Allow"
    },
    {
      "Action": [
        "ssm:SendCommand",
        "ssm:DescribeInstanceInformation",
        "ssm:ListCommands",
        "ssm:ListCommandInvocations"
      ],
      "Resource": "*",
      "Effect": "Allow"
    }
  ]
}

2.    Erstellen Sie assume role (Rolle übernehmen) und fügen Sie die im vorherigen Schritt erstellte Richtlinie hinzu.

3.    Ändern Sie diese Anweisung und ersetzen Sie „Resource“: „*“ durch Ihren ARN für die Übernahmerolle.

{
  "Action": [
      "iam:PassRole"
    ],
    "Resource": "*",
    "Effect": "Allow"
  },

Führen Sie das Automatisierungsdokument aus

Um die Systems Manager Automation-Dokumente verwenden zu können, müssen Sie nur das erste AWSPremiumSupport-TroubleshooteC2DiskUsage-Dokument ausführen. Gehen Sie wie folgt vor:

1.    Öffnen Sie die Systems Manager-Konsole, und wählen Sie dann im Navigationsbereich Automation (Automatisierung) aus.

2.    Wählen Sie Execute automation (Automatisierung ausführen) aus.

3.    Wählen Sie das Optionsfeld für AWSPremiumSupport-TroubleshooteC2DiskUsage aus, und wählen Sie dann Next (Weiter).

4.    Wählen Sie Execute automation document (Automatisierungsdokument ausführen) die Option Simple execution (Einfache Ausführung) aus.

5.    Unter Input parameters (Eingabeparameter):

Geben Sie für InstanceId Ihre Amazon EC2-Instance-ID ein.

Geben Sie für AutomationAssumeRole den ARN der Rolle ein, die es der Automatisierung ermöglicht, die Aktionen in Ihrem Namen auszuführen. Dies ist die Übernahmerolle, die Sie bei der Erteilung von Berechtigungen erstellt haben.

6.    (Optional) Geben Sie unter Input parameters (Eingabeparameter) die folgenden Eingaben an, falls Ihre Anforderungen von den Standardwerten abweichen:

VolumeExpansionEnabled: Steuert, ob das Dokument die betroffenen Volumes und Partitionen erweitert (Standard: True)

VolumeExpansionUsageTrigger: Mindestprozentsatz des verwendeten Partitionsspeichers, der erforderlich ist, um die Erweiterung auszulösen (Standard: 85)

VolumeExpansionCapSize: Maximale Größe in GiB, auf die das EBS-Volumen erhöht wird (Standard: 2048)

VolumeExpansionGibIncrease: Erhöhung der Lautstärke in GiB (Standard: 20)

VolumeExpansionPercentageIncrease: Volumenerhöhung in Prozent (Standard: 20)

7.    Wählen Sie Execute (Ausführen).

Die Konsole zeigt den Automatisierungsstatus an.

Beispiel

Ihr aktuelles Volumen beträgt 30 GB und es stehen 4 GB freier Speicherplatz zur Verfügung, was bedeutet, dass Sie über 26 GB belegten Speicherplatz verfügen. Sie geben die folgenden Eingabeparameter an:

  • VolumeExpansionUsageTrigger: 85
  • VolumeExpansionGibIncrease: 10
  • VolumeExpansionPercentageIncrease: 15
  • VolumeExpansionCapSize: 2048

Ergebnis:

Die Erhöhung wird ausgelöst, weil 26 GB belegter Speicherplatz über dem für VolumeExpansionUsageTrigger angegebenen Schwellenwert von 85 % liegen.

Das Volumen wurde um 10 GB erhöht. Dies liegt daran, dass Sie angegeben haben, dass das Volumen entweder um 10 GB oder um 15 % der aktuellen Volume-Größe von 4,5 GB erhöht werden soll. Das Automatisierungsdokument verwendet den größten Nettozuwachs zwischen VolumeExpansionGibIncreaseund VolumeExpansionPercentageIncrease.

Die neue Volumegröße beträgt 40 GB und liegt damit innerhalb der angegebenen 2048 VolumeExpansionCapSize.


Ähnliche Informationen

Erweitern eines Linux-Dateisystems, nachdem Sie die Größe eines Volumes geändert haben

Erweitern eines Windows-Dateisystems, nachdem Sie die Größe eines Volumes geändert haben

Verwenden einer IAM, um Rollen für die Automatisierung zu konfigurieren