0
1

S3をWindows エクスプローラーで使いたくてWSLでMountPoint for S3 で間接的にマウントした話

Last updated at Posted at 2024-08-15

前提条件

  • WSL2が有効で、Ubuntu ディストリビューションがインストールされていること
  • AWSアカウントを持っていること
  • S3バケットが作成済みであること
  • AWS CLIがインストールおよび設定済みであること

手順

Start メニューからUbuntuを起動
IDとかパスワードを忘れたらCMDやPowerShellから

wsl -u root

WSL Ubuntuを起動する

  1. 必要なパッケージをインストールする

    sudo apt update
    sudo apt install -y fuse libfuse2
    
  2. Mountpoint for S3をダウンロードしインストールする

    curl -O https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.deb
    sudo dpkg -i mount-s3.deb
    
  3. マウントポイントディレクトリを作成する

    sudo mkdir /mnt/s3
    
  4. 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側からエクスプローラーで確認操作が可能になる。
image.png

awsやmount-s3がローカルPC側の環境に引っ張られる場合はPATHからWindowsの環境を外しましょう。
参考記事:WSL2でWindowsのPATH設定が引き継がれるのを解除する

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1