クライアントを使用してファイルを転送する - AWS Transfer Family

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

クライアントを使用してファイルを転送する

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

  • OpenSSH (macOS および Linux)

    注記

    このクライアントは Secure Shell (SSH) File Transfer Protocol のSFTP が有効になっているサーバーでのみ動作します。

  • WinSCP (Microsoft Windows のみ)

  • Cyberduck (Windows、macOS、Linux)

  • FileZilla (Windows、macOS、Linux)

以下の制限が &ef; に適用されます。

  • SSL(FTPS)を介したファイル転送プロトコルでは、明示モードのみがサポートされています。暗黙モードはサポートされていません。

  • File Transfer Protocol (FTP) および FTPS では、パッシブモードのみがサポートされています。

  • FTP および FTPS では、STREAM モードのみがサポートされています。

  • FTP および FTPS では、イメージ/バイナリモードのみがサポートされています。

  • FTP および FTPS の場合、データ接続の TLS-PROT C (保護されていない) TLS がデフォルトですが、PROT C はAWS Transfer FamilyFTPS プロトコル。したがって、FTPSの場合、データ操作が受け入れられるようにPROT Pを発行する必要があります。

以下に、FTP および FTPS で使用できるコマンドの一覧を示します。

使用できるコマンド

ABOR

FEAT

MLST

PASS

RETR

STOR

AUTH

LANG

MKD

PASV

RMD

STOU

CDUP

LIST

MODE

PBSZ

RNFR

STRU

CWD

MDTM

NLST

PROT

RNTO

SYST

DELE

MFMT

NOOP

PWD

SIZE

TYPE

EPSV

MLSD

OPTS

QUIT

STAT

USER

注記

APPE はサポートされていません。

SFTP の場合、Amazon Elastic File System(Amazon EFS)を使用しているサーバーで論理ホームディレクトリを使用しているユーザーに対しては、以下の操作は現在サポートされていません。

サポートされていない SFTP コマンド

READLINK

SYMLINK

要求されたファイルがシンボリックリンクである場合、SSH_FXP_STAT

要求されたパスにシンボリックリンク・コンポーネントが含まれている場合、SSH_FXP_REALPATH

パブリックキーとプライベートキーのペアの生成

ファイルを転送する前に、公開鍵と秘密鍵のペアを用意しておく必要があります。以前にkey pair を生成していない場合は、SSH キーを生成する

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

OpenSSH を使用する

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

注記

このクライアントは SFTP 対応サーバーでのみ動作します。

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

  1. Linux または macOS では、コマンドターミナルを開きます。

  2. プロンプトで、次のコマンドを入力します。

    sftp -i transfer-key sftp_user@service_endpoint

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

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

  3. (オプション) ユーザーのホームディレクトリを表示するには、sftpプロンプト:

    pwd

  4. ファイルシステムから Transfer Family サーバーにファイルをアップロードするには、putコマンド。たとえば、アップロードするhello.txt(ファイルがファイルシステム上の現在のディレクトリにあると仮定します)、sftpプロンプト:

    put hello.txt

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

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

    hello.txt 100% 127 0.1KB/s 00:00

注記

サーバーが環境内の DNS サービス用に作成されてから、サーバーエンドポイントホスト名を解決できるようになるまで、数分かかる場合があります。

WinSCP を使用する

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

注記

WinSCP 5.19 Amazon S3、AWS認証情報とファイルをアップロード/ダウンロードします。詳細については、「」を参照してください。Amazon S3 サービスに接続する

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

  1. WinSCP クライアントを開きます。

  2. ログインダイアログボックスで、ファイルプロトコルで、プロトコルを選択します。SFTPまたはFTP

    FTP を選択した場合、Encryptionで、次のいずれかを選択します。

    • FTP の@@暗号化なし

    • TLS/SSL FTPS の明示的な暗号化

  3. [Host name (ホスト名)] にサーバーエンドポイントを入力します。サーバエンドポイントは、[ Server] 詳細 ページにあります サーバーの詳細の表示。「」を参照してください。

  4. [ ポート番号, ] に、次のように入力します。

    • 22 SFTP用

    • 21 FTP/FTPS

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

  6. [ 詳細 設定] を選択して、[ サイトの詳細設定 ] ダイアログボックスを開きます。[ SSH ] セクションで、[ 認証] を選択します。

  7. を使用する場合プライベートキーファイル続いて、ファイルシステムで SSH プライベートキーを参照し、選択します。

    注記

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

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

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

  10. ログイン] ダイアログボックスで、ツール[] を選択してから、Preferences (設定)

  11. [ 環境設定 ] ダイアログボックスの [ 転送, ] で、[ 耐久性] を選択します。

    の一時ファイル名への転送再開/転送を有効にするオプションで、Disable (無効)

    注記

    このオプションを有効にしたままにすると、アップロードコストが増加し、アップロードのパフォーマンスが大幅に低下します。また、大きなファイルのアップロードが失敗する可能性があります。

  12. を使用する場合移管] で、背景を選択し、1 回の転送に複数の接続を使用する] チェックボックスをオンにします。

    注記

    このオプションを選択したままにすると、大きなファイルのアップロードが予測不可能な方法で失敗する可能性があります。たとえば、Amazon S3 の料金が発生する、孤立したマルチパートアップロードを作成できます。サイレント・データの破損も発生することがあります。

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

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

注記

Amazon S3 はオブジェクトタイムスタンプを管理します。ファイル転送を実行する前に、WinSCP タイムスタンプ設定を必ず無効にしてください。そのためには、WinSCP 転送設定 ダイアログボックス内の、アップロード時の設定の パーミッションの設定 と、共有の設定の タイムスタンプを保持 を無効化します。

サイバーダックを使う

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

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

  1. を開くサイバーダッククライアント。

  2. [ 接続を開く] を選択します。

  3. 接続を開く] ダイアログボックスで、プロトコルを選択します。SFTP (SSH ファイル転送プロトコル),FTP-SSL(明示的認証TLS), またはFTP (ファイル転送プロトコル)

  4. [ サーバー, ] に、サーバーのエンドポイントを入力します。サーバーエンドポイントは、サーバーの詳細ページで. 詳細については、「」を参照してくださいサーバーの詳細の表示

  5. [ ポート番号, ] に、次のように入力します。

    • 22 SFTP用

    • 21 FTP/FTPS

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

  7. [SFTP] を選択した場合は、[ SSH 秘密キー, ] で、[SSH 秘密キー] を選択または入力します。

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

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

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

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

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

ファイルZillaを使う

次の手順に従って、FileZilla を使用してファイルを転送します。

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

  1. FileZilla クライアントを開きます。

  2. [ ファイル, ] を選択し、[ サイトマネージャ] を選択します。

  3. [ サイトマネージャ ] ダイアログボックスで、[ 新しいサイト] を選択します。

  4. リポジトリの []全般タブ、[] のプロトコルで、プロトコルを選択します。SFTPまたはFTP

    FTP を選択した場合、Encryptionで、次のいずれかを選択します。

    • プレーンなFTPのみを使用する(安全ではない)— FTP 用

    • 利用可能な場合は、TLS 経由の明示的な FTP を使用する— FTPS

  5. を使用する場合ホスト名で、使用しているプロトコルを入力し、次にサーバーエンドポイントを入力します。サーバーエンドポイントは、サーバーの詳細ページで. 詳細については、「」を参照してくださいサーバーの詳細の表示

    • SFTP を使用している場合は、次のように入力します。sftp://hostname

    • FTPS を使用している場合は、次のように入力します。ftps://hostname

    必ずhostnameを実際のサーバーエンドポイントに置き換えます。

  6. [ ポート番号, ] に、次のように入力します。

    • 22 SFTP用

    • 21 FTP/FTPS

  7. [SFTP] を選択した場合は、[ ログオンの種類, ] で [ キーファイル] を選択します。

    [ Key file, ] で、SSH 秘密キーを選択または入力します。

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

  9. [Connect (接続)] を選択します。

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

    注記

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

Perl クライアントを使用する

NET። SFTP። 外部の perl クライアントを使用する場合は、を queue_size に設定する必要があります 1。次に例を示します。

my $sftp = Net::SFTP::Foreign->new('user@s-12345.server.transfer.us-east-2.amazonaws.com', queue_size => 1);

注記

この回避策は、Net::SFTP::Foreign以前1.92.02

アップロード後の処理

Amazon S3 オブジェクトのメタデータやイベント通知など、アップロード後の処理情報を表示できます。

Amazon S3 オブジェクトメタデータ

オブジェクトのメタデータの一部として、x-amz-meta-user-agentの値がAWSTransferおよびx-amz-meta-user-agent-idの値がusername@server-id。-usernameはファイルをアップロードしたTransfer Family ユーザーであり、server-idは、アップロードに使用されるサーバーです。この情報には、HeadObject操作を Lambda 関数内の S3 オブジェクトに対して実行します。

Amazon S3 イベント通知

Transfer Family を使用して S3 バケットにオブジェクトがアップロードされると、RoleSessionNameの [リクエスタ] フィールドにはS3 イベント通知構造として[AWS:Role Unique Identifier]/username.sessionid@server-id。たとえば、S3 バケットにコピーされたファイルの S3 アクセスログのサンプルの Requester フィールドの内容を次に示します。

arn:aws:sts::AWS-Account-ID:assumed-role/IamRoleName/username.sessionid@server-id

上記の [リクエスタ] フィールドには、IamRoleName。S3 イベント通知の設定の詳細については、」Amazon S3 イベント通知の設定()Amazon Simple Storage Service 開発者ガイド。の詳細AWS Identity and Access Management(IAM) ロールの一意の識別子については、一意の識別子()AWS Identity and Access Managementユーザーガイド