시작 템플릿을 사용하여 AWS Batch에서 Amazon EBS 볼륨의 크기를 늘리려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 8월 19일

시작 템플릿을 사용하여 AWS Batch에서 Amazon Elastic Block Store(Amazon EBS) 볼륨의 크기를 늘리고 싶습니다.

간략한 설명

AWS Batch에서 Amazon EBS 볼륨의 크기를 늘리려면 시작 템플릿을 생성한 후 컴퓨팅 환경과 연결해야 합니다.

Amazon Elastic Compute Cloud(Amazon EC2) 콘솔 또는 AWS 명령줄 인터페이스(AWS CLI)를 사용하여 시작 템플릿을 생성할 수 있습니다. 다음 해결 방법은 AWS CLI를 사용하여 시작 템플릿을 생성하는 방법을 보여줍니다.

참고: 시작 템플릿의 DeviceName은 사용 중인 Amazon Elastic Container Service(Amazon ECS) 최적화 Amazon Machine Image(AMI) 버전에 따라 다를 수 있습니다. 기본적으로 AWS Batch는 두 개의 Amazon EBS 볼륨(/dev/xvda/dev/xvdcz)과 함께 제공되는 Amazon Linux 1을 기반으로 합니다. Amazon Linux 2를 사용하는 경우 AWS Batch에는 단일 볼륨(/dev/xvda)만 있습니다. 자세한 내용은 AMI 스토리지 구성을 참조하십시오.

중요: Amazon Linux 1에 대해 Docker 스토리지 한도(컨테이너당 10GiB)를 초과하여 스토리지 한도를 늘리려면, AWS Batch에서 "No space left on device(디바이스에 남은 공간 없음)" 오류를 해결하려면 어떻게 해야 합니까?를 참조하십시오.

해결 방법

시작 템플릿 생성

1.    launch-template-data.json이라는 파일을 생성하여 컴퓨팅 환경에 맞게 볼륨의 크기를 조정합니다. 다음 예제를 참조하십시오.

Amazon Linux 1(/dev/xvda) 및 (/dev/xvdcz)의 볼륨을 늘리는 템플릿 예:

{
    "LaunchTemplateName":"increase-all-volume",
    "LaunchTemplateData": {
        "BlockDeviceMappings": [
          {
            "Ebs": {
              "DeleteOnTermination": true,
              "VolumeSize": 50,
              "VolumeType": "gp2"
            },
            "DeviceName": "/dev/xvda"
          },
          {
            "Ebs": {
              "DeleteOnTermination": true,
              "VolumeSize": 75,
              "VolumeType": "gp2"
            },
            "DeviceName": "/dev/xvdcz"
          }          
        ]
  }
}

Amazon Linux 2(/dev/xvda)의 볼륨을 늘리는 템플릿 예:

{
    "LaunchTemplateName": "increase-volume",
    "LaunchTemplateData": {
        "BlockDeviceMappings": [
            {
                "DeviceName": "/dev/xvda",
                "Ebs": {
                    "VolumeSize": 100,
                    "VolumeType": "gp2"
                }
            }
        ]
    }
}

2.    시작 템플릿을 생성하려면 다음 명령을 실행합니다.

aws ec2 --region us-east-1 create-launch-template --cli-input-json file://launch-template-data.json

참고: us-east-1은 사용자의 AWS 리전으로 바꾸십시오.

출력은 다음과 유사합니다.

{
    "LaunchTemplate": {
        "LaunchTemplateId": "lt-06935eb650e40f886",
        "LaunchTemplateName": "increase-volume",
        "CreateTime": "2019-12-26T09:40:46.000Z",
        "CreatedBy": "arn:aws:iam::12345678999:user/alice",
        "DefaultVersionNumber": 1,
        "LatestVersionNumber": 1
    }
}

새 시작 템플릿과 연결할 새 컴퓨팅 환경 생성

1.    AWS Batch 콘솔을 엽니다.

2.    탐색 창에서[Compute environments(컴퓨팅 환경)]을 선택합니다.

3.    [Create environment(환경 생성)]을 선택합니다.

4.    [Configure your Compute resources(컴퓨팅 리소스 구성)] 섹션의 [Launch Template(시작 템플릿)]에서 앞서 생성한 시작 템플릿을 선택합니다.

5.    [Create(생성)]을 선택하십시오.

참고: 인스턴스는 AWS Batch가 인스턴스를 구동할 때 새 드라이브 크기를 표시합니다.

6.    볼륨의 크기가 조정되는지 테스트하려면 SSH를 사용하여 AWS Batch에서 시작한 인스턴스에 연결한 후 다음 명령을 실행합니다.

$ lsblk

출력은 다음 예와 유사합니다.

NAME                                                                          MAJ:MIN   RM  SIZE RO TYPE MOUNTPOINT
xvda                                                                          202:0      0   50G  0 disk 
`-xvda1                                                                       202:1      0   50G  0 part /
xvdcz                                                                         202:26368  0   75G  0 disk 
`-xvdcz1                                                                      202:26369  0   75G  0 part 
  |-docker-docker--pool_tdata                                                 253:1      0 74.1G  0 lvm  
  | `-docker-docker--pool                                                     253:2      0 74.1G  0 lvm  
  |   `-docker-202:1-394378-b6aedb5f6f6fd8af3731edb7043bafa704d9ff9752495f8eb24e613ec5dd85fd
                                                                              253:3      0   10G  0 dm   /var/lib/docker/devicemapper/mnt/b6aedb5f6f6fd8a
  `-docker-docker--pool_tmeta                                                 253:0      0   80M  0 lvm  
    `-docker-docker--pool                                                     253:2      0 74.1G  0 lvm  
      `-docker-202:1-394378-b6aedb5f6f6fd8af3731edb7043bafa704d9ff9752495f8eb24e613ec5dd85fd
                                                                              253:3      0   10G  0 dm   /var/lib/docker/devicemapper/mnt/b6aedb5f6f6fd8a

출력은 /dev/xvda50G이고 /dev/xvdcz75G임을 보여 줍니다.


이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?