五十嵐理穂

記事一覧(11)

EC2にS3をマウントする

EC2にS3をマウントしたので、手順を記録します。1) s3fs-fuseのダウンロードgitからダウンロードしました。$ sudo yum install git (gitが入っていない場合はインストール)$ git clone https://github.com/s3fs-fuse/s3fs-fuse.git2) s3fs-fuseインストール準備s3fs-fuseのインストールに必要なパッケージがない場合はインストールします。以下のパッケージが足りなかったためインストールしました。$ sudo yum install automake gcc-c++ fuse-devel openssl-devel libcurl-devel libxml2-devel3) s3fs-fuseのインストールs3fs-fuseをダウンロードした場所へ移動し、インストールしました。$ cd s3fs-fuse/$ ./autogen.sh$ ./configure --prefix=/usr$ make$ sudo make install4) マウントポイントの作成今回は/usr/share/nginx/の下へs3というディレクトリを作成しました。$ cd /usr/share/nginx/$ mkdir s35) マウントに必要な情報を調べるマウントを実行するためには以下の情報が必要です。マウント先バケット名マウントポイントマウントポイントのuidマウントポイントのgidロール名(EC2にアタッチされているS3アクセス用ロール)エンドポイント(リージョン)マウントポイントのユーザーはec2-user、グループはnginxとしたいため、それぞれのidを調べました。$ id ec2-useruid=1000(ec2-user) gid=1000(ec2-user) groups=1000(ec2-user),…$ id nginxuid=996(nginx) gid=994(nginx) groups=994(nginx)6) マウントs3fsコマンドを実行します。$ sudo s3fs <マウント先バケット> <マウントポイント> -o rw,allow_other,uid=1000,gid=994,iam_role=<S3へのロール>,endpoint=ap-northeast-17) 確認$ df -h$ ls <マウントポイント>等で指定したS3バケットがマウントがされているか確認します。