SFTPとは?SFTPの基礎とAWSでSFTPを利用する方法を解説!
IT・技術関連
更新日:2024.09.05


SFTPの基礎
Amazon S3など、AWSにファイルを転送する際、安全に転送できるSFTPに対応したファイル転送アプリを利用します。
そしてAWSでは、AWS Transfer Familyにより、SFTPによるファイル転送が利用可能です。それではSFTPとは、どのような仕組みなのでしょうか。
ここでは、他のファイルを転送する仕組みと比較しながら、SFTPの特徴を紹介します。
SFTPとは何か
SFTPは、SSH File Transfer Protocolの略で、昔からFTPとして知られているファイル転送の仕組みを、SSHを利用したセキュアな通信を利用するための仕組みです。 なお、SSHとは、Secure Shellの略で、通信データを暗号化することで、送信の途中でのぞき見されないようにする技術です。 そしてSFTPは、昔からよく使われているFTPと同じ手順で、しかもデータを暗号化し安全に送れる点が特徴になっています。FTPとSFTPの違い
昔からファイル転送にはFTPが使われていましたが、FTPではデータをそのまま送信していたので、アカウント名やパスワードを途中で読み取られる危険性がありました。 そのため、以前ならWebブラウザもFTPによるファイル転送をサポートしていたのですが、セキュアな送信でないことから、今では使えません。 その点、SFTPは、データが全て暗号化されるので、そのような危険がありません。また、FTPクライアントアプリのほとんどが対応しているので、使い慣れたアプリをそのまま利用できます。 なお、SFTPと同じように、データ通信をTLSまたはSSLで暗号化するFTPSという方法もあり、AWS Transfer Familyでは、この方法もサポートしています。 この方法も、ほとんどのFTPクライアントアプリが対応しているので、AWSではSFTPと同じように利用できます。scpとSFTPの違い
AWSへのファイル転送を実現するAWS Transfer Familyでは、SFTP、FTP、FTPSの3つの方法に対応しています。 この他に、オープンソースのSSHを利用したファイル転送コマンドscpがあり、多くのLinuxで利用できます。そして、SSHを利用していることから、送信データが暗号化されるので、途中で読まれる心配はありません。 ただし、scpには「通信が途切れた場合に、自動的に再接続して送り直す」といったFTPに備わるフェイルセーフ機能がありません。その観点からも、SFTPの利用をおすすめします。AWSでSFTPを利用する方法

Amazon S3バケットを作成する
AWSでSFTPを利用する場合、転送したファイルを格納する領域が必要です。そして、その受け皿となるAWSのストレージサービスが、Amazon S3です。 SFTPの設定を実施する前に、Amazon S3の領域を作っておきましょう。SFTP対応サーバーを作成する
AWS Transfer FamilyでSFTPを利用するには、SFTP対応サーバーを作成する必要があります。AWS Transfer Familyの専用ページにアクセスし、サーバーを作成してください。なお、サーバー作成時に、次の4つの項目が求められます (1) プロトコルの選択 SFTP、FTPS、FTPの3つから、選択します。ここで、SFTPを選んでください。 (2) IDプロバイダータイプを選択 利用する予定のIDプロバイダータイプを指定します。 (3) エンドポイントとホスト名の設定 エンドポイントとは、SFTPでアクセスするクライアント端末のことです。インターネットに公開するか、それともAmazon VPCの仮想ネットワークのどちらかを選択します。さらに、SFTPサーバーのホスト名もここで設定可能です。 (4) その他の設定 ログの設定や暗号化する際に使用するキーなど、必要に応じて設定します。ユーザーを作成する
先ほどの手順でサーバーができたら、続いてアクセスの際に使用するユーザーを作成してください。AWS Transfer Familyの管理コンソールのUserセクションから、簡単に作成できます。 この場合Amazon S3に用意したバケットに対する操作を許可するポリシーが必要です。また、SFTPでアクセスする際、パスワードを使わず、SSHの公開鍵で認証します。「SSH public keys」も必ず設定してください。 この手順によりユーザーが作成できたら、SFTPによるファイル転送が可能です。AWS Transfer Family設定時の注意点

SSH public keyの設定が必要
AWS Transfer FamilyによりSFTPで接続する際は、パスワードを使いません。ユーザー作成時に、SSH public keyを登録することで、SSHのパスワードを省略する手順と同じ手順で認証します。 そのため、あらかじめアクセスするFTPクライアント側でSSH public keyを生成し、それをユーザー作成時に登録する必要があります。 AWSの公式ドキュメントにOS毎の生成手順が解説されていますので、それを参考にして作成してください。ポリシーの設定に注意
AWS Transfer Familyでユーザーを作成する際、必ずポリシーを設定しなければなりません。 そのポリシーとして、AWS Transfer Familyを利用するためのポリシーとAmazon S3に接続するためのポリシーの2つが必要です。 もし、SFTPで接続できたのに、「権利が無い」といったメッセージが表示される場合は、SFTPの接続で利用したユーザーに割り当てたロールの信頼関係に、次のように2つ設定されているかチェックしてみてください。アクセスコントロールポリシードキュメントの例 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }この例では、「transfer.amazonaws.com」と「s3.amazonaws.com」の2つが設定されているので、SFTPを介してAmazon S3にアクセスできます。
まとめ

この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ
ITエンジニアの派遣を利用したい企業様へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。