AWS Transfer Family マネージドワークフロー - AWS Transfer Family

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

AWS Transfer Family マネージドワークフロー

AWS Transfer Family は、ファイル処理用のマネージドワークフローをサポートしています。管理されたワークフローを使えば、SFTP、FTPS、または FTP でファイルが転送された後に、ワークフローを開始することができます。この機能を使用すると、ファイル処理に必要なすべてのステップを調整することで、 business-to-business (B2B) ファイル交換のコンプライアンス要件を安全かつコスト効率よく満たすことができます。さらに、 end-to-end 監査と可視性の利点もあります。


            管理されたワークフローがファイル処理をどのように支援するかを示すフロー図。

マネージドワークフローは、ファイル処理タスクをオーケストレーションすることで、ダウンストリームのアプリケーションで消費される前にデータを前処理するのに役立ちます。このようなファイル処理タスクには以下が含まれる場合があります。

  • ファイルをユーザー固有のフォルダーに移動します。

  • ワークフローの一部としてファイルを復号化します。

  • ファイルのタグ付け

  • AWS Lambda 関数を作成してワークフローにアタッチすることで、カスタム処理を実行します。

  • ファイルが正常に転送されたら通知を送信する。(このユースケースを詳しく説明するブログ記事については、AWS Transfer Family 「マネージドワークフローを使用してファイル配信通知をカスタマイズする」を参照してください。)

組織内の複数の事業部門にまたがる一般的なアップロード後のファイル処理タスクを迅速に複製して標準化するには、Infrastructure as Code (IaC) を使用してワークフローを展開できます。完全にアップロードされたファイルに対して開始する管理ワークフローを指定できます。また、セッションが途中で切断されたために部分的にしかアップロードされないファイルに対して、別の管理ワークフローを開始するように指定することもできます。組み込みの例外処理機能により、ファイル処理の結果にすばやく対応できるとともに、失敗の処理方法を制御できます。さらに、ワークフローの各ステップでは詳細なログが生成され、それを監査してデータの系統を追跡できます。

始めるには、以下のタスクを実行する:

  1. 要件に基づいて、コピー、タグ付け、およびその他のステップなどの前処理アクションを含めるようにワークフローを設定します。詳細については、「ワークフローを作成する」を参照してください。

  2. Transfer Familyがワークフローを実行するための実行ロールを設定します。詳細については、「ワークフローの IAM ポリシー」を参照してください。

  3. ワークフローをサーバーにマップすると、ファイルの到着時に、このワークフローで指定されたアクションがリアルタイムで評価され、開始されます。詳細については、「 ワークフローの設定と実行」を参照してください。

関連情報

  • ワークフローの実行を監視するには、Transfer Family の CloudWatch メトリクスの使用を参照してください。

  • 詳細な実行ログとトラブルシューティング情報については、Amazon を使用したワークフロー関連のエラーのトラブルシューティング CloudWatchを参照してください。

  • 参加できるワークショップを開催しています。このワークショップでは、ファイル転送ソリューションを構築できます。このソリューションは、 をマネージド SFTP/FTPS エンドポイント AWS Transfer Family に、Amazon Cognito と DynamoDB をユーザー管理に活用します。このワークショップの詳細については、「こちら」をご覧ください。

  • 次の動画では Transfer Family マネージドワークフローについて簡単に紹介しています。

マネージドワークフローを開始する際のヒントについては、次のリソースを参照してください。

ワークフローの例外処理

ワークフローの実行中にエラーが発生した場合、指定した例外処理ステップが実行されます。ワークフローのエラー処理手順は、ワークフローの指名手順を指定するのと同じ方法で指定します。たとえば、受信ファイルを検証するためのカスタム処理をわずかな手順で設定したとします。ファイルの検証に失敗した場合、例外処理ステップで管理者にメールを送信できます。

以下のワークフロー例には、2 つのステップが含まれている:

  • アップロードされたファイルが CSV 形式かどうかをチェックする、ごく普通のステップの 1 つです。

  • アップロードされたファイルが CSV 形式でない場合に電子メールを送信する例外処理ステップで、通常のステップは失敗します。

例外処理ステップを開始するには、わずかなステップの AWS Lambda 関数が で応答する必要がありますStatus="FAILURE"。ワークフローにおけるエラー処理の詳細については、カスタムのファイル処理ステップを使用してください。 を参照してください。


                AWS Transfer Family コンソール。1 つのわずかなステップと 1 つの例外処理ステップを含むワークフローの例を示します。

Transfer Family サーバーからワークフローを削除する

ワークフローを Transfer Family サーバーに関連付けていて、その関連付けを削除したい場合は、コンソールを使用するか、プログラムを使用して削除できます。

Console
Transfer Family サーバーからワークフローを削除するには
  1. https://console.aws.amazon.com/transfer/ で AWS Transfer Family コンソールを開きます。

  2. 左側のナビゲーションペインで [Servers] (サーバー) を選択します。

  3. サーバー ID」欄でサーバーの識別子を選択します。

  4. サーバーの詳細ページで下にスクロールして [Additional details] (その他の詳細) セクションで [Edit] (編集) を選択します。

  5. 追加情報の編集」ページの「管理されたワークフロー」セクションで、すべての設定の情報をクリアします。

    • ワークフローのリストから「ファイルアップロードを完了するワークフロー」のダッシュ(-)を選択します。

    • まだクリアされていない場合は、「部分ファイルアップロード用ワークフロー」のワークフローリストからダッシュ(-)を選択します。

    • マネージドワークフロー実行ロール」のロールのリストからダッシュ (-) を選択します。

    ダッシュが表示されていない場合は、表示されるまで上にスクロールしてください。ダッシュは各メニューの最初の値です。

    画面は以下のようになるはずです。

    
                                    「マネージドワークフロー」ペインには、すべてのパラメーターがクリアされていることが示されています。
  6. 下にスクロールし、「保存」を選択して変更を保存します。

CLI

update-server(または API のUpdateServer) 呼び出しを使用し、OnUploadおよびOnPartialUploadパラメータには空の引数を指定します。

から AWS CLI、次のコマンドを実行します。

aws transfer update-server --server-id your-server-id --workflow-details '{"OnPartialUpload":[],"OnUpload":[]}'

your-server-idをサーバーの ID に置き換えます。たとえば、サーバー ID がs-01234567890abcdefの場合、コマンドは次のようになります。

aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnPartialUpload":[],"OnUpload":[]}'

マネージドワークフローの制限事項と機能制限

制限事項

現時点では AWS Transfer Family のアップロード後処理ワークフローに以下の制限事項が適用されます。

  • クロスアカウントおよびクロスリージョン AWS Lambda 関数はサポートされていません。ただし、 AWS Identity and Access Management (IAM) ポリシーが正しく設定されていれば、アカウント間でコピーできます。

  • すべてのワークフローステップで、ワークフローがアクセスする Amazon S3 バケットは、ワークフロー自体と同じリージョンにある必要があります。

  • 復号ステップでは、復号化先がリージョンとバッキングストアのソースと一致する必要があります (たとえば、復号するファイルが Amazon S3 に保存されている場合、指定された宛先も Amazon S3 にある必要がある)。

  • 非同期カスタムステップのみがサポートされます。

  • カスタムステップタイムアウトは概算です。つまり、指定された時間よりも若干タイムアウトに時間がかかる可能性があります。さらに、ワークフローは Lambda 関数に依存します。したがって、実行中に関数が遅延した場合、ワークフローは遅延を認識しません。

  • スロットリング制限を超えた場合、Transfer Family はワークフローオペレーションをキューに追加しません。

  • ワークフローは、サイズが 0 のファイルに対しては開始されません。サイズが 0 より大きいファイルは、関連するワークフローを開始します。

機能制限

さらに、Transfer Family のワークフローには、次の機能制限が適用されます。

  • リージョンごと、アカウントごとのワークフロー数は 10 に制限されています。

  • カスタムステップの最大タイムアウト値は 30 分です。

  • ワークフローの最大ステップ数は 8 です。

  • ワークグループあたりのタグの最大数は 50 です。

  • 復号ステップを含む同時実行の最大数は、ワークフローあたり 250 です。

  • Transfer Family サーバー 1 台につき、1 ユーザーにつき最大 3 つの PGP 秘密鍵を保存できます。

  • 復号化されたファイルの最大サイズは 10 GB です。

  • 新しい実行速度は、バースト容量が 100 でリフィル率が 1 の「トークンバケット」システムを使用して調整しています。

  • サーバーからワークフローを削除し、新しいワークフローに置き換える場合、またはサーバー構成を更新する場合(ワークフローの実行ロールに影響する)、新しいワークフローを実行する前に約 10 分間待機する必要があります。Transfer Familyサーバーはワークフローの詳細をキャッシュし、サーバーがキャッシュを更新するのに10分かかります。

    さらに、アクティブなSFTPセッションからログアウトし、10分間の待ち時間の後にログインし直すと、変更を確認できます。