¿Cómo puedo evaluar y corregir automáticamente el aumento del volumen en una instancia de Amazon EC2 cuando hay poco espacio libre en el disco?

4 minutos de lectura
0

Quiero saber cuándo ampliar los volúmenes asociados a mis instancias de Amazon Elastic Compute Cloud (Amazon EC2). Además, quiero automatizar la ampliación de las particiones y los sistemas de archivos en el nivel del sistema operativo (SO).

Breve descripción

Utilice un conjunto de documentos de Automatización de AWS Systems Manager para evaluar y ampliar los volúmenes de Amazon Elastic Block Store (Amazon EBS). Los documentos de Automatización permiten investigar y, opcionalmente, corregir el consumo cuando queda poco espacio de disco en una instancia de Amazon EC2.

El documento de Automatización AWSPremiumSupport-TroubleshootEC2DiskUsage organiza la ejecución de los demás documentos de Systems Manager en función del tipo de sistema operativo.

Los siguientes documentos realizan diagnósticos básicos y evalúan si puede ampliar el tamaño del volumen para migrarlos:

  • AWSPremiumSupport-DiagnoseDiskUsageOnWindows
  • AWSPremiumSupport-DiagnoseDiskUsageOnLinux

Los siguientes documentos toman el resultado de los documentos anteriores y ejecutan código Python para modificar el volumen:

  • AWSPremiumSupport-ExtendVolumesOnWindows
  • AWSPremiumSupport-ExtendVolumesOnLinux

A continuación, la automatización accede a la instancia y amplía la partición y el sistema de archivos de los volúmenes.

Solución

Otorgar permisos

Debe conceder los siguientes permisos para utilizar los documentos de Automatización. En primer lugar, asegúrese de tener un perfil de instancia de AWS Identity and Access Management (IAM) para Systems Manager asociado a la instancia de destino.

Para conceder permisos, complete los siguientes pasos para configurar AssumeRole con el fin de especificar el parámetro AutomationAssumeRole para el proceso de configuración del documento de Automatización:

  1. Use la opción JSON para crear la siguiente política:

    {
      "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. Cree el rol de asunción y, a continuación, asocie la política.

  3. Modifique la siguiente instrucción. Reemplace «Resource»: «*» por el ARN del rol de asunción:

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

Ejecución del documento de Automatización

Para utilizar el conjunto de documentos de Automatización de Systems Manager, ejecute solo el documento AWSPremiumSupport-TroubleshootEC2DiskUsage.

Para ejecutar el documento AWSPremiumSupport-TroubleshootEC2DiskUsage, siga estos pasos:

  1. Abra la consola de Systems Manager y, a continuación, seleccione Automatización en el panel de navegación.
  2. Elija Ejecutar automatización.
  3. Seleccione AWSPremiumSupport-TroubleshootEC2DiskUsage y, a continuación, elija Siguiente.
  4. En Ejecutar documento de automatización, elija Ejecución simple.
  5. En Parámetros de entrada, introduzca la siguiente información:
    En InstanceId, introduzca el ID de la instancia de Amazon EC2.
    En AutomationAssumeRole, introduzca el ARN del rol de asunción para permitir que Automatización realice las acciones en su nombre.
  6. En Parámetros de entrada, especifique las siguientes entradas si sus requisitos difieren de los valores predeterminados:
    VolumeExpansionEnabled: controla si el documento ampliará los volúmenes y las particiones afectados (opción predeterminada: Verdadero)
    VolumeExpansionUsageTrigger: porcentaje mínimo de espacio de partición utilizado necesario para activar la ampliación (opción predeterminada: 85)
    VolumeExpansionCapSize: tamaño máximo en GiB al que aumentará el volumen de EBS (opción predeterminada: 2048)
    VolumeExpansionGibIncrease: aumento de volumen en GiB (opción predeterminada: 20)
    VolumeExpansionPercentageIncrease: aumento del volumen en porcentaje (opción predeterminada: 20)
  7. Elija Ejecutar.

Escenario de ejemplo

Su volumen actual es de 30 GB y tiene 4 GB libres. Esto significa que tiene 26 GB de espacio usado. Especifique los siguientes parámetros de entrada:

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

Como 26 GB de espacio utilizado superan el umbral del 85 % para VolumeExpansionUsageTrigger, se inicia un incremento del volumen de 10 GB. Este aumento se debe a que ha especificado que el volumen debe aumentar 10 GB o un 15 % con respecto al tamaño del volumen actual, que es de 4,5 GB. El documento de Automatización utiliza el mayor aumento neto entre VolumeExpansionGibIncrease y VolumeExpansionPercentageIncrease. El nuevo tamaño del volumen es de 40 GB. 40 GB está dentro del valor especificado de 2048 en VolumeExpansionCapSize.

Información relacionada

Ampliar un sistema de archivos de Linux después de cambiar el tamaño de un volumen

Ampliar un sistema de archivos de Windows después de cambiar el tamaño de un volumen

Utilizar IAM para configurar roles para la automatización

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 8 meses