install goofys
$ sudo yum install golang fuse git $ sudo curl -L https://github.com/kahing/goofys/releases/latest/download/goofys -o /usr/local/bin/goofys $ sudo chmod 775 /usr/local/bin/goofys $ /usr/local/bin/goofys --version goofys version 0.24.0-45b8d78375af1b24604439d2e60c567654bcdf88
認証キーの設定
$ mkdir ~/.aws $ vi ~/.aws/credentials [default] aws_access_key_id = AKIA<ないしょ>X4BJN4 aws_secret_access_key = +nuKrtfPb<ないしょ>+cDSm/PPR aws_default_region=ap-northeast-1
マウント用dirの作成と、手動マウント
以下を実行後、mount対象dir内にファイルをコピーするなど、 お試しください
$ mkdir /home/ec2-user/s3mount $ /usr/local/bin/goofys 15db-s3.end0tknr.jp /home/ec2-user/s3mount
/etc/fstab での自動マウント エラー
https://github.com/kahing/goofys には、 /etc/fstab による自動マウント方法が記載されています。
私の場合、上記の手動マウントでは、成功するものの、 fstabでの自動マウントでは、以下のようなエラーとなりました。
$ sudo vi /etc/fstab goofys#15db-s3.end0tknr.jp /home/ec2-user/s3mount fuse _netdev,allow_other,--file-mode=0666,--dir-mode=0777 0 0 $ sudo mount -a 2022/07/30 13:27:17.030997 main.FATAL Unable to mount file system, see syslog for details $ sudo tail -f /var/log/messages Jul 30 13:27:16 ip-172-31-29-20 /usr/local/bin/goofys[3346]: s3.INFO Switching from region 'us-east-1' to 'ap-northeast-1' Jul 30 13:27:16 ip-172-31-29-20 /usr/local/bin/goofys[3346]: s3.ERROR code=NoCredentialProviders msg=no valid providers in chain. Deprecated.#012#011For verbose messaging see aws.Config.CredentialsChainVerboseErrors, err=<nil> Jul 30 13:27:16 ip-172-31-29-20 /usr/local/bin/goofys[3346]: main.ERROR Unable to access '15db-s3.end0tknr.jp': NoCredentialProviders: no valid providers in chain. Deprecated.#012#011For verbose messaging see aws.Config.CredentialsChainVerboseErrors Jul 30 13:27:16 ip-172-31-29-20 /usr/local/bin/goofys[3346]: main.FATAL Mounting file system: Mount: initialization failed
/etc/rc.d/rc.local で自動マウント
そこで、/etc/fstab による自動マウントは諦め、 /etc/rc.d/rc.local から /usr/local/bin/goofys を実行することで、 自動マウントすることにしました。
$ sudo chmod 775 /etc/rc.d/rc.local $ sudo vi /etc/rc.d/rc.local su - ec2-user -c '/usr/local/bin/goofys 15db-s3.end0tknr.jp /home/ec2-user/s3mount'