準備作業 1. S3 バケットにアクセスする IAM ユーザーを作成する 2. S3 バケットを作成し、IAM ユーザーに S3 バケットの読み書き権限を付与する
テスト環境 Amazon AMI Linux CentOS 7.5
s3fs s3fs は Linux と macOS で FUSE を介して S3 バケットをマウントすることができます。s3fs はファイルのネイティブオブジェクト形式を保持し、s3cmd などの他のツールを使用することができます。
STEP1. s3fs-fuse に関連する依存パッケージをインストールする
automake fuse fuse-devel gcc-c++ git \#
libcurl-devel libxml2-devel make openssl-devel をインストールする
STEP2. s3fs-fuse をダウンロードし、コンパイルしてインストールする
# cd /usr/local/
git clone https://github.com/s3fs-fuse/s3fs-fuse.git#
cd s3fs-fuse#
./autogen.sh#
./configure#
make#
make install#
パッケージマネージャーを使用してインストールする
# CentOS
yum install -y epel-release
yum install -y s3fs-fuse
Ubuntu#
apt-get install -y s3fs-fuse#
STEP3. s3 にアクセスするための.passwd-s3fs 認証ファイルを作成し、IAM ユーザーの認証アクセスキーと認証シークレットを s3fs-fuse の認証ファイルに書き込む
# echo MYIDENTITY > ~/.passwd-s3fs
chmod 600 ~/.passwd-s3fs#
STEP4. S3 ストレージバケットをローカルにマウントする
# mkdir /mnt/s3bucket
s3fs -o passwd_file=~/.passwd-s3fs -o endpoint=us-east-2 -o allow_other s3_bucket_name /mnt/s3bucket#
STEP5. fstab を設定して、起動時に自動的にパーティションをマウントする
# vim /etc/fstab
/usr/local/bin/s3fs#s3_bucket_name:/path /mnt/s3bucket fuse allow_other,url=https://s3-us-east-2.amazonaws.com 0 0