【AWS公式S3マウントする方法】Amazon S3をEC2インスタンスにマウントする(Mountpoint for Amazon S3)

記事タイトルとURLをコピーする

こんにちは!イーゴリです。

前回の記事では、s3fsをご紹介しましたが、s3fsの使用はAWS非推奨ですので、今までEC2にS3マウントするAWS公式方法はありませんでした。

blog.serverworks.co.jp

質問. S3をEC2にマウントした時よりは、EFSの方が早いですか?

回答. s3fsなどのツールを利用してS3をマウントすることは安定性やコストの観点から非推奨としています。共有ファイルシステムが必要であればEFSの利用をご検討ください。

今回はAmazon S3をEC2インスタンスにマウントするAWS公式の方法を紹介致します。

上記との記事の設計が変わらないため、エンドポイントの作成を割愛します。

構成図

インストール

github.com

$ wget https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm
$ sudo yum install ./mount-s3.rpm

Amazon S3をEC2インスタンスにマウントする

マウント用のディレクトリを作成します。

$ mkdir test

下記のフォーマットでマウントします。

mount-s3 <BUCKET_NAME> <DIRECTORY>
$ mount-s3 www.test2.com-XXX test
bucket www.test2.com-XXX is mounted at test
$ cd test
$ ll
total 1
-rw-r--r-- 1 ec2-user ec2-user 117 Jun 20 07:03 index.html

動作確認

前回の記事と同様に動作確認を行います。

オブジェクトの書き込み確認→できる

$ touch test.txt

オブジェクトの読み込み確認→できる

$ ll
total 1
-rw-r--r-- 1 ec2-user ec2-user 117 Jun 20 07:03 index.html
-rw-r--r-- 1 ec2-user ec2-user   0 Aug 28 11:25 test.txt

$ cat index.html
<!DOCTYPE html>
<html>

<head>
    <title>My Page</title>
</head>

<body>
    <h1>Hello, World!</h1>
</body>

前回の記事の通り、S3の仕様上、ファイル更新できない事象があったため、今回もそうなると思いますので、ファイル更新できるか確認します。

$ echo "test123" >> test.txt
-bash: test.txt: Operation not permitted

s3fsでファイルを変更する場合、裏でファイル自体がダウンロードされ、変更されてから、アップロードの処理になっていますが、Mountpoint for Amazon S3の場合、「Operation not permitted」というエラーが発生しました。

ちなみに、削除もできませんでした。

$ rm test.txt
rm: cannot remove ‘test.txt’: Operation not permitted

以上、御一読ありがとうございました。

本田 イーゴリ (記事一覧)

カスタマーサクセス部

・AWS SAP, DOP, SCS, DBS, SAA, DVA, CLF
・Azure AZ-900
・EC-Council CCSE

趣味:日本国内旅行(47都道府県制覇)・ドライブ・音楽