Como avalio e corrijo automaticamente o aumento do volume em uma instância do Amazon EC2 quando o espaço livre em disco é baixo?

4 minuto de leitura
0

Quero saber quando estender os volumes anexados às minhas instâncias do Amazon Elastic Compute Cloud (Amazon EC2). Também quero automatizar a extensão de partições e sistemas de arquivos no nível do sistema operacional (SO).

Breve descrição

Para avaliar e ampliar os volumes do Amazon Elastic Block Store (Amazon EBS), você pode usar um conjunto de documentos do AWS Systems Manager Automation. Os documentos de automação permitem que você investigue e, opcionalmente, corrija o baixo uso do disco em uma instância do Amazon EC2.

Com base no tipo do sistema operacional, o documento de automação AWSPremiumSupport-TroubleshootEC2DiskUsage orquestra a execução dos outros documentos do Systems Manager.

Os documentos a seguir realizam diagnósticos básicos e avaliam se você pode expandir o tamanho do volume para migrar os volumes:

  • AWSPremiumSupport-DiagnoseDiskUsageOnWindows
  • AWSPremiumSupport-DiagnoseDiskUsageOnLinux

Os documentos a seguir obtêm a saída dos documentos anteriores e executa o código Python para realizar a modificação do volume:

  • AWSPremiumSupport-ExtendVolumesOnWindows
  • AWSPremiumSupport-ExtendVolumesOnLinux

Em seguida, a automação acessa a instância e estende a partição e o sistema de arquivos dos volumes.

Resolução

Conceder permissões

Você deve conceder as seguintes permissões para usar os documentos de automação. Primeiro, certifique-se de ter um perfil de instância do AWS Identity and Access Management (IAM) para o Systems Manager anexado à instância de destino.

Para conceder permissões, conclua as etapas a seguir para configurar o AssumeRole para especificar o parâmetro AutomationAssumeRole para o processo de configuração do documento de automação:

  1. Use a opção JSON para criar a seguinte 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. Crie a função de assumir e, em seguida, anexe a política.

  3. Modifique a declaração a seguir. Substitua "Resource": "*" pelo seu ARN para assumir a função:

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

Executar o documento de automação

Para usar o conjunto de documentos do Systems Manager Automation, execute somente o documento AWSPremiumSupport-TroubleshootEC2DiskUsage.

Para executar o documento AWSPremiumSupport-TroubleshootEC2DiskUsage, conclua as seguintes etapas:

  1. Abra o console do Systems Manager e escolha Automação no painel de navegação.
  2. Selecione Executar automação.
  3. Selecione AWSPremiumSupport-TroubleshootEC2DiskUsage e escolha Próximo.
  4. Em Executar documento de automação, selecione Execução simples.
  5. Em Parâmetros de entrada, insira as seguintes informações:
    Para InstanceId, insira seu ID de instância do Amazon EC2.
    Para AutomationAssumeRole, insira o ARN do perfil assumido que permite que a automação execute as ações em seu nome.
  6. Em Parâmetros de entrada, especifique as seguintes entradas se seus requisitos forem diferentes dos valores padrão:
    VolumeExpansionEnabled: controla se o documento estenderá os volumes e as partições afetados (padrão: True)
    VolumeExpansionUsageTrigger: porcentagem mínima do espaço de partição usado necessário para acionar a expansão (padrão: 85)
    VolumeExpansionCapSize: tamanho máximo em GiB até o qual o volume do EBS aumentará (padrão: 2048)
    VolumeExpansionGibIncrease: aumento de volume em GiB (padrão: 20)
    VolumeExpansionPercentageIncrease: Aumento de volume em porcentagem (padrão: 20)
  7. Selecione Executar.

Exemplo de cenário

Seu volume atual é de 30 GB e tem 4 GB livres. Isso significa que há 26 GB de espaço usado. Especifique os seguintes parâmetros de entrada:

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

Como 26 GB de espaço usado estão acima do limite de 85% para VolumeExpansionUsageTrigger, um aumento de volume de 10 GB é iniciado. Esse aumento ocorre porque você especificou que o volume aumenta em 10 GB ou 15% do tamanho atual do volume de 4,5 GB. O documento de automação usa o maior aumento líquido entre VolumeExpansionGibIncrease e VolumeExpansionPercentageIncrease. O novo tamanho do volume é de 40 GB. 40 GB estão dentro do 2048 VolumeExpansionCapSize especificado.

Informações relacionadas

Estender um sistema de arquivos Linux após redimensionar um volume

Estender um sistema de arquivos Windows após redimensionar um volume

Usar o IAM para configurar perfis para automação