Skip to content

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 でインストールします。

1
apt -y install fuse

goofys のインストール

goofys をインストールします。 最新版はバージョン 0.24 でした。 goofys の最後のリリースは 2020 年 4 月であり、あまり更新されていないようです。

1
2
3
curl -L https://github.com/kahing/goofys/releases/download/v0.24.0/goofys \
  -o /usr/local/bin/goofys
chmod 755 /usr/local/bin/goofys

下記のバージョンがインストールされました。

1
2
# 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 を指定しました。

1
2
3
4
5
6
7
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 へ下記のように追記します。 尚、マウントポイントとなるディレクトリが存在しない場合は、自動的に作成されるようです。

1
/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