##はじめに
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!