翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クライアントを使用してサーバーエンドポイント経由でファイルを転送する
クライアントで転送オペレーションを指定して、 AWS Transfer Family サービス経由でファイルを転送します。 は、次のクライアント AWS Transfer Family をサポートしています。
-
SFTP プロトコルのバージョン 3 をサポートしています。
-
OpenSSH (macOS と Linux)
注記
このクライアントは、Secure Shell (SSH) ファイル転送プロトコル () が有効になっているサーバーでのみ動作しますSFTP。
-
WinSCP (Microsoft Windows のみ)
-
Cyberduck (Windows、macOS、および Linux)
-
FileZilla (Windows、macOSおよび Linux)
どのクライアントにも以下の制限が適用されます。
-
接続あたりの同時、多重化、SFTPセッションの最大数は 10 です。
-
Amazon S3 と Amazon EFS (NFSv4プロトコルのため) では、ファイル名を UTF-8 エンコードにする必要があります。異なるエンコーディングを使用すると、予期しない結果になることがあります。Amazon S3 については、「オブジェクトキーの命名ガイドライン」を参照してください。
-
SSL (FTPS) 経由のファイル転送プロトコルでは、明示的モードのみがサポートされています。暗黙モードはサポートされません。
-
ファイル転送プロトコル (FTP) と ではFTPS、パッシブモードのみがサポートされています。
-
FTP および ではFTPS、 STREAM モードのみがサポートされています。
-
FTP および ではFTPS、Image/Binary モードのみがサポートされています。
-
FTP および の場合FTPS、データ接続TLSの PROT TLSC (保護されていない) がデフォルトですが、プロトコルでは AWS Transfer Family FTPS C PROT はサポートされていません。そのため、 ではFTPS、データオペレーションを受け入れるために PROT P を発行する必要があります。
-
サーバーのストレージに Amazon S3 を使用していて、1 回の転送に複数の接続を使用するオプションがクライアントに含まれている場合は、必ずそのオプションを無効にしてください。そうしないと、大容量ファイルのアップロードが失敗して予測外の状況になる可能性があります。ストレージバックエンドEFSとして Amazon を使用している場合、 EFS は 1 回の転送で複数の接続をサポートします。
以下は、 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コマンド | |||
---|---|---|---|
SSH_FXP_READLINK |
SSH_FXP_SYMLINK |
SSHリクエストされたファイルがシンボリックリンクの場合、_FXP_STAT |
SSHリクエストされたパスに symlink コンポーネントが含まれている場合、_FXP_REALPATH |
パブリックキーとプライベートキーのペアを生成する
ファイルを転送する前に、パブリックキーとプライベートキーのキーペアを用意する必要があります。以前にキーペアを生成していない場合、「サービスマネージドユーザーのSSHキーを生成する」を参照してください。
トピック
使用可能なSFTP/FTPS/FTPコマンド
次の表は、、 AWS Transfer Family、FTPSおよび SFTPFTPプロトコルで使用可能な コマンドを示しています。
注記
この表には、バケットとオブジェクトのみをサポートする Amazon S3 の「ファイル」と「ディレクトリ」が記載されています。階層はありません。ただし、オブジェクトキー名にプレフィックスを使って階層を示したり、フォルダのようにデータを整理したりすることはできます。この動作については、「Amazon Simple Storage Service ユーザーガイド」の「オブジェクトメタデータの処理」で説明されています。
Command | Amazon S3 | Amazon EFS |
---|---|---|
cd |
サポート | サポート |
chgrp |
サポートされていません | 対応(root または owner のみ) |
chmod |
サポートされていません | サポート (root のみ) |
chmtime |
サポート外 | サポート |
chown |
サポートされていません | サポート (root のみ) |
get |
サポート | サポート (シンボリックリンクの解決を含む) |
ln -s |
サポート外 | サポート対象 |
ls/dir |
サポート対象 | サポート対象 |
mkdir |
サポート対象 | サポート対象 |
put |
サポート対象 | サポート対象 |
pwd |
サポート対象 | サポート |
rename |
ファイルでのみサポート |
サポート 注記既存のファイルやディレクトリを上書きするような名前変更はサポートされていません。 |
rm |
サポート | サポート |
rmdir |
サポート (空のディレクトリのみ) | サポート |
version |
サポート対象 | サポート |
Amazon VPCエンドポイントを検索する
Transfer Family サーバーのエンドポイントタイプが の場合VPC、ファイルの転送に使用するエンドポイントを特定することは簡単ではありません。この場合、次の手順を使用して Amazon VPCエンドポイントを検索します。
Amazon VPCエンドポイントを検索する
-
サーバーの詳細ページに移動します。
-
エンドポイントの詳細ペインで、 を選択しますVPC。
Amazon VPC ダッシュボードで、VPCエンドポイント ID を選択します。
-
DNS 名前のリストでは、サーバーエンドポイントが最初にリストされます。
setstat
エラーを回避する
一部のSFTPファイル転送クライアントは、ファイルのアップロードSETSTAT時などのコマンドを使用して、タイムスタンプやアクセス許可など、リモートファイルの属性を変更しようとします。ただし、これらのコマンドは Amazon S3 などのオブジェクトストレージシステムと互換性がありません。この非互換性が原因で、これらのクライアントからファイルをアップロードする際に、ファイルが正常にアップロードされた場合でもエラーが発生する可能性があります。
-
CreateServer
またはSetStatOption
を呼び出すときはUpdateServer
API、ProtocolDetails
オプションを使用して、クライアントが S3 バケットにアップロードするファイルSETSTATで使用しようとしたときに生成されるエラーを無視します。 -
Transfer Family サーバーがSETSTATコマンドを無視
ENABLE_NO_OP
するように 値を に設定し、SFTPクライアントに変更を加えることなくファイルをアップロードします。 -
SetStatOption
ENABLE_NO_OP
設定ではエラーは無視されますが、 CloudWatch ログにログエントリが生成されるため、クライアントがSETSTATいつ呼び出しを行っているかを特定できます。
このオプションAPIの詳細については、「」を参照してくださいProtocolDetails。
Open を使用するSSH
Open を使用してコマンドラインからファイルを転送するには、以下の手順に従いますSSH。
注記
このクライアントは、 SFTPが有効なサーバーでのみ動作します。
OpenSSH コマンドラインユーティリティ AWS Transfer Family を使用してファイルを 経由で転送するには
-
Linux、macOS、Windows では、コマンドターミナルを開きます。
-
プロンプトで、次のコマンドを入力します。
sftp -i
transfer-key
sftp_user
@service_endpoint
前のコマンドでは、
はユーザー名で、sftp_user
はSSHプライベートキーです。ここでは、選択したサーバーの AWS Transfer Family コンソールに表示されるサーバーのエンドポイントtransfer-key
を示します。service_endpoint
注記
このコマンドは、デフォルト
ssh_config
ファイルにある設定を使用します。このファイルを以前に編集した場合を除き、 はポート 22 SFTPを使用します。次のように、 コマンドに-P
フラグを追加して、別のポート (2222 など) を指定できます。sftp -P 2222 -i
transfer-key
sftp_user
@service_endpoint
または、常にポート 2222 を使用する場合は、
ssh_config
ファイル内のデフォルトポートを更新できます。sftp
プロンプトが表示されます。 -
(オプション) ユーザーのホームディレクトリを表示するには、
sftp
プロンプトで次のコマントを入力します。pwd
-
ご使用のファイルシステムから 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サービスによって解決されるまでに数分かかることがあります。
Win を使用するSCP
Win を使用してコマンドラインからファイルを転送するには、以下の手順に従いますSCP。
注記
WinSCP 5.19 を使用している場合は、 AWS 認証情報を使用して Amazon S3 に直接接続し、ファイルをアップロード/ダウンロードできます。詳細については、「Amazon S3 サービスに接続する
Win AWS Transfer Family を使用してファイルを 経由で転送するにはSCP
-
WinSCP クライアントを開きます。
-
ログインダイアログボックスの ファイルプロトコル で、プロトコル SFTPまたは を選択しますFTP。
暗号化 FTPで を選択した場合は、次のいずれかを選択します。
-
の暗号化なし FTP
-
TLS/SSL の明示的暗号化 FTPS
-
-
[Host name] (ホスト名) にサーバーエンドポイントを入力します。サーバーエンドポイントは、[Server details] (サーバーの詳細) ページにあります 。詳細については、「SFTP、FTPS、および FTPサーバーの詳細を表示する」を参照してください。
注記
サーバーがVPCエンドポイントを使用している場合は、「」を参照してくださいAmazon VPCエンドポイントを検索する。
-
[Port number] (ポート番号) に次の値を入力します。
-
SFTP に関する
22
-
21
FTP/ 用FTPS
-
-
[ユーザー名] には、特定の ID プロバイダー用に作成したユーザーの名前を入力します。
注記
ユーザー名は、ID プロバイダー用に作成または設定したユーザーの 1 つである必要があります。 は、次の ID プロバイダー AWS Transfer Family を提供します。
-
[Advanced] (アドバンスト) を選択して、[Advanced Site Settings] (サイトのアドバンスト設定) ダイアログボックスを開きます。SSH セクションで、認証 を選択します。
-
プライベートキーファイル については、ファイルシステムからSSHプライベートキーファイルを参照して選択します。
注記
WinSCP がSSHプライベートキーを PPK形式に変換することを提案する場合は、OK を選択します。
-
[OK] を選択して [Login] (ログイン) ダイアログボックスに戻り、[Save] (保存) を選択します。
-
[Save session as site] (セッションをサイトとして保存) ダイアログボックスで [OK] を選択して接続セットアップを完了します。
-
[Login] (ログイン) ダイアログボックスで [Tools] (ツール) を選択してから[Preferences] (設定) を選択します。
-
[Preferences] (設定) ダイアログボックスの [Transfer] (転送) で [Endurance] (耐久性) を選択します。
[Enable transfer resume/transfer to temporary filename for] オプションについて [Disable] (無効にする) を選択します。
注記
このオプションを有効にしたままにすると、アップロードコストが増加し、アップロードのパフォーマンスが大幅に低下します。大容量ファイルのアップロードが失敗する可能性もあります。
-
[Transfer] (転送) で [Background] (バックグラウンド) を選択し、[Use multiple connections for single transfer] (単一の転送に複数の接続を使用する) チェックボックスをオフにします。
注記
このオプションを選択したままにすると、大容量ファイルのアップロードが失敗して予測外の状況になる可能性があります。たとえば、孤立マルチパートアップロードが生成されて Amazon S3 の料金が発生する可能性があります。サイレントデータ破損が発生することもあります。
-
ファイル転送を実行します。
メソッドを使用して drag-and-drop、ターゲットウィンドウとソースウィンドウ間でファイルをコピーできます。ツールバーアイコンを使用して、Win 内のファイルのプロパティをアップロード、ダウンロード、削除、編集、または変更できますSCP。
注記
この注意は、Amazon をストレージEFSに使用する場合には適用されません。
タイムスタンプを含むリモートファイルの属性を変更しようとするコマンドは Amazon S3 などのオブジェクトストレージシステムと互換性がありません。したがって、Amazon S3 をストレージに使用する場合、ファイル転送を実行する前に、WinSCP タイムスタンプ設定を無効にする (または で説明SetStatOption
されているように を使用するsetstatエラーを回避する) 必要があります。これを行うには、WinSCP Transfer 設定ダイアログボックスで、アクセス許可のアップロード設定オプションとタイムスタンプの共通保存オプションを無効にします。
Cyberduck を使用する
次の手順に従って、Cyberduck を使用してコマンドラインからファイルを転送します。
Cyberduck AWS Transfer Family を使用してファイルを 経由で転送するには
-
Cyberduck
クライアントを開きます。 -
[Open connection] (接続を開く) を選択します。
-
Open Connection ダイアログボックスで、プロトコル SFTP (SSH File Transfer Protocol)、FTP-SSL (Explicit AUTH TLS)、または FTP (File Transfer Protocol) を選択します。
-
[Servers] (サーバー) にサーバーのエンドポイントを入力します。サーバーエンドポイントは、[Server details] (サーバーの詳細) ページにあります 。詳細については、「SFTP、FTPS、および FTPサーバーの詳細を表示する」を参照してください。
注記
サーバーがVPCエンドポイントを使用している場合は、「」を参照してくださいAmazon VPCエンドポイントを検索する。
-
[Port number] (ポート番号) に次の値を入力します。
-
SFTP に関する
22
-
21
FTP/ 用FTPS
-
-
[Username] (ユーザー名) に サーバーエンドポイントのユーザーの管理 で作成したユーザーの名前を入力します。
-
SFTP を選択した場合は、SSHプライベートキー でプライベートSSHキー を選択するか入力します。
-
[Connect] (接続) を選択します。
-
ファイル転送を実行します。
ファイルの場所に応じて、次のいずれかの操作をします。
-
ローカルディレクトリ (転送元) で転送したいファイルを選択して Amazon S3 ディレクトリ (転送先) にドラッグアンドドロップします。
-
Amazon S3 ディレクトリ (転送元) で転送したいファイルを選択してローカルディレクトリ (転送先) にドラッグアンドドロップします。
-
を使用する FileZilla
を使用してファイルを転送するには、以下の手順に従います FileZilla。
ファイル転送 FileZilla 用に を設定するには
-
FileZilla クライアントを開きます。
-
[File] (ファイル) を選択してから [Site Manager] を選択します。
-
[Site Manager] ダイアログボックスで [New site] (新しいサイト) を選択します。
-
プロトコル の全般タブで、プロトコル SFTPまたは を選択しますFTP。
暗号化 FTPで を選択した場合は、次のいずれかを選択します。
-
プレーン FTP (安全でない) のみを使用する – 用 FTP
-
利用可能なTLS場合は FTP を明示的に使用する - 用 FTPS
-
-
[Host name] (ホスト名) には、使用するプロトコルを入力し、その後にサーバーエンドポイントを続けます。サーバーエンドポイントは、[Server details] (サーバーの詳細) ページにあります 。詳細については、「SFTP、FTPS、および FTPサーバーの詳細を表示する」を参照してください。
注記
サーバーがVPCエンドポイントを使用している場合は、「」を参照してくださいAmazon VPCエンドポイントを検索する。
-
を使用している場合はSFTP、次のように入力します。
sftp://
hostname
-
を使用している場合はFTPS、次のように入力します。
ftps://
hostname
必ず を置き換えてください
hostname
実際のサーバーエンドポイントを使用します。 -
-
[Port number] (ポート番号) に次の値を入力します。
-
SFTP に関する
22
-
21
FTP/ 用FTPS
-
-
SFTP を選択した場合、ログオンタイプ でキーファイル を選択します。
キーファイル で、SSHプライベートキー を選択するか入力します。
-
[Username] (ユーザー名) に、サーバーエンドポイントのユーザーの管理 で作成したユーザーの名前を入力します。
-
[Connect] (接続) を選択します。
-
ファイル転送を実行します。
注記
進行中のファイル転送を中断する場合は、Amazon S3 バケットに部分的なオブジェクトを書き込む AWS Transfer Family ことができます。アップロードを中断する場合、続行する前に Amazon S3 バケットのファイルサイズがソースオブジェクトのファイルサイズと一致することを確認してください。
Perl クライアントを使用する
perl クライアントを使用する場合は NET::SFTP::Foreign、 queue_size
を に設定する必要があります1
。例:
my $sftp =
Net::SFTP::Foreign->new('
user
@s-12345
.server.transfer.us-east-2
.amazonaws.com',
queue_size => 1);
注記
この回避策は、1.92.02Net::SFTP::Foreign
のリビジョンに必要です。
アップロード後の処理
Amazon S3 オブジェクトのメタデータやイベント通知など、アップロード後の処理情報を表示できます。
Amazon S3 オブジェクトメタデータ
オブジェクトのメタデータの一部として、値が AWSTransfer
である x-amz-meta-user-agent
と値が username@server-id
である x-amz-meta-user-agent-id
というキーが見えます。username
はファイルをアップロードしたTransfer Family ユーザー、server-id
はアップロードに使用したサーバーです。この情報は、Lambda 関数内の S3 オブジェクトの HeadObjectオペレーションを使用してアクセスできます。

Amazon S3 イベント通知
Transfer Family を使用してオブジェクトを S3 バケットにアップロードすると、S3 イベント通知構造で RoleSessionName
が [Requester] (リクエスタ) フィールドに [AWS:Role Unique
Identifier]/username.sessionid@server-id
として含まれます。たとえば、次に示すのは S3 バケットにコピーされたファイルの S3 アクセスログから得たサンプル [Requester] (リクエスタ) フィールドのコンテンツです。
arn:aws:sts::AWS-Account-ID:assumed-role/IamRoleName/username.sessionid@server-id
上記のリクエスタフィールドには、 というIAMロールが表示されますIamRoleName
。S3 イベント通知を設定する方法の詳細については、Amazon Simple Storage Service デベロッパーガイドの「Amazon S3 イベント通知の設定」を参照してください。 AWS Identity and Access Management (IAM) ロールの一意の識別子の詳細については、AWS Identity and Access Management 「 ユーザーガイド」の「一意の識別子」を参照してください。