Ubuntu 22.04LTS へ goofys をインストールし、S3 Bucket をマウントする
Ubuntu 22.04LTS へ goofys をインストールし、Ubuntu から S3 Bucket をあたかもファイルシステムのようにマウントする手順をメモしておきます。 Ubuntu は (AWS 上では無く) オンプレミス上に作成されており、S3 Bucket へのアクセスには ACCESS KEY を使う想定としています。
fuse のインストール
goofys は fuse に依存している為、事前に fuse をインストールします。 現時点では 2.9.9-5 がインストールされるようです。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | # apt info fuse
Package: fuse
Version: 2.9.9-5ubuntu3
Priority: optional
Section: universe/utils
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 117 kB
Depends: libc6 (>= 2.34), libfuse2 (= 2.9.9-5ubuntu3), adduser, mount (>= 2.19.1), sed (>= 4)
Homepage: https://github.com/libfuse/libfuse/wiki
Download-Size: 27.0 kB
APT-Sources: http://jp.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
Description: Filesystem in Userspace
Filesystem in Userspace (FUSE) is a simple interface for userspace programs to
export a virtual filesystem to the Linux kernel. It also aims to provide a
secure method for non privileged users to create and mount their own filesystem
implementations.
|
apt でインストールします。
goofys のインストール
goofys をインストールします。 最新版はバージョン 0.24 でした。 goofys の最後のリリースは 2020 年 4 月であり、あまり更新されていないようです。
| curl -L https://github.com/kahing/goofys/releases/download/v0.24.0/goofys \
-o /usr/local/bin/goofys
chmod 755 /usr/local/bin/goofys
|
下記のバージョンがインストールされました。
| # goofys --version
goofys version 0.24.0-45b8d78375af1b24604439d2e60c567654bcdf88
|
AWS へのアクセス情報
S3 Bucket へアクセスする際の認証情報を /root/.aws/credentials
へ保存します。 保存場所は root
ユーザのホームディレクトリ決め打ちにしました。 また、今回は Tokyo Region (ap-northeast-1) にある S3 Bucket を利用する想定ですので region
には ap-northeast-1
を指定しました。
| mkdir -p /root/.aws/
cat << EOF > /root/.aws/credentials
[default]
region=ap-northeast-1
aws_access_key_id=<ACCESS-KEY>
aws_secret_access_key=<SECRET-KEY>
EOF
|
goofys の設定
あとは goofys を使って S3 Bucket をマウントするだけです。 OS が起動する度に自動マウントする場合は /etc/fstab
へ下記のように追記します。 尚、マウントポイントとなるディレクトリが存在しない場合は、自動的に作成されるようです。
| /usr/local/bin/goofys#<S3-BUCKET-NAME> /mnt/s3-bucket fuse _netdev,allow_other,--dir-mode=0755,--file-mode=0644,--uid=0,--gid=0 0 0
|