Amazon Web Services ブログ
新サービス New – 既存の SFTP に加えて、AWS Transfer for FTP と AWS Transfer for FTPS の提供開始
AWS Transfer for SFTP は、セキュアファイル転送プロトコル (SFTP) を使用して Amazon S3 との間でファイルを直接転送できるフルマネージドサービスとして、2018 年 11 月にリリースされました。
本日、サービスを拡張して、FTPS および FTP のサポートを追加することを発表します。これにより、既存の AWS Transfer for SFTP サービスに加えて、SSL を介したファイル転送プロトコル (FTPS) および AWS での FTP ワークロードを簡単に移行して安全に実行できます。Amazon S3 の SFTP、FTPS、および FTP ベースの転送をサポートする「AWS Transfer Family」も発表します。これは AWS Transfer for SFTP、FTPS、および FTP を総称したものです。
一部のソフトウェアアーカイブおよび科学研究用アプリケーションは FTP を使用してソフトウェアアーティファクトやパブリックデータセットを配信し、CRM、ERP、およびサプライチェーンアプリケーションは FTPS を使用して機密データを転送します。既存のアプリケーションの多くは、FTP または FTPS から SFTP に切り替えることができません。これは、既存のアプリケーションとプロセス (特にサードパーティが携わっているもの) を変更する必要があり、非現実的または実行不可能であることが多いためです。お客様は、既存の統合やエンドユーザーを混乱させることなくファイル転送プラットフォームを移行する、簡単で安全な方法を模索しています。このような理由により、AWS Transfer for FTPS と AWS Transfer for FTP をリリースします。
SFTP と FTPS/FTP の基本的な違い
チュートリアルを開始する前に、SFTP と FTPS/FTP の違いについて少しお話ししましょう。これらは実際には異なるプロトコルですが、「File Transfer」と同じ様に機能します。
- Secure File Transfer Protocol (SFTP) – Internet Engineering Task Force (IETF) によって SSH 2.0 の拡張バージョンとして定義され、SSH 経由でのファイル転送と、Transport Layer Security (TLS) および VPN アプリケーションでの使用を可能にします。
- ファイル転送プロトコル (FTP) – 当初は RFC114 によって定義され、TCP/IP ベースでは RFC765 および RFC959 に置き換えられました。
- SSL/TLS 経由のファイル転送プロトコル (FTPS) – SSL/TLS による FTP 通信の暗号化に使われます。
これまで、複数のプロトコルを必要とするお客様は、SFTP のサービスを使用しているか、このリリースを待っていました。この発表により、3 つのプロトコルのいずれかを使用してきたお客様は、エンドツーエンドのファイル転送のニーズに合わせて AWS のサービスに移行して活用できます。これらの新しいプロトコルが利用可能になると、データへより容易にアクセスできるようになりますが、SFTP で使えたのと同じオプションが FTPS および FTP で使用でき、アクセスを安全に保つことができます。利用できるアクセス制御機能には、IAM ロールとポリシーの使用、S3 の論理ディレクトリ、およびセキュリティグループが含まれます。
チュートリアル
このチュートリアルでは、完全マネージド型の FTP サーバーを作成するためのステップバイステップガイドを提供します。FTP サーバーには、AWS Direct Connect または VPN を含む VPC 内でのみアクセスできます。インターネット経由でアクセスする必要がある場合は、FTPS を使用できます。
AWS Transfer Family コンソールにアクセスすると、新しい AWS コンソールページが表示されます。開始するには、[Create server] をクリックします。
現在、プロトコルには 3 つのの選択肢があります– SFTP、FTPS と FTP です。
この例では、[FTP] を選択してチュートリアルを開始しましょう。[FTP] チェックボックスをオンにして、SFTP チェックボックスをオフにします。両方のプロトコルを同時に割り当てることができますが、ここではこのステップの新機能として FTP サーバーを作成しています。
[Next] をクリックします
次に、ID プロバイダーを割り当てる必要があります。ID プロバイダーは、FTP サーバーにログオンするときの認証に使用します。FTPS および FTP では、Amazon API Gateway が提供する Custom のみがサポートされています。API を呼び出すには、API Gateway エンドポイントである Invocation URL と IAM ロールを作成する必要があります。CloudFormation と yaml テンプレートを使用して Invocation URL を作成する方法を示したガイドラインはこちらをご覧ください。SFTP のみが有効なサーバーの場合は、サービス管理認証を選択して、サービス内の ID を保存および管理することもできます。
[Next] をクリックすると、エンドポイント設定ダイアログが表示されます。
FTP 用の VPC ホストエンドポイントとして選択できるのは、[VPC] のみです。インターネットからアクセスする必要がある場合は、セキュリティ上の理由から FTP ではなく FTPS を選択する必要があります。次に、エンドポイントをホストする適切な VPC とそのサブネットを選択します。
[Next] をクリックすると、次のダイアログが表示されます。次のステップはオプションです。IAM ロールを割り当てることで、CloudWatch ロギングを有効にできます。上記の CloudFormation テンプレートで作成した IAM ロールを使用するか、別のロールを使用できます。
これは SFTP 用であるため、サーバーホストキーのセクションはスキップします。
適切なタグを割り当てて、[Next] をクリックします。次に、[Create server] をクリックします。FTP サーバーが作成されます。
[Server ID] をクリックすると、FTP サーバーの詳細が表示されます。
FTP サーバーをテストする時が来ました!
[Action] から、[Test] を選択しましょう。[Username] には「myuser」と入力し、[Password] には「MySuperSecretPassword」と入力します。
FTP サーバーが ID プロバイダーと正常に統合された場合、HTTP 200 のステータスコードが返されます。
ID プロバイダーがすべて正しく統合されていることがわかったので、ftp クライアントを使用してテストしてみましょう。
これで、既存の Amazon S3 バケットに対して FTP クライアントを使用して cd/ls/put/get/rm 操作を実行できます。このチュートリアルでは、Amazon EC2 を使用します。上記で指定したサブネットにインスタンスがない場合はインスタンスを作成し、lftp クライアントをインストールします。
サーバーに接続するには、FTP サーバーのエンドポイント URL が必要です。取得するには、VPC Endpoint コンソールにアクセスする必要があります。インターネット向けの SFTP サーバーや FTPS サーバーを使用している場合は、この情報を AWS Transfer Family コンソールから直接取得できます。別のサブネットまたは他の VPC からエンドポイントにアクセスする場合は、Security Groups が TCP ポート 21 およびポート 8192-8200 を許可していることを確認してください。
次に、以下のコマンドで FTP サーバーへのログインを試行できます。
次のステップ
テスト用のユーザー名とパスワードは、CloudFormation が作成した Lambda 関数内のソースコードで、guided として指定されています。
ブログ記事「AWS Secrets Manager を使用して AWS Transfer for SFTP のパスワード認証を有効にする」は、認証データの管理方法を詳しく学ぶのに適しています。そして、この CloudFormation テンプレートを使用して、AWS Secrets Manager で API Gateway および Lambda 関数を作成します。
最後に、次の点にご注意ください。
- サポートされているのは、パッシブモードのみです。サービスはアウトバウンド接続を行いません。
- サポートされているのは、FTPS の Explicit モードのみです。サービスは暗黙モードをサポートしていません。
- ファイル名の変更はサポートされていますが、ディレクトリ (S3 BucketName) の名前変更はサポートされておらず、追加操作もサポートされていません
本日よりご利用いただけます
AWS Transfer for FTPS と AWS Transfer for FTP は、AWS Transfer for SFTP が現在提供されているすべてのリージョンでご利用いただけます。詳細については、製品ページとドキュメントもご覧ください。次の動画でデモを視聴することもできます。
– Kame;