Mountpoint for Amazon S3でEC2にS3をマウントする

EC2とS3を簡単に触ってみようのコーナーとして、EC2のインスタンスにS3バケットをマウントさせてみようという記事です。本来マウントさせるようなものではないらしいですが公式にマウントさせる機能があったので使ってみました。

S3バケットの作成

デフォルト設定でバケットを作成します。

EC2インスタンスにS3アクセスのIAMロールを付与する

IAMロール作成

S3へアクセスさせる方法で推奨されているのはIAMロールを付与する方法だそうです。(EC2内にアクセスキーを入れる方法もあるとか)

上記画像のようにロールを作成していき、適当な名前をつけて作成してください。

EC2インスタンスにロールを付与する

EC2 コンソールで、対象のインスタンスを選択し、「アクション」→「セキュリティ」→「IAM ロールの変更」から先ほどのロールをアタッチします。

これでロールの付与が完成しました。

EC2インスタンスにMountpoint for Amazon S3をインストール

以下コマンドでインストールができます。EC2のインスタンスのコンソールを開いて実行します。

wget https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm

sudo yum install ./mount-s3.rpm

mount-s3 --version

# この出力になればOK
mount-s3 1.3.1

EC2インスタンスにS3をマウントさせる

以下コマンドでマウントさせることができます。管理者権限がいるのでsudoで実行します。

sudo mkdir /mnt/my-s3-bucket
sudo mount-s3 自分のバケット名 /mnt/my-s3-bucket

sudo ls /mnt/my-s3-bucket

リージョンが違うバケットも指定できるそうです。

sudo mount-s3 my-example-bucket /mnt/my-s3-bucket --region ap-northeast-1

動作確認

実際にマウントさせてファイルを作ってみます。ファイル作成後アンマウントさせてS3のダッシュボードを確認してみます。

[root ~]# sudo mount-s3 onishibucket1 /mnt/my-s3-bucket
bucket onishibucket1 is mounted at /mnt/my-s3-bucket
[root ~]# cd /mnt/my-s3-bucket/
[root my-s3-bucket]# ll
total 0
[root my-s3-bucket]# vim s3-mount-test.log
[root my-s3-bucket]# ll
total 5
-rw-r--r--. 1 root root 5 Mar 27 20:45 s3-mount-test.log
-rw-r--r--. 1 root root 4096 Mar 27 20:46 s3-mount.swp

#アンマウント忘れずに
sudo umount /mnt/my-s3-bucket

無事にダッシュボードからでもマウントさせて作成したファイルが見えています。

EC2にS3をマウントさせてみました。通常はEBSなどが主流らしいのでそちらも見てみようかなと思います。

タイトルとURLをコピーしました