사용 가능한 디스크 공간이 부족할 때 Amazon EC2 인스턴스에서 증가하는 볼륨을 자동으로 평가하고 문제를 해결하려면 어떻게 해야 하나요?

3분 분량
0

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 연결된 볼륨을 확장해야 하는지 알고 싶습니다. 또한 운영 체제(OS) 수준에서 파티션과 파일 시스템을 확장하는 작업이 시간이 많이 걸립니다. 전체 프로세스를 자동화하려면 어떻게 해야 하나요?

간략한 설명

AWS Systems Manager Automation 문서 세트를 사용하여 Amazon Elastic Block Store(Amazon EBS) 볼륨을 평가하고 확장할 수 있습니다. 자동화 문서는 함께 작동하므로 Amazon EC2 인스턴스의 낮은 디스크 사용량을 조사하고 선택적으로 해결할 수 있습니다.

AWSPremiumSupport-TroubleshootEC2DiskUsage 자동화 문서는 OS 유형에 따라 다른 Systems Manager 문서의 실행을 조정합니다.

첫 번째 문서 세트는 볼륨 크기를 확장하여 마이그레이션할 수 있는지 여부에 대한 기본적인 진단 및 평가를 수행합니다.

  • AWSPremiumSupport-DiagnoseDiskUsageOnWindows
  • AWSPremiumSupport-DiagnoseDiskUsageOnLinux

두 번째 문서 세트는 첫 번째 문서의 출력을 받아 Python 코드를 실행하여 볼륨 수정을 수행합니다. 그러면 자동화가 인스턴스에 액세스하고 볼륨의 파티션 및 파일 시스템을 확장합니다.

  • AWSPremiumSupport-ExtendVolumesOnWindows
  • AWSPremiumSupport-ExtendVolumesOnLinux

다음 단계를 따라 필요한 권한을 설정하고 자동화 문서를 실행합니다.

해결 방법

권한 부여

자동화 문서를 사용하려면 다음 권한을 부여해야 합니다.

아직 생성하지 않았다면 Systems Manager용 AWS ID 및 액세스 관리(IAM) 인스턴스 프로필을 생성하세요. 그런 다음, 대상 인스턴스에 연결합니다.

자동화 문서 구성 프로세스 중에 AutomationAssumeRole 파라미터를 지정하는 데 필요한 AssumeRole을 설정하려면 다음 단계를 수행하세요.

1.    다음 JSON 정책 문서를 사용하여 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.    수임 역할을 생성하고 이전 단계에서 생성한 정책을 연결합니다.

3.    이 문을 수정하고 “Resource”: "*“를 수임 역할의 ARN으로 바꿉니다.

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

자동화 문서 실행

Systems Manager 자동화 문서 세트를 사용하려면 초기 AWSPremiumSupport-TroubleshootEC2DiskUsage 문서만 실행하면 됩니다. 다음 단계를 따르세요.

1.    Systems Manager 콘솔을 연 다음, 탐색 창에서 자동화를 선택합니다.

2.    자동화 실행을 선택합니다.

3.    AWSPremiumSupport-TroubleshootEC2DiskUsage의 라디오 버튼을 선택한 후 다음을 선택합니다.

4.    자동화 문서 실행에서 간단한 실행을 선택합니다.

5.    입력 파라미터에서:

InstanceId에 Amazon EC2 인스턴스 ID를 입력합니다.

AutomationAssumeRole에 자동화가 사용자 본인을 대신하여 작업을 수행하도록 허용하는 역할의 ARN을 입력합니다. 권한을 부여할 때 생성한 위임 역할입니다.

6.    (선택 사항) 요구 사항이 기본값과 다를 경우 입력 파라미터에서 다음 입력을 지정합니다.

VolumeExpansionEnabled: 문서가 영향을 받는 볼륨과 파티션을 확장할지 여부를 제어합니다(기본값: True)

VolumeExpansionUsageTrigger: 확장을 트리거하는 데 필요한 사용된 파티션 공간의 최소 비율(기본값: 85)

VolumeExpansionCapSize: EBS 볼륨이 증가할 최대 크기(GiB)(기본값: 2048)

VolumeExpansionGibIncrease: 볼륨 증가(GiB)(기본값: 20)

VolumeExpansionPercentageIncrease: 볼륨 증가(백분율)(기본값: 20)

7.    실행을 선택합니다.

콘솔에 자동화 상태가 표시됩니다.

예시

현재 볼륨은 30GB이고 4GB의 여유 공간이 있습니다. 즉, 26GB의 사용 공간이 있습니다. 다음과 같은 입력 파라미터를 지정합니다.

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

결과:

26GB의 사용 공간이 VolumeExpansionUsageTrigger에 지정된 85% 임계값을 초과하기 때문에 증가가 트리거됩니다.

볼륨이 10GB 증가했습니다. 이는 볼륨을 현재 볼륨 크기인 4.5GB의 10GB(또는 15%) 늘려야 한다고 지정했기 때문입니다. 자동화 문서에서는 VolumeExpansionGibIncreaseVolumeExpansionPercentageIncrease 사이에 가장 큰 순 증가분을 사용합니다.

새 볼륨 크기는 40GB로, 지정된 2048 VolumeExpansionCapSize이내입니다.


관련 정보

볼륨 크기 조정 후 Linux 파일 시스템 확장

볼륨 크기 조정 후 Windows 파일 시스템 확장

IAM을 사용하여 자동화를 위한 역할 구성

댓글 없음

관련 콘텐츠