起動テンプレートを使用して AWS Batch で Amazon EBS ボリュームのサイズを増やす方法を教えてください。

最終更新日: 2020 年 8 月 19 日

起動テンプレートを使用して、AWS Batch で Amazon Elastic Block Store (Amazon EBS) ボリュームのサイズを増やしたいです。

簡単な説明

AWS Batch で Amazon EBS ボリュームのサイズを増やすには、そのテンプレートをコンピューティング環境に関連付ける前に起動テンプレートを作成する必要があります。

起動テンプレートは、Amazon Elastic コンピュートクラウド (Amazon EC2) コンソールまたは AWS コマンドラインインターフェイス (AWS CLI) のいずれかを使用して作成できます。次の解決方法は、AWS CLI を使用して起動テンプレートを作成する方法を示しています。

注意: 起動テンプレートの DeviceName は、ご利用中の Amazon Elastic Container Service (Amazon ECS) に最適化された Amazon マシンイメージ (AMI) バージョンによって異なる場合があります。デフォルトでは、AWS Batch は Amazon Linux 1 に基づいており、2 つの Amazon EBS ボリューム (/dev/xvda および /dev/xvdcz) が付属しています。Amazon Linux 2 を使用している場合、AWS Batch には 1 つのボリューム (/dev/xvda) のみがあります。詳細については、「AMI ストレージ設定」を参照してください。

重要: Amazon Linux 1 のストレージ制限を Docker ストレージ制限 (コンテナあたり 10 GiB) を超えて増やすには、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.    Compute 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 であることを示しています。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術的なサポートが必要ですか?