EC2にS3をマウントする
AWSのEC2(Ubuntu 16.04 LTS)に,S3をマウントする手順をメモしておく.前提として,EC2インスタンスに対して,SSH接続済みとする.
環境
- Ubuntu Server 16.04 LTS (HVM), SSD Volume Type
手順
S3 bucketを準備する
マウントしたいEC2インスタンスと同じリージョンを選択すること.
IAMロールの準備
- 信頼関係:
- ロールを利用するサービス:EC2
- ユースケースの選択:EC2
- アクセス権限
- ポリシー名:AmazonS3FullAccess
作成したロールをEC2インスタンスに割り当てる.
s3fs-fuse
のインストール
以下のコマンドでS3をマウントできる.
なお,uid
とgid
はid ubuntu
で確認した値を設定すること.
マウントの自動化
ここで結構ハマった.rc.local
で設定する方法で実現したかったが,どうしてもうまくいかなかったので,.bashrc
で設定した.参考のため,以下に試行錯誤の記録を残す.
EC2インスタンスにS3をマウントする - Qiitaを参考に,/etc/rc.local
に以下を追記した.
Ubuntu 16.04だと,上記の方法では起動時に実行されないようだ.Ubuntu16.04でスクリプトを起動時に自動実行する - Qiitaを参考にサービスファイルを作成したが,何故かうまく動作しなかった.
After upgrade to 16.04 LTS rc.local is not executing a command - StackExchangeを参考に,以下のように変更してみた.
そして,/etc/rc.local
の一行目を#!/bin/sh -e
から#!/bin/bash
に変更する.上記でもうまくいかないので,~/.bashrc
に以下を追記した.
うまくいった.bashを起動するたびにマウントされちゃうので,あまり良くない気がする.
参考
Subscribe via RSS