AWS
S3
sftp
s3fs
goofys
Tech DoDay 6

AWS S3を使ったSFTP選手権 ~AWS Transfer for SFTP vs goofys vs s3fs~


はじめに

S3にデータを保存してSFTPで取りに行きたい。。。

でも、何を使っていいのかわからない。。

そこでAWS SFTP選手権 を開催することにしました!


SFTP選手権 参加選手

①AWS Transfer for SFTP

 AWS Transfer for SFTPでユーザが使用できるS3のバケットを指定する

 リージョンは東京を利用する

②goofys

 本サービスはEC2インスタンス上でS3のバケットを指定し、マウントして使う

 インスタンスの種類はt2.microでAmazon Linux 2 AMI (HVM), SSD Volume Typeを使う

 リージョンは東京を利用する

③s3fs

 本サービスはEC2インスタンス上でS3のバケットを指定し、マウントして使う

 インスタンスの種類はt2.microでAmazon Linux 2 AMI (HVM), SSD Volume Typeを使う

 リージョンは東京を利用する


SFTP選手権 ルール説明

・下記項目の3本勝負とする

①コスト

 1時間の使用料、1GBのデータ転送料金を比較

 S3の使用料は考えないものとする

②パフォーマンス

 FileZillaを使い1GBのテキストファイルをアップロード / ダウンロードした際の速度を比較

③その他機能

 それぞれのサービスのメリット、デメリットを比較


サービスの説明


AWS Transfer for SFTP

AWS推奨のAmazon S3と連携したマネージドなSFTPサービス

2018年11月26日にローンチされたばかりの最新のサービスです

詳しくはこちら↓

https://aws.amazon.com/jp/blogs/news/new-aws-transfer-for-sftp-fully-managed-sftp-service-for-amazon-s3/


goofys

EC2インスタンス上からAWS S3をNFSマウントするツール

インストールはこちらから↓

https://github.com/kahing/goofys


s3fs

EC2インスタンス上からAWS S3をNFSマウントするツール

インストールはこちらから↓

https://github.com/s3fs-fuse/s3fs-fuse


①コスト

サービス名
基本使用料(1時間)
データ転送料 in&out(1GB)

AWS Transfer for SFTP
$0.3
$0.04

goofys (EC2)
$0.0152
$0*

s3fs (EC2)
$0.0152
$0*

*基本使用料 (1ヵ月)は2018/12/5 のレート

*EC2のデータ転送料は1GB以降課金が発生

→EC2インスタンス立てる方が安そう…


②パフォーマンス

サービス名
アップロード(1GB)
ダウンロード(1GB)

AWS Transfer for SFTP
156秒
(平均6.4MB/s)
713 秒
(平均1.4MB/s)

goofys (EC2)
117秒
(平均8.5MB/s)
141秒
(平均7.0MB/s)

s3fs (EC2)
131秒
(平均7.6MB/s)
173秒
(平均5.7MB/s)

→goofysの勝ち!


③その他機能


AWS Transfer for SFTP

<メリット>

・読み書きの権限、ホームディレクトリなどをPolicyで定義し、ユーザーごとに割り当てることができる

・CLIでの設定がいらない

・サーバの冗長化がされている

・サーバの冗長化や冗長したサーバ間での同期が不要

<デメリット>

外部からのIP制限をAWS Transfer for SFTPだけで行うことができない


goofys

<メリット>

・EC2インスタンスのため外部からのIP制限をルートテーブル、プロトコルの制限をセキュリティグループで行える

<デメリット>

・マウント後に対象ディレクトリにてchmodができないためユーザーグループごとに権限の設定が不可能

・goofysのインストールに、go1.9の環境が必要

・冗長構成にするにはインスタンスがもう一つ必要


s3fs

<メリット>

・chmod/chownによる権限の変更が可能

・EC2インスタンスのため外部からのIP制限をルートテーブル、プロトコルの制限をセキュリティグループで行える

<デメリット>

・冗長構成にするにはインスタンスがもう一つ必要


まとめ

「Linuxは苦手!GUIで簡単に設定、運用をしたい!」→AWS Transfer for SFTP!

「何よりも転送スピード重視!」→ goofys!

「ユーザへの権限、IPの制限を自分でカスタマイズしたい!」→ s3fs!