EC2インスタンスにジョブを流し込む方式について調査している。boto3を使って任意のインスタンスにディスクをアタッチ・デタッチすることはできるようになった。 これを使って巨大なジョブを流すテストを行っている。
その際、どうも不可思議な状況に出くわした。m5a.4xlargeを使っているとディスクがmount
できない問題がある。
command_list = ['sudo mount /dev/xvdb /home/ssm-user/work/']
execute_command_list(target_instance_id, command_list)
もう一度lsblk
を実行してみると以下のようになった。
$ lsblk -i
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 89.1M 1 loop /snap/core/8268 loop1 7:1 0 18M 1 loop /snap/amazon-ssm-agent/1480 nvme0n1 259:0 0 8G 0 disk `-nvme0n1p1 259:1 0 8G 0 part /
NVMeが接続されているっぽい?なんでだ?m5a.4xlargeはEBSだけのはずなのに。
接続するデバイスを変えてみる。
actual_device_id = '/dev/xvdb' if instance_type != 't1.micro': actual_device_id = '/dev/nvme1n1' command_list = ['sudo mount ' + actual_device_id + ' /home/ssm-user/work/'] execute_command_list(target_instance_id, command_list)
再度試行してみると上手く行った。