こんにちは!イーゴリです。
前回の記事では、s3fsをご紹介しましたが、s3fsの使用はAWS非推奨ですので、今までEC2にS3マウントするAWS公式方法はありませんでした。
質問. S3をEC2にマウントした時よりは、EFSの方が早いですか?
回答. s3fsなどのツールを利用してS3をマウントすることは安定性やコストの観点から非推奨としています。共有ファイルシステムが必要であればEFSの利用をご検討ください。
今回はAmazon S3をEC2インスタンスにマウントするAWS公式の方法を紹介致します。
上記との記事の設計が変わらないため、エンドポイントの作成を割愛します。
構成図
インストール
$ 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
以上、御一読ありがとうございました。
本田 イーゴリ (記事一覧)
カスタマーサクセス部
・2024 Japan AWS Top Engineers (Security)
・AWS SAP, DOP, SCS, DBS, SAA, DVA, CLF
・Azure AZ-900
・EC-Council CCSE
趣味:日本国内旅行(47都道府県制覇)・ドライブ・音楽