クライアントを使用したファイルの転送 - AWS Transfer Family

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

クライアントを使用したファイルの転送

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

  • OpenSSH (Macintosh および Linux)

    注記

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

  • WinSCP (Microsoft Windows のみ)

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

  • FileZilla (Windows、Macintosh、Linux)

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

  • FTPS では、明示モードのみがサポートされています。暗黙モードはサポートされていません。

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

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

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

  • FTP および FTPS の場合、データ接続の TLS-PROT C (保護されていない) TLS がデフォルトです。

以下に、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

注記

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

SFTP の場合、 を使用しているサーバーで論理的なホームディレクトリを使用しているユーザーに対しては、現在以下のオペレーションはサポートされていませんAmazon Elastic File System。

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

SSH_FXP_READLINK

SSH_FXP_SYMLINK

リクエストされたファイルがシンボリックリンクの場合の SSH_FXP_STAT

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

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

を使用する OpenSSH

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

注記

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

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

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

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

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

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

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

  4. 次の行で、次のテキストを入力します: sftp> cd /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 サービス用に作成されてから、サーバーエンドポイントホスト名を解決できるようになるまで、数分かかる場合があります。

を使用する WinSCP

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

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

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

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

    [FTP] を選択した場合は、[Encryption (暗号化)] で次のいずれかを選択します。

    • FTP の@@暗号化なし

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

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

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

    • 22 SFTP用

    • 21 FTP/FTPS

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

  6. [Advanced] を選択して、[Advanced Site Settings] ダイアログボックスを開きます。SSH ] セクションで、[ 認証.] を選択します。

  7. [Private key file (プライベートキーファイル)] で、ファイルシステムから SSH プライベートキーファイルを参照して選択します。

    注記

    WinSCP が SSH プライベートキーを PPK 形式に変換する場合は、[OK] を選択します。

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

  9. [Save session as site] ダイアログボックスで、[OK] を選択して接続のセットアップを完了します。

  10. ログイン ダイアログボックスで、「 ツール 」を選択し、「 環境設定.」を選択します。

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

    [Enable transfer resume/transfer to temporary filename for (一時ファイル名への転送の再開/一時ファイル名への転送を有効にする)] オプションで [無効化] を選択します。

    注記

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

  12. [Transfer (転送)] で、[Background (バックグラウンド)] を選択し、[Use multiple connections for single transfer (単一の転送に複数の接続を使用する)] チェックボックスをオフにします。

    注記

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

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

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

注記

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

サイバーダックを使う

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

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

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

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

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

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

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

    • 22 SFTP用

    • 21 FTP/FTPS

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

  7. [SFTP] を選択した場合は、[SSH Private Key (SSH プライベートキー)] で、SSH プライベートキーを選択または入力します。

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

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

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

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

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

を使用する FileZilla

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

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

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

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

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

  4. [General] タブの [Protocol] で、プロトコル (SFTP または FTP) を選択します。

    [FTP] を選択した場合は、[Encryption (暗号化)] で次のいずれかを選択します。

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

    • FTPS で使用可能な–場合は TLS 経由で明示的な FTP を使用する

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

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

    • 22 SFTP用

    • 21 FTP/FTPS

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

    [Key file (キーファイル)] で、SSH プライベートキーを選択または入力します。

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

  9. 接続.] を選択します。

  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);

アップロード後処理

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

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

オブジェクトのメタデータの一部として、 というキーが表示されますx-amz-meta-user-agent。その値は でAWSTransferx-amz-meta-user-agent-idその値は ですusername@server-idusername はファイルをアップロードしたTransfer Familyユーザーであり、 server-id はアップロードに使用されるサーバーです。この情報は、 関数内の S3 オブジェクトの HeadObjectLambda オペレーションを使用してアクセスできます。

Amazon S3 イベント通知

を使用してオブジェクトを S3 バケットにアップロードするとTransfer Family、 RoleSessionNameprincipalIdS3 イベント通知構造の に として含まれています[AWS:Role Unique Identifier]:username.sessionid@server-id

S3 イベント通知の設定の詳細については、 https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html 開発者ガイドの「Amazon S3 イベント通知Amazon Simple Storage Serviceの設定」を参照してください。AWS Identity and Access Management (IAM) ロールの一意の識別子の詳細については、 https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids ユーザーガイドの「一意の識別子AWS Identity and Access Management」を参照してください