Wie kann ich das steigende Volume auf einer Amazon-EC2-Instance automatisch auswerten und korrigieren, wenn der freie Speicherplatz knapp ist?

Lesedauer: 4 Minute
0

Ich möchte sehen, ob die an meine Amazon-EC2-Instances (Amazon Elastic Compute Cloud) angefügten Volumes erweitert werden müssen. Außerdem ist das Erweitern von Partitionen und Dateisystemen auf Betriebssystemebene 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-EBS-Volumes (Amazon Elastic Block Store) zu evaluieren und zu erweitern. Die Automatisierungsdokumente arbeiten zusammen und ermöglichen es Ihnen, die zu geringe Festplattennutzung auf einer Amazon-EC2-Instance zu untersuchen und optional zu korrigieren.

Das Automatisierungsdokument AWSPremiumSupport-TroubleshootEC2DiskUsage orchestriert die Ausführung der anderen Systems-Manager-Dokumente basierend auf dem Betriebssystemtyp.

Die ersten Dokumente führen grundlegende Diagnosen und Bewertungen durch, ob eine Migration möglich ist, indem die Volume-Größe erweitert wird:

  • AWSPremiumSupport-DiagnoseDiskUsageOnWindows
  • AWSPremiumSupport-DiagnoseDiskUsageOnLinux

Die zweite Gruppe von Dokumenten übernimmt die Ausgabe des ersten Dokuments und führt Python-Code aus, um die Volume-Änderung durchzuführen. Dann greift die Automatisierung auf die Instance zu und erweitert die Partition und das Dateisystem der Volumes:

  • AWSPremiumSupport-ExtendVolumesOnWindows
  • AWSPremiumSupport-ExtendVolumesOnLinux

Führen Sie die folgenden Schritte aus, um die erforderlichen Berechtigungen einzurichten und das Automatisierungsdokument auszuführen.

Auflösung

Berechtigungen erteilen

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

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

Gehen Sie folgendermaßen vor, um die AssumeRole einzurichten, die erforderlich ist, um den AutomationAssumeRole-Parameter während der Konfiguration des Automatisierungsdokuments anzugeben:

1.    Erstellen Sie auf der Registerkarte „JSON“ eine Richtlinie 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 die Übernehmen-Rolle 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 Übernehmen-Rolle.

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

Führen Sie das Automatisierungsdokument aus.

Um die Systems-Manager-Automatisierungsdokumente verwenden zu können, müssen Sie nur das ursprüngliche Dokument AWSPremiumSupport-TroubleshootEC2DiskUsage ausführen. Dazu gehen Sie wie folgt vor:

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

2.    Wählen Sie Automatisierung ausführen.

3.    Wählen Sie das Optionsfeld für AWSPremiumSupport-TroubleshootEC2DiskUsage aus, und wählen Sie dann Weiter.

4.    Wählen Sie für Automatisierungsdokument ausführen die Option Einfache Ausführung aus.

5.    Unter 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 Übernehmen-Rolle, die Sie beim Erteilen von Berechtigungen erstellt haben.

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

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

VolumeExpansionUsageTrigger: Minimaler Prozentsatz des verwendeten Partitionsspeichers, der zum Auslösen der Erweiterung erforderlich ist (Standard: 85).

VolumeExpansionCapSize: Maximale Größe in GiB, auf die das EBS-Volume erweitert wird (Standard: 2048).

VolumeExpansionGibIncrease: Volumenerhöhung in GiB (Standard: 20).

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

7.    Wählen Sie Ausführen aus.

Die Konsole zeigt den Status der Automatisierung an.

Beispiel

Ihr aktuelles Volume ist 30 GB groß und hat 4 GB freien Speicherplatz, was bedeutet, dass Sie 26 GB belegten Speicherplatz haben. Sie geben die folgenden Eingabeparameter an:

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

Ergebnis

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

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

Die neue Volume-Größe beträgt 40 GB, was innerhalb der angegebenen 2048 VolumeExpansionCapSize liegt.


Ähnliche Informationen

Erweitern eines Linux-Dateisystems nach der Größenänderung eines Volumes

Erweitern eines Windows-Dateisystems nach der Größenänderung eines Volumes

Ausführen einer Automatisierung mithilfe einer IAM-Servicerolle

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 10 Monaten