AWSのEBS(ストレージ)を追加する方法
スポットインスタンスで機械学習を行っていると、 学習を行っている間はインスタンスを起動しておき、学習を完了した際には、 インスタンスを終了するということを行います。
そうすると学習データや学習したモデルを毎回学習を行うたびにアップロードする必要があります。 AWSではインバウンドトラフィック(AWSへの通信)にコストはかかりませんが、 大量の画像データをアップロードするには時間がかかってしまい、 時間とインスタンス料金がもったいないので、 先にデータを保存しておくEBSを別に作っておきます。
そしてインスタンスを起動したら、そのEBSを接続することで、 データを再アップロードせずに済むようにしておきます。
EBS作成
EBSでディスクを作成するのは簡単です。
メニューのボリュームをクリックします。 EBSの画面に表示される、ボリュームの作成をクリックします。
わかりやすい名前をつけて、必要なディスクサイズを入力します。
接続したいディスクを選択し、アクション>ボリュームのアタッチをクリックします。
ボリュームのアタッチを行うウィンドウが表示されます。 アタッチするインスタンスとインスタンスにアタッチした際のデバイスを入力します。 フォームをクリックすると、選択肢が表示されるので、そこから選ぶことができます。 入力後、アタッチをクリックするとインスタンスにボリュームが接続されます。
マウント
インスタンスに接続します。 マウントするためにはrootになる必要があります。
$ sudo su -
まずは、デバイス名を調べます。デバイス名を調べるのにはlsblkコマンドを使います。
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 20G 0 disk └─xvda1 202:1 0 20G 0 part / xvdf 202:80 0 30G 0 disk
マウントされてないのはxvdfとわかったので、/dev/xvdfをマウントします。 マウントポイントは任意ですが、今回はルートディレクトリー直下にdataディレクトリーを作って、マウントしたいと思います。
# mkdir /data # mount /dev/xvdf /data
これで/dataに作成したEBSボリュームが接続され、使用できるようになります。
初めてのマウントの場合(フォーマット)
初めてのマウントの場合、マウントの前にフォーマットを行います。
# mkfs -t ext4 /dev/xvdf
これでext4でフォーマットされます。