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

4 minutos de lectura
0

Quiero ver si es necesario ampliar los volúmenes adjuntos a mis instancias de Amazon Elastic Compute Cloud (Amazon EC2). Además, ampliar las particiones y los sistemas de archivos del sistema operativo es una operación que requiere mucho tiempo. ¿Cómo puedo automatizar todo el proceso?

Descripción corta

Puede utilizar 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 funcionan a la vez, lo que le permite investigar y, opcionalmente, corregir el uso del 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.

El primer conjunto de documentos realiza diagnósticos básicos y evalúa si es posible migrar ampliando el tamaño del volumen:

  • AWSPremiumSupport-DiagnoseDiskUsageOnWindows
  • AWSPremiumSupport-DiagnoseDiskUsageOnLinux

El segundo conjunto de documentos toma la salida del primer documento y ejecuta el código Python para realizar la modificación del volumen. 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:

  • AWSPremiumSupport-ExtendVolumesOnWindows
  • AWSPremiumSupport-ExtendVolumesOnLinux

Siga los siguientes pasos para configurar los permisos necesarios y ejecutar el documento de automatización.

Resolución

Otorgar permisos

Debe conceder los siguientes permisos para utilizar los documentos de automatización.

Si aún no lo ha hecho, cree un perfil de instancia de AWS Identity and Access Management (IAM) para Systems Manager. A continuación, adjúntelo a la instancia de destino.

Para configurar el AssumeRole, que es necesario para especificar el parámetro AutomationAssumeRole durante el proceso de configuración del documento de automatización, siga estos pasos:

1.    Cree una política en la pestaña JSON usando el siguiente documento de política JSON:

{
  "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 AssumeRole y adjunte la política creada en el paso anterior.

3.    Modifique esta sentencia y sustituya «Resource»: «*», por su ARN para el rol de asumir.

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

Ejecutar el documento de automatización

Para utilizar el conjunto de documentos de automatización de Systems Manager, solo debe ejecutar el documento inicial 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 el botón de opción de AWSPremiumSupport-TroubleshootEC2DiskUsage y, a continuación, haga clic en Siguiente.

4.    En Ejecutar documento de automatización, seleccione Ejecución simple.

5.    En Parámetros de entrada:

En InstanceId, introduzca el ID de la instancia de Amazon EC2.

Para AutomationAssumeRole, introduzca el ARN del rol que permite a la automatización realizar las acciones en su nombre. Este es el rol de asumir que ha creado al conceder los permisos.

6.    (Opcional) 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: True)

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.

La consola muestra el estado de la automatización.

Ejemplo

Su volumen actual es de 30 GB y tiene 4 GB libres, lo que significa que usa 26 GB de espacio. Debe especificar los siguientes parámetros de entrada:

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

Resultado:

El aumento se activa porque 26 GB de espacio utilizado superan el umbral del 85 % especificado para VolumeExpansionUsageTrigger.

El volumen ha aumentado 10 GB, ya que ha especificado que el volumen debe aumentar 10 GB o un 15 % con respecto al tamaño del volumen actual 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, lo que se encuentra dentro del VolumeExpansionCapSize de 2048.


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 2 años