AWS SFTP を使用してファイルを転送する - AWS Transfer for SFTP

AWS SFTP を使用してファイルを転送する

SFTP クライアントで転送操作を指定してファイルを AWS SFTP サービスで転送します。AWS SFTP は次の SFTP クライアントをサポートしています。

  • OpenSSH (Macintosh および Linux)

  • WinSCP (Microsoft Windows のみ)

  • Cyberduck (Windows、Macintosh、および Linux)

  • FileZilla (Windows、Macintosh、および Linux)

次で、各クライアントでファイルを転送する方法について説明します。

OpenSSH を使用する

次の手順に従って、OpenSSH を使用してコマンドラインからファイルを転送します。

OpenSSH コマンドラインユーティリティを使用して AWS SFTP でファイルを転送するには

  1. Linux または Macintosh の場合、コマンドターミナルを開きます。

  2. プロンプトで次のコマンドを入力します: % sftp -i transfer-key sftp_user@service_endpoint

    前述のコマンドでは、sftp_user がユーザー名、transfer-key が SSH プライベートキーです。ここでは、選択された SFTP で AWS SFTP コンソールに示されているとおり、service_endpoint が SFTP サーバーのエンドポイントです。

    sftp プロンプトが表示されます。

  3. sftp プロンプトで、次のコマンドを入力します: sftp> pwd

  4. 次の行で、次のテキストを入力します: /mybucket/home/sftp_user

    この「使用開始」実習では、この Amazon S3 バケットがファイル転送のターゲットです。

  5. 次の行で、次のコマンドを入力します: sftp> put filename.txt

    put コマンドはファイルを Amazon S3 バケットに転送します。

    次のようなメッセージが表示され、ファイル転送が進行中である、または完了したことを示します。

    Uploading filename.txt to /my-bucket/home/sftp_user/filename.txt

    some-file.txt 100% 127 0.1KB/s 00:00

注記

サーバーが環境内の DNS サービス用に作成されてから、サーバーエンドポイントホスト名を解決できるようになるまで、数分かかる場合があります。テスト目的では、リージョンのエンドポイントを使用し、user_name.serverid@service_endpoint としてログインします。

AWS SFTP の AWS リージョンエンドポイントのリストについては、『AWS 全般のリファレンス』の「AWS リージョンとエンドポイント」の「AWS Transfer for SFTP」を参照してください。

WinSCP を使用する

次の手順に従って、WinSCP を使用してコマンドラインからファイルを転送します。

WinSCP を使用して AWS SFTP でファイルを転送するには

  1. WinSCP クライアントを開き、[New Session (新しいセッション)] を選択します。

  2. [File protocol (ファイルプロトコル)] で、[Login (ログイン)] ダイアログボックスで [SFTP] が選択されていることを確認します。

  3. 次に示すとおり、左にあるフォルダリストから [New Site (新しいサイト)] を選択します。

  4. [Host name (ホスト名)] にサーバーエンドポイントを入力します。

  5. [Username (ユーザー名)] に、ユーザーの追加 で作成したユーザーの名前を入力します。

  6. 次に示すとおり、[Advanced (アドバンスト)] を選択して [Advanced (アドバンスト)] ダイアログボックスを開き、左側のペインの [SSH] セクションで [Authentication (認証)] を選択します。

  7. ファイルシステムで SSH プライベートキーを参照し、選択します。

  8. 次に示すとおり、WinSCP が SSH プライベートキーを PPK 形式に変換することを提示した場合、[OK] を選択します。

  9. [OK] を選択して [Login (ログイン)] ダイアログボックスに戻り、[Save (保存)] を選択します。

  10. 次に示すとおり、[Save session as site (セッションをサイトとして保存)] ダイアログボックスで、[OK] を選択して接続セットアップを完了します。

  11. SFTP ファイル転送を実行します。

    ドラッグアンドドロップメソッドを使用して、ターゲットウィンドウとソースウィンドウ間でファイルをコピーできます。ツールバーアイコンを使用して、WinSCP にあるファイルのプロパティをアップロード/ダウンロード、削除、編集、または変更できます。

注記

Amazon S3 はオブジェクトタイムスタンプを管理するため、AWS SFTP ファイル転送を実行する前に WinSCP タイムスタンプ設定を無効にしてください。そうするには、[WinSCP Transfer settings (WinSCP 転送設定)] ダイアログボックスで [Set permissions (アクセス許可の設定)] アップロードオプションと [Preserve timestamp (タイムスタンプを保持する)] 一般オプションを無効にします。

Cyberduck を使用する

次の手順に従って、Cyberduck を使用してコマンドラインからファイルを転送します。

Cyberduck を使用して AWS SFTP でファイルを転送するには

  1. Cyberduck を起動し、[Open Connection (オープン接続)] を選択して [Connection (接続)] ダイアログボックスを開きます。

  2. [Protocol (プロトコル)] で [SFTP (SSH File Transfer Protocol) (SFTP (SSH ファイル転送プロトコル))] を選択します。

  3. AWS SFTP サーバーページで、使用する SFTP サーバーの名前であるチェックボックスをオンにします。

  4. 次に示すとおり、[Server (サーバー)] にサービスエンドポイントを入力します。

  5. [Username (ユーザー名)] に、ユーザーの追加 で作成したユーザーの名前を入力します。

  6. [SSH Private Key (SSH プライベートキー)] で、SSH プライベートキーを選択します。

  7. (オプション) [Path (パス)] で [More Options (詳細)] を選択し、ターゲットまたはソース Amazon S3 ディレクトリを入力します。

  8. [接続] を選択します。

    Amazon S3 ディレクトリが、SFTP クライアントのペインの 1 つで開きます。

  9. ファイルの場所に応じて、次のいずれかを実行します。

    • ローカルディレクトリ (ソース) で、転送するファイルを選択し、Amazon S3 ディレクトリ (ターゲット) にドラッグアンドドロップします。

    • Amazon S3 ディレクトリ (ソース) で、転送するファイルを選択し、ローカルディレクトリ (ターゲット) にドラッグアンドドロップします。

Cyberduck がファイルを転送します。

FileZilla を使用する

次の手順に従って、FileZilla を使用してコマンドラインからファイルを転送します。

FileZilla を SFTP ファイル転送用にセットアップするには

  1. [Connect (接続)] を選択して、[Connection (接続)] ダイアログボックスを開きます。

  2. 上部にあるリストで、プロトコルとして [SFTP] を選択します。

  3. [Port (ポート)] に「22」と入力します。

  4. [Server ()] に、選択されたサーバーの AWS SFTP コンソールに一覧表示されている SFTP サーバーの hostname.service_endpoint を入力します。

  5. [Username (ユーザー名)] に、ユーザーの追加 で作成したユーザーの名前を入力します。username.serverId の形式を使用します。serverId は AWS SFTP コンソールに一覧表示されています。

  6. [Browse (参照)] を選択し、SSH プライベートキーをこの FileZilla 接続にアップロードします。

  7. [接続] を選択します。

注記

進行中のファイル転送を中断する場合、AWS SFTP が S3 バケットにオブジェクトの一部を書き込む場合があります。アップロードを中断する場合、続行する前に S3 バケットのファイルサイズがソースオブジェクトのファイルサイズと一致することを確認してください。