Mountpoint for Amazon S3を試してみた
はじめに
今年の夏は暑いですね。リモートワークでずっと家にいるので電気代が心配なけいちゃんです。
今回は最近GAとなった「Mountpoint for Amazon S3」を実際に試してみた記事になります。
Mountpoint for Amazon S3とは?
Mountpoint for Amazon S3とは、LinuxアプリケーションがS3バケット上のファイルに直接アクセスできるようにするファイルクライアントです。
従来だとAWS CLIやSDK・CDKを利用してS3バケット上のファイルにアクセスすることが多かったと思いますが、Moutpoint for Amazon S3を利用することでLinux上に従来のファイルシステムと同様なアクセスを実現することができます。
従来のS3はオブジェクトストアとしての利用が前提でしたが、ファイルシステムストレージとして利用することでS3のスケーラビリティや99.999999999%の高耐久性等の恩恵をこうむることが可能となります。
Mountpoint for Amazon S3の利用方法
Mountpoint for Amazon S3はRPM形式で提供されています。
wget等でRPMを取得し、yumを使って簡単にインストールすることができます。
wget https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm
sudo yum install ./mount-s3.rpm
今回はAmazon Linux 2023を構築してそこにインストールします。
上記コマンドを実行して特に問題がなければ、以下のように表示されます。
MountPoint for Amazon S3は利用時に自動的にクレデンシャル情報を読み取ります。
今回はAmazonS3ReadOnlyAccess
ポリシーをアタッチしたIAMロールを利用します。
このIAMロールをEC2にアタッチした次は、S3バケット上に置いておくための.txtファイルを作ります。
Hello, This is a test file.
上記のファイルをテスト用に作成したS3バケットに配置しておきます。
次の手順は、マウント用のディレクトリを作成してそこにS3バケットをマウントしていきます。
mkdir keichan-test
mount-s3 keichan-test keichan-test
上記コマンドではmkdir
で作成したkeichan-test
というディレクトリに、S3バケットkeichan-test
をマウントしています。
無事にマウントが成功すれば、以下のようなメッセージが表示されます。
bucket keichan-test is mounted at keichan-test
それでは作成したマウントポイントに移動してtext.txt
があるか確認して中身を見ます。
cd keichan-test
ls
cat test.txt
無事にファイルの中身が表示されました!
ちゃんとS3バケットのファイルが取得できていますね。
次にこのディレクトリにファイルを作成していきたいと思います。
ただ、このままだと権限が足りないので一旦S3FullAcessポリシーをIAMロールにアタッチしておきます。
権限が追加できたらtouchコマンドでファイルを作成してみます。
touch new.txt
ls
無事に作成できました。
このファイルがS3バケット上に存在していたら問題はなさそうです。
ちゃんとS3バケットコンソールからも確認できました!
これで通常のファイルシステムと同様に扱えることが確認できました。
まとめ
今までAWS CLIやCDK・SDK経由でしかアクセスできなかったS3に対して、
通常のファイルシステムと同様に扱えるようになることはかなり大きなメリットになるのではないかと思います。
Mountpoint for Amazon S3の利用料金ですが、課金対象となるのはS3オペレーションのみとなっており、Mountpoint for Amazon S3の利用自体には料金は発生しません。
既存のストレージを利用していたアプリケーション等も、大きな改修を加えることなくS3に移行できる可能性が出てきたことは喜ばしいことですね!