現在、非常に大量(3万件くらい)のファイル(1個5k程度)をサーバ間でセキュアに転送することを考えています。

通信方式としてhttpsとsftpが思いついたのですが、どちらがよいでしょうか?感覚的にはsftpがいい気がするのですが、httpsでだめな理由が自分でもうまく説明できません。
双方の利点と欠点、お勧め理由などあれば教えてください。

回答の条件
  • 1人2回まで
  • 登録:2007/02/08 21:28:23
  • 終了:2007/02/09 23:45:11

回答(3件)

id:arcana No.1

arcana回答回数120ベストアンサー獲得回数102007/02/08 22:00:02

ポイント30pt

ファイル転送のやり方にもよりますが、

単純に受け取り側サーバから持ってくる動作だけを考慮されているのであれば、

HTTP 通信でことが足りると思います。


それとは別に、

第三者クライアントから A サーバと B サーバ間で転送させたい、

などの要求に応えられるのが FTP 通信の利点です。

その他にも put で送り側からデータを流したい場合など、

ファイル転送の細かいハンドリングが出来るのが FTP の利点であり、

そのために FW などの設定を考慮しなければならないのが弱点であります。


それぞれの利点をまとめると、

・FTP:ファイル転送の細かいハンドリングが出来る

・HTTP:FW 設定などは通常通りで細かい設定を気にしなくて良い

という感じでしょうか。弱点は、双方共にその逆然りです。


FTP の細かいお話はこちらが参考になります。

http://www.atmarkit.co.jp/fnetwork/rensai/netpro11/netpro01.html

また、FTP のコントロール性については、こちらです。

http://www.atmarkit.co.jp/fnetwork/rensai/tcp05/01.html

ちなみに rsync という手もあると思います。

id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402007/02/08 22:09:12

ポイント25pt

https だと一般の人に配布するならいいですが、特定の環境にコピーするだけだと認証が面倒ですね。

サーバー証明書とか、クライアント証明書とか設定する事になりますし。

あと、今回の用途では問題無さそうですがあくまで HTTP なのであまり巨大なファイルだとタイムアウトしたりします。


反面 sftp であれば認証機能は ssh のものがそのまま使えます。

設定方法も色々なサイトで解説されています。


どちらでも使うことは当然出来ますが、HTTPS だと面倒に感じますね。

id:kurukuru-neko No.3

kurukuru-neko回答回数1844ベストアンサー獲得回数1552007/02/09 00:54:45

ポイント30pt

>非常に大量(3万件くらい)のファイルをサーバ間でセキュア

 サーバが固定であれば繰り返し通信を行う効率を考えた場合、

 つど認証を行う方式よりすべての通信経路をVPN等で

 暗号化通信したをまず検討したいところです。

 

http://ja.wikipedia.org/wiki/HTTPS

https/sftpも最後の通信手段は同じ

sftp ファイル転送を主体に考えれらた

    専用プログラムなのでプロトコルがあり

    複数ファイルも簡単に遅れる。

    認証方法も明確、簡単

 https

 → サーバー側のデータは暗号化されるが

   受信プログラムを作成する必要がある

   又、転送が正常に完了したか判断しにく

   専用の認証や、ファイルシステムへの保存

   方法などを個別に作る必要があるが柔軟性がある

  感覚的には、ファイルをある程度まとめて

  圧縮して1ファイルにしてVPNで転送、

リモートで一括展開したい感じです。

  • id:t_okappy
    なるほど一長一短あるものですね。
    冷静に考えるとFWやスイッチが間に多数挟まっていますので、HTTP(S)以外のポートを空けてもらう調整が大変そうということに気づきました。
    実装はHTTP(S)の方が面倒くさそうですがこちらでなんとかしてみます。
    ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません