

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

# AWS Transfer Family マネージドワークフロー
<a name="transfer-workflows"></a>

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

![管理されたワークフローがファイル処理をどのように支援するかを示すフロー図。](http://docs.aws.amazon.com/ja_jp/transfer/latest/userguide/images/workflows-diagram.png)


マネージドワークフローは、ファイル処理タスクをオーケストレーションすることで、ダウンストリームのアプリケーションで消費される前にデータを前処理するのに役立ちます。このようなファイル処理タスクには以下が含まれる場合があります。
+ ファイルをユーザー固有のフォルダーに移動します。
+ ワークフローの一部としてファイルを復号します。
+ ファイルのタグ付け
+  AWS Lambda 関数を作成してワークフローにアタッチすることで、カスタム処理を実行します。
+ ファイルが正常に転送されたら通知を送信する。(このユースケースの詳細については、[AWS Transfer Family 「マネージドワークフローを使用してファイル配信通知をカスタマイズ](https://aws.amazon.com/blogs/storage/customize-file-delivery-notifications-using-aws-transfer-family-managed-workflows/)する」を参照してください。)

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

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

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

1. Transfer Familyがワークフローを実行するための実行ロールを設定します。詳細については、「[ワークフローの IAM ポリシー](workflow-execution-role.md)」を参照してください。

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

**関連情報**
+ ワークフローの実行を監視するには、[Transfer Family サーバーの CloudWatch メトリクスの使用](metrics.md)を参照してください。
+ 詳細な実行ログとトラブルシューティング情報については、[Amazon CloudWatch を使ってワークフロー関連のエラーをトラブルシューティングする](workflow-issues.md#workflows-cloudwatch-errors)を参照してください。
+ Transfer Family は、ブログ投稿と、ファイル転送ソリューションの構築を案内するワークショップを提供します。このソリューションは、 AWS Transfer Family マネージド SFTP/FTPS エンドポイントに 、ユーザー管理に Amazon Cognito と DynamoDB を活用します。

  ブログ記事は、 [AWS Transfer Family および Amazon S3 での ID プロバイダーとしての Amazon Cognito Amazon S3](https://aws.amazon.com/blogs/storage/using-amazon-cognito-as-an-identity-provider-with-aws-transfer-family-and-amazon-s3/)の使用で入手できます。ワークショップの詳細については、[こちらを参照してください](https://catalog.workshops.aws/transfer-family-sftp/en-US)。
+ 次の動画では Transfer Family マネージドワークフローについて簡単に紹介しています。  
[![AWS Videos](http://img.youtube.com/vi/t-iNqCRospw/0.jpg)](http://www.youtube.com/watch?v=t-iNqCRospw)
+ 次のワークショップでは、外部 SFTP サーバーから Amazon S3 へのファイル転送と、それらのファイルの一般的な前処理と後処理を含む、完全に自動化されたイベント駆動型ワークフローを構築するための実践的なラボを提供します。[イベント駆動型 MFT ワークショップ](https://catalog.us-east-1.prod.workshops.aws/workshops/e55c90e0-bbb0-47e1-be83-6bafa3a59a8a/en-US)です。

  この動画では、このワークショップのウォークスルーを紹介します。  
[![AWS Videos](http://img.youtube.com/vi/oojopisG4lA/0.jpg)](http://www.youtube.com/watch?v=oojopisG4lA)

**Topics**
+ [ワークフローを作成する](create-workflow.md)
+ [事前定義されたステップを使用する](nominal-steps-workflow.md)
+ [カスタムのファイル処理ステップを使用してください。](custom-step-details.md)
+ [ワークフローの IAM ポリシー](workflow-execution-role.md)
+ [ワークフローの例外処理](#exception-workflow)
+ [ワークフロー実行のモニタリング](cloudwatch-workflow.md)
+ [テンプレートからワークフローを作成する](workflow-template.md)
+ [Transfer Family サーバーからワークフローを削除する](#remove-workflow-association)
+ [マネージドワークフローの制限事項と機能制限](#limitations-workflow)

マネージドワークフローを開始する際のヒントについては、次のリソースを参照してください。
+ [AWS Transfer Family マネージドワークフロー](https://www.youtube.com/watch?v=t-iNqCRospw)デモビデオ
+ [AWS Transfer Family ワークフローを使用したクラウドネイティブなファイル転送プラットフォームの構築](https://aws.amazon.com/blogs/architecture/building-a-cloud-native-file-transfer-platform-using-aws-transfer-family-workflows/)に関するブログ記事

## ワークフローの例外処理
<a name="exception-workflow"></a>

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

以下のワークフロー例には、2 つのステップが含まれている：
+ アップロードされたファイルが CSV 形式かどうかをチェックする、ごく普通のステップの 1 つです。
+ アップロードされたファイルが CSV 形式でない場合に電子メールを送信する例外処理ステップで、通常のステップは失敗します。

例外処理ステップを開始するには、公称ステップの AWS Lambda 関数が で応答する必要があります`Status="FAILURE"`。ワークフローにおけるエラー処理の詳細については、[カスタムのファイル処理ステップを使用してください。](custom-step-details.md) を参照してください。

![AWS Transfer Family コンソール。1 つの名目上のステップと 1 つの例外処理ステップを含むワークフローの例を示します。](http://docs.aws.amazon.com/ja_jp/transfer/latest/userguide/images/workflow-exception-sample.png)


## Transfer Family サーバーからワークフローを削除する
<a name="remove-workflow-association"></a>

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

------
#### [ Console ]

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

1. [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/) で AWS Transfer Family コンソールを開きます。

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

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

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

1. 「**追加情報の編集**」ページの「**管理されたワークフロー**」セクションで、すべての設定の情報をクリアします。
   + ワークフローのリストから **[ファイルアップロードを完了するワークフロー]** のダッシュ（-）を選択します。
   + まだクリアされていない場合は、**[部分ファイルアップロード用ワークフロー]** のワークフローリストからダッシュ（-）を選択します。
   +  **[マネージドワークフロー実行ロール]** のロールのリストからダッシュ (-) を選択します。

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

   画面は以下のようになるはずです。  
![管理ワークフローペインには、クリアされたすべてのパラメータが表示されます。](http://docs.aws.amazon.com/ja_jp/transfer/latest/userguide/images/workflows-remove-from-server.png)

1. 下にスクロールし、「**保存**」を選択して変更を保存します。

------
#### [ 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":[]}'
```

------

## マネージドワークフローの制限事項と機能制限
<a name="limitations-workflow"></a>

**制限事項**

現時点では AWS Transfer Familyのアップロード後処理ワークフローに以下の制限事項が適用されます。
+ クロスアカウント関数とクロスリージョン AWS Lambda 関数はサポートされていません。ただし、 AWS Identity and Access Management (IAM) ポリシーが正しく設定されていれば、アカウント間でコピーできます。
+ すべてのワークフローステップで、ワークフローがアクセスする Amazon S3 バケットは、ワークフロー自体と同じリージョンにある必要があります。
+ 復号ステップでは、復号先がリージョンとバッキングストアのソースと一致する必要があります (例えば、復号するファイルが Amazon S3 に保存されている場合、指定された宛先も Amazon S3 にある必要がある)。
+ 非同期カスタムステップのみがサポートされます。
+ カスタムステップタイムアウトは概算です。つまり、指定された時間よりも若干タイムアウトに時間がかかる可能性があります。さらに、ワークフローは Lambda 関数に依存します。したがって、実行中に関数が遅延した場合、ワークフローは遅延を認識しません。
+ スロットリング制限を超えた場合、Transfer Family はワークフローオペレーションをキューに追加しません。
+ ワークフローは、サイズが 0 のファイルに対しては開始されません。サイズが 0 より大きいファイルは、関連するワークフローを開始します。
+ AS2 プロトコルを使用する Transfer Family サーバーにファイル処理ワークフローをアタッチできますが、AS2 メッセージはサーバーにアタッチされたワークフローを実行しません。

**機能制限**

 さらに、Transfer Family のワークフローには、次の機能制限が適用されます。
+ リージョンごと、アカウントごとのワークフロー数は 10 に制限されています。
+ カスタムステップの最大タイムアウト値は 30 分です。
+ ワークフローの最大ステップ数は 8 です。
+ ワークグループあたりのタグの最大数は 50 です。
+ 復号ステップを含む同時実行の最大数は、ワークフローあたり 250 です。
+ Transfer Family サーバー 1 台につき、1 ユーザーにつき最大 3 つの PGP 秘密鍵を保存できます。
+ 復号化されたファイルの最大サイズは 10 GB です。
+ 新しい実行速度は、バースト容量が 100 でリフィル率が 1 の「[トークンバケット](https://en.wikipedia.org/wiki/Token_bucket)」システムを使用して調整しています。
+ サーバーからワークフローを削除し、新しいワークフローに置き換える場合、またはサーバー構成を更新する場合（ワークフローの実行ロールに影響する）、新しいワークフローを実行する前に約 10 分間待機する必要があります。Transfer Family サーバーはワークフローの詳細をキャッシュし、サーバーがキャッシュを更新するのに10分かかります。

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