Amazon Linux2 で S3 Bucket を goofys でマウントする

以前に EC2 上の CentOS7 から goofys で S3 をマウントする(IAM ロール利用編) というメモを書きました。 今回は Amazon Linux2 へ goofyx をインストールする方法をメモします。 S3 へのアクセスには IAM Role を利用する前提とします。

前提となるソフトウェアをインストールします。

1
yum install -y fuse git go

GOPATH を行います。

1
2
echo 'export GOPATH=$HOME/.go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bashrc

定義した環境変数を反映します。

1
source ~/.bashrc

goofys をインストールします。

1
2
go get github.com/kahing/goofys
go install github.com/kahing/goofys

今回は S3 Bucket を /mnt/s3 へマウントすることにします。 マウントポイントとなる /mnt/s3 ディレクトリを作成します。

1
mkdir /mnt/s3

自動マウントされるよう、/etc/fstab へ定義を行います。 File Mode / UID / GID などは任意に定義します。

1
2
3
cat << EOF >> /etc/fstab
/root/.go/bin/goofys#my-bucket /mnt/s3 fuse _netdev,allow_other,--dir-mode=0777,--file-mode=0777,--uid=1001,--gid=1001 0 0
EOF

df で確認すると 1.0P としてマウントされていました。

1
2
3
4
5
6
7
8
9
# df -h
Filesystem         Size  Used Avail Use% Mounted on
devtmpfs           463M     0  463M   0% /dev
tmpfs              481M     0  481M   0% /dev/shm
tmpfs              481M  396K  481M   1% /run
tmpfs              481M     0  481M   0% /sys/fs/cgroup
/dev/nvme0n1p1      30G  3.4G   27G  12% /
tmpfs               97M     0   97M   0% /run/user/1001
my-bucket          1.0P     0  1.0P   0% /mnt/s3