LoginSignup
13
8

More than 5 years have passed since last update.

AWS Batch で使う EC2 インスタンスのストレージ容量を増やす

Posted at

何が起こったか

AWS Batchでやってた、数GBの動画ファイルのフォーマット変換処理が、EC2 インスタンスのディスク容量不足が原因で、失敗する事態に。

調べてみた

標準のAMIだと、Dockerコンテナに割り当てられるディスクは、10GBが既定らしい。

参考:How do I increase the default 10 GiB storage limit with Docker container volumes for ECS?

答えもここに書いてある。例えば、20GBにしたかったら、

#cloud-boothook
#!/bin/bash

cloud-init-per once docker_options echo 'OPTIONS="${OPTIONS} --storage-opt dm.basesize=20G"' >> /etc/sysconfig/docker

と書け、と。

・・・、どこに?

やったこと

ディスクを拡張したECインスタンスをつくる

どうやら、AWS Batch(or ECS)標準で使われるAMIを拡張する必要があるらしい。
標準のAMIは、"Amazon ECS-Optimized Amazon Linux"というらしい。
image.png

なので、一度このAMIを使って、EC2インスタンスを作る。
この時、ユーザーデータにさっきのbashスクリプトを書いておいて、実際のディスク容量も増やしておく。
image.png
すると、Dockerコンテナが使えるディスク容量が増えた状態で、EC2インスタンスが立ち上がる。

AMIを作る

このEC2インスタンスでやる作業はないので、シャットダウンして、これをベースにAMIを作る。
AMIの作成は、コンソールのメニューから、選択するだけ。
image.png
AMIのIDは後から使うので覚えておく。

Batch用コンピューティング環境を作る

最後に、AWS Batchで使うコンピューティング環境作成時に、作成したAMIのIDを指定する。
image.png

image.png

これで、Batch実行時にディスク容量を増加したAMIをベースに、ECSの仮想マシンが起動するので、数GBクラスのデータの一次利用にも耐えられる。

13
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
8