前提条件
- WSL2が有効で、Ubuntu ディストリビューションがインストールされていること
- AWSアカウントを持っていること
- S3バケットが作成済みであること
- AWS CLIがインストールおよび設定済みであること
手順
Start メニューからUbuntuを起動
IDとかパスワードを忘れたらCMDやPowerShellから
wsl -u root
WSL Ubuntuを起動する
-
必要なパッケージをインストールする
sudo apt update sudo apt install -y fuse libfuse2
-
Mountpoint for S3をダウンロードしインストールする
curl -O https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.deb sudo dpkg -i mount-s3.deb
-
マウントポイントディレクトリを作成する
sudo mkdir /mnt/s3
-
S3バケットをマウントする
sudo mount-s3 your-bucket-name /mnt/s3
your-bucket-nameを実際のS3バケット名に置き換えてください。
マウントが成功したか確認するls /mnt/s3
こける場合は認証情報が登録されていないので登録
sudo aws configure
複数のプロファイルを使い分けたい場合は
aws configure --profile your-profile-name
プロファイルを別名で作った場合はマウントする際もプロファイルを指定する。
sudo mount-s3 your-bucket-name /mnt/s3 --profile your-profile-name
(オプション)自動マウントの設定
/etc/fstabに対応していないので、サービスを作る。
参考:mountpoint-s3/doc/CONFIGURATION.md
[Unit]
Description=Mountpoint for Amazon S3 mount
Wants=network.target
AssertPathIsDirectory=/home/ec2-user/s3-bucket-mount
[Service]
Type=forking
User=ec2-user
Group=ec2-user
ExecStart=/usr/bin/mount-s3 DOC-EXAMPLE-BUCKET /home/ec2-user/s3-bucket-mount
ExecStop=/usr/bin/fusermount -u /home/ec2-user/s3-bucket-mount
[Install]
WantedBy=remote-fs.target
これでWindows側からエクスプローラーで確認操作が可能になる。
awsやmount-s3がローカルPC側の環境に引っ張られる場合はPATHからWindowsの環境を外しましょう。
参考記事:WSL2でWindowsのPATH設定が引き継がれるのを解除する