LinuxにS3fsをインストールする
LinuxサーバーにS3fsをインストールしてS3バケットをマウントする方法
S3fsは、S3バケットをUbuntuファイルシステムにマウントし、S3バケットをネットワークドライブとして使用するために管理できるLinuxツールです。 S3fsは、AmazonS3に支えられたヒューズベースのファイルシステムです。 S3バケットをマウントして、サーバー上のローカルストレージとして表示することができます。もちろん、ローカルドライブと同じパフォーマンスを期待しないでください。ただし、リーズナブルな価格で無制限のストレージを追加するのに最適な方法です。
このチュートリアルでは、S3fsをインストールしてUbuntuにS3バケットをマウントする方法を学習します。 Linuxの他のバージョンのコマンドは異なります。
条項
- AWSアカウント。独自のAWSアカウントを作成する
- sudo権限を持つユーザーによるコマンドラインアクセス。
手順1.S3fsをにインストールする
システムでターミナルコンソールを開き、UbuntuEC2サーバーにリモートでSSH接続します。システムリポジトリを更新し、コマンドを実行します。
インストールの更新が完了したら、以下のコマンドを入力してシステムにS3fsをインストールします。
sudo apt-get update
sudo apt install s3fs awscli -y
ステップ2.S3バケットを作成し、アクセスを設定します
AWSコンソールで、新しいS3バケットを作成します。 「MyS3Bucket」という名前を付けますが、自分の名前を選択してください。
IAMコンソールで、新しいユーザーを作成し、[アクセスキー-プログラムによるアクセス]を選択して、アクセスキーIDとシークレットキーをアップロードしてください。このユーザーにこのバケットへのアクセスを許可する新しいIAMポリシーを作成し(以下の例を参照)、それをユーザーにアタッチします。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::MyS3Bucket"]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": ["arn:aws:s3:::MyS3Bucket/*"]
}
]
}
ステップ3.S3fsクレデンシャルファイルを作成する
サーバーコンソールに戻り、ユーザーアクセスIDとIAMシークレットキーを管理するファイルを作成し、コマンドを使用します(ACCESS_KEY_IDとSECRET_ACCESS_KEYを前の手順の値に置き換えます)。
また、適切なアクセス許可を設定して、ファイルのクレデンシャルを保護する必要があります。
最後に、マウントポイントディレクトリも作成します。これを「バックアップ」と呼びます。
echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > /home/ubuntu/.s3fs-creds
chmod 600 /home/ubuntu/.s3fs-creds
mkdir /home/ubuntu/backup
手順4.FstabでS3FSを自動マウントする
サーバーを再起動するたびにディスクが確実にマウントされるようにするには、fstabファイルにエントリーを追加することをお勧めします。このファイルを編集するときは注意してください。このファイルのroodボリュームエントリを誤って変更すると、サーバーが起動できなくなります。
fstabファイルを編集し、このファイルの最後に以下のエントリを追加して、MyS3Bucketをバケット名に置き換えます。
sudo nano /etc/fstab
...
s3fs#MyS3Bucket /home/ubuntu/backup fuse _netdev,allow_other,passwd_file=/home/ubuntu/.s3fs-creds 0 0
ステップ5.ドライブをマウントし、ファイルのダウンロードをテストします
マウントポイントディレクトリを開き、次のコマンドを入力します。
cd / home / ubuntu / s3_uploadsCopy
そして、touchコマンドを使用してダミーファイルを作成します。
sudo mount /home/ubuntu/backup
df -h
touch /home/ubuntu/backup/file{1..10}.txt
ls -al /home/ubuntu/backup
上記のコマンドは、このディレクトリにいくつかの空のファイルを作成します。ファイルがS3で作成されたことを確認するには、AWSコンソールを使用してS3コンソールからファイルを表示します。
ドライブがマウントされなかった場合の潜在的な問題のトラブルシューティングを行うには、システムログを確認してください。また、アクセス許可の問題が発生する可能性があります。デフォルトのアクセス許可の設定: PlexMediaServerに関するこの記事を参照してください。
いくつかの便利な追加コマンド:
#Display the system logs
tail -f /var/log/syslog
#Dismount the drive
sudo umount /home/ubuntu/backup