S3をEC2にマウントする「Mountpoint for Amazon S3」の導入

S3をEC2にマウントする「Mountpoint for Amazon S3」の導入

以前はEC2へのマウンは非推奨でs3fsを使用してマウントができますが、自身の経験では大容量や大量のファイルの読み書きではs3のマウントが解除されてしまうこともありましたが、AWS公式のマウントツール「Mountpoint for Amazon S3」が2023年に出ており

Contents

Mountpoint for Amazon S3利用時の制限

通常のディスクマウントと異なる点が有り下記がMountpoint for Amazon S3の利用条件となります。

  • 新規ファイルの書き込みは可能。ディレクトリの名前変更や既存ファイルの更新は不可
  • シンボリックリンクを作成不可
  • –allow-deleteオプション付きでマウントすればファイルの削除は可能
  • –metadata-ttlオプションでキャッシュ設定も設定可能
     例)–metadata-ttl 3600

必要なロール

EC2に割り当てるロールは「AmazonS3FullAccess」を設定しておきます。

限定したい場合は以下のロールを割り当てます。
s3:ListBucket
s3:GetObject
s3:PutObject
s3:AbortMultipartUpload
s3:DeleteObject

mountpoint-s3のインストール

必要なコンポーネントをインストールします。今回はEC2で稼働するUbuntuに設定します。

$ wget https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.deb
$ sudo apt-get install ./mount-s3.deb

インストールされているか確認します。

$ mount-s3 --version
mount-s3 1.6.0

S3をマウント

S3をマウントします。今回は「~/mnt」にマウントすることにします。

$ mkdir ~/mnt
$ mount-s3 --allow-delete 【対象のbucket-name】 ~/mnt

自動マウント

再起動後もマウントできるように設定します。いつものfstabでのマウントは非対応のためCronに登録しOS起動時に実行するようにします。

$ crontab -e

以下を追記します。

@reboot mount-s3 --allow-delete 【対象のbucket-name】 ~/mnt

なお、マウント解除する場合は下記を実行します。

$ umount ~/mnt

設定は以上となります。

(Visited 97 times, 1 visits today)