Comment puis-je évaluer et corriger automatiquement l'augmentation du volume sur une instance Amazon EC2 lorsque l'espace disque disponible est insuffisant ?

Lecture de 4 minute(s)
0

Je souhaite savoir si les volumes attachés à mes instances Amazon Elastic Compute Cloud (Amazon EC2) doivent être étendus. De plus, l'extension des partitions et des systèmes de fichiers au niveau du système d'exploitation (SE) est une opération fastidieuse. Comment puis-je automatiser l'ensemble du processus ?

Brève description

Vous pouvez utiliser un ensemble de documents AWS Systems Manager Automation pour évaluer et étendre les volumes Amazon Elastic Block Store (Amazon EBS). Les documents d'automatisation fonctionnent à l'unisson, ce qui vous permet d'étudier et éventuellement de remédier à la faible utilisation du disque sur une instance Amazon EC2.

Le document AWS PremiumSupport-TroubleshooEC2DiskUsage Automation, orchestre l'exécution des autres documents de Systems Manager en fonction du type de système d'exploitation.

Le premier ensemble de documents établit des diagnostics de base et évalue s'il est possible de migrer en augmentant la taille du volume :

  • AWSPremiumSupport-DiagnoseDiskUsageOnWindows
  • AWSPremiumSupport-DiagnoseDiskUsageOnLinux

Le second ensemble de documents prend la sortie du premier document et exécute du code Python pour effectuer la modification du volume. L'automatisation accède ensuite à l'instance et étend la partition et le système de fichiers des volumes :

  • AWSPremiumSupport-ExtendVolumesOnWindows
  • AWSPremiumSupport-ExtendVolumesOnLinux

Procédez comme suit pour configurer les autorisations requises et exécuter le document Automation.

Résolution

Accorder des autorisations

Vous devez accorder les autorisations suivantes pour utiliser les documents d'automatisation.

Si ce n'est pas déjà fait, créez un profil d'instance AWS Identity and Access Management (IAM) pour Systems Manager. Ensuite, attachez-le à l'instance cible.

Pour configurer le rôle AssumeRole, qui est requis pour spécifier le paramètre AutomationAssumeRole pendant le processus de configuration du document Automation, procédez comme suit :

1.    Créez une politique dans l'onglet JSON à l'aide du document de politique JSON suivant :

{
  "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.    Créez le rôle d'utilisateur et associez la politique créée à l'étape précédente.

3.    Modifiez cette instruction et remplacez « Resource » : « * » par votre ARN pour le rôle d'utilisateur.

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

Exécutez le document d'automatisation

Pour utiliser l'ensemble des documents d'automatisation de Systems Manager, vous devez exécuter uniquement le document initial AWSPremiumSupport-TroubleshootEC2DiskUsage. Procédez comme suit :

1.    Ouvrez la console Systems Manager, puis choisissez Automatisation dans le volet de navigation.

2.    Choisissez Exécuter l'automatisation.

3.    Sélectionnez le bouton radio pour AWSPremiumSupport-TroubleshooTEC2DiskUsage, puis choisissez Suivant.

4.    Pour Exécuter le document d'automatisation, sélectionnez Exécution simple.

5.    Sous Paramètres d'entrée :

Pour InstanceId, entrez votre ID d'instance Amazon EC2.

Pour AutomationAssumeRole, entrez l'ARN du rôle qui permet à l'automatisation d'effectuer les actions en votre nom. Il s'agit du rôle d'utilisateur que vous avez créé lors de l'octroi des autorisations.

6.    (Facultatif) Sous Paramètres d'entrée, spécifiez les entrées suivantes si vos exigences diffèrent des valeurs par défaut :

VolumeExpansionEnabled : Contrôle si le document va étendre les volumes et les partitions concernés (par défaut : Vrai)

VolumeExpansionUsageTrigger : Pourcentage minimum d'espace de partition utilisé requis pour déclencher l'extension (par défaut : (85)

VolumeExpansionCapSize : Taille maximale en GiB à laquelle le volume EBS va augmenter (par défaut : (2048)

VolumeExpansionGibIncrease : Augmentation du volume en GiB (par défaut : 20)

VolumeExpansionPercentageIncrease : Augmentation du volume en pourcentage (par défaut : 20)

7.    Choisissez Exécuter.

La console affiche l'état de l'automatisation.

Exemple

Votre volume actuel est de 30 Go et dispose de 4 Go d'espace libre, ce qui signifie que vous disposez de 26 Go d'espace utilisé. Vous devez spécifier les paramètres d'entrée suivants :

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

Résultat :

L'augmentation est déclenchée, car 26 Go d'espace utilisé sont supérieurs au seuil de 85 % spécifié pour VolumeExpansionUsageTrigger.

Le volume a augmenté de 10 Go. Cela est dû au fait que vous avez indiqué que le volume devait augmenter de 10 Go ou de 15 % par rapport à la taille de volume actuelle de 4,5 Go. Le document d'automatisation utilise la plus forte augmentation nette entre VolumeExpansionGIBIncrease et VolumeExpansionPercentageIncrease.

Le nouveau volume est de 40 Go, ce qui se situe dans la limite de 2048 VolumeExpansionCapSize spécifiée.


Informations connexes

Étendre un système de fichiers Linux après avoir redimensionné un volume

Étendre un système de fichiers Windows après avoir redimensionné un volume

Utiliser IAM pour configurer des rôles pour l'automatisation