やりたいこと
S3 Browser (http://s3browser.com) は S3をWindowsのエクスプローラーライクなGUIで管理する有償のクライアントソフトウェアです。
今回このツールを使って東京リージョンのプライベートサブネットからVPCエンドポイント経由で S3 Browserが使えないかなと思ってやってみました。
このイメージ。
S3 Browserのアカウント設定
S3 Browserのアカウント設定は8種類ありますが、今回は東京リージョンのEC2から東京リージョンのS3バケットにアクセスしたかったので、選択肢としては5つでした。
- Amazon S3 Storage
- S3 Compatible Storage
- Amazon S3 on EC2 via IAM Role
- Amazon S3(Credentials from Environment Valiables)
- Amazon S3(Credentials from AWS Config or Credential file)
試したみた結果、アクセスできたのは S3 Compatible Storage かつ 署名バージョン2 を利用した場合のみでした。署名バージョン2 がサポートされていないリージョンは次とありましたので、東京リージョンだから通ったようです。署名バージョン4なぜかダメでした。
- 米国東部 (オハイオ) リージョン
- カナダ (中部) リージョン
- アジアパシフィック (ムンバイ) リージョン
- アジアパシフィック (ソウル) リージョン
- 欧州 (フランクフルト) リージョン
- 欧州 (ロンドン) リージョン
- 中国 (北京) リージョン
参考) 署名バージョン 2 の署名プロセス
https://docs.aws.amazon.com/ja_jp/general/latest/gr/signature-version-2.html
設定のポイント
繰り返しになりますが、REST Endpointを s3.ap-northeast-1.amazonaws.com に、署名を署名バージョン2にすることです。なお、SSL/TLS は有効でも無効でもどちらでもOKでした。
参考) AWS のリージョンとエンドポイント
https://docs.aws.amazon.com/ja_jp/general/latest/gr/rande.html#s3_region
結局、署名のバージョンも古いし、IAM Roleも使えないので微妙です...。
もちろん awscli は何の苦労もなくアクセスできますので、通常は awscli で良いのですが、ニッチな状況(例えば、社内からS3Browser→VPN→Squid@EC2→VCPEndpoint→S3へアクセスするといった)においては需要があるかもしれません