Step Functions ワークフローのユースケースを確認する - AWS Step Functions

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

Step Functions ワークフローのユースケースを確認する

で AWS Step Functionsでは、時間の経過とともに状態を管理し、受信データに基づいて意思決定を行い、エラーや例外を処理するワークフローを構築できます。

データ処理

さまざまなソースからのデータ量が増えるにつれて、組織は情報に基づいたビジネス上の意思決定を迅速に行えるように、データをより迅速に処理する必要があります。大規模なデータを処理するには、モバイルデバイス、アプリケーション、衛星、マーケティングと販売、運用データ保存、インフラストラクチャなどから受け取る情報管理のためにリソースを伸縮自在にプロビジョンする必要があります。

水平スケーリングと耐障害性ワークフローにより、Step Functions は数百万の同時実行を運用できます。並列ワークフローの状態 ステートでの並列実行を使用して、 がデータをより迅速に処理します。または、 マップワークフローの状態状態の動的並列処理を使用して、Amazon S3 バケットなどのデータストア内の大きなデータセットを反復処理することもできます。Step Functions は、失敗した実行を再試行したり、複雑なエラー処理プロセスを管理せずにエラーを処理する特定のパスを選択したりすることもできます。

Step Functions は、 が提供する他のデータ処理サービスと直接統合されます。 AWS 例えば、 AWS Batch バッチ処理用、Amazon EMR ビッグデータ処理用、 AWS Glue データ準備用の Athena、データ分析用の Athena、および AWS Lambda コンピューティング用。

顧客が Step Functions を使用して達成するデータ処理ワークフローのタイプの例を次に示します。

ファイル、動画、およびイメージ処理

  • 動画ファイルを収集し、携帯電話、ラップトップ、テレビなど、表示されるデバイスに最適な他のサイズや解像度に変換します。

  • ユーザーがアップロードした大量の写真のコレクションを撮り、サムネイルやさまざまな解像度の画像に変換して、ユーザーのウェブサイトに表示できます。

  • CSV ファイルなどの半構造化データを取得し、それを請求書などの非構造化データと組み合わせて、ビジネスステークホルダーに毎月送信されるビジネスレポートを作成します。

  • 衛星から収集された地球観測データを取得し、それを互いに合う形式に変換し、地球上で収集された他のデータソースを追加してインサイトを高めます。

  • 製品のさまざまな輸送モードから輸送ログを取得し、モンテカルロシミュレーションを使用して最適化を求め、商品の出荷に関して頼りにされている組織や人にレポートを送り返します。

抽出、変換、ロード (ETL) ジョブを調整します。

  • を使用して、一連のデータ準備ステップを通じて、販売機会レコードとマーケティングメトリクスデータセットを組み合わせる AWS Glue、、および は、組織全体で使用できるビジネスインテリジェンスレポートを生成します。

  • ビッグデータ処理用の Amazon EMRクラスターを作成、開始、および終了します。

バッチ処理とハイパフォーマンスコンピューティング (HPC) ワークロード:

  • 生の全ゲノム配列をバリアントコールで処理するゲノム二次解析パイプラインを構築します。生ファイルをリファレンスシーケンスに整列させ、動的並列処理を使用して、指定された染色体リストのバリアントを呼び出します。

  • さまざまな電気化学物質を使用してさまざまなレイアウトをシミュレーションして、次のモバイルデバイスやその他の電子機器の生産効率を見出します。さまざまなシミュレーションを通じてワークロードの大規模なバッチ処理を実行し、最適な設計を実現します。

機械学習

機械学習は、組織が収集したデータをすばやく分析してパターンを特定し、最小限の人的介入で意思決定を行う方法を提供します。機械学習は、トレーニングデータ と呼ばれる最初のデータセットから始まります。トレーニングデータは、機械学習モデルの予測精度を高め、モデルが学習する基盤として機能します。トレーニング済みモデルがビジネスニーズを満たすほど正確であるとみなされたら、モデルを本番環境にデプロイできます。AWS Github の Step Functions データサイエンスプロジェクトは、Amazon と SageMaker Step Functions を使用してデータを前処理し、トレーニングし、モデルを公開するワークフローを提供するオープンソースライブラリです。

既存のデータセットを前処理することは、組織が頻繁にトレーニングデータを作成する方法です。この前処理方法では、画像内のオブジェクトにラベルを付けたり、テキストに注釈を付けたり、音声を処理したりするなどの情報が追加されます。使用できるデータを前処理するには AWS Glue、または Jupyter Notebook で実行されるノートブック SageMaker インスタンスを作成できます。データの準備ができたら、Amazon S3 にアップロードしてアクセスできます。機械学習モデルがトレーニングされると、各モデルのパラメータを調整して精度を向上させることができます。

Step Functions は、 で end-to-end 機械学習ワークフローをオーケストレーションする方法を提供します SageMaker。これらのワークフローには、データの前処理、後処理、特徴エンジニアリング、データ検証、およびモデル評価が含まれます。モデルが本番環境にデプロイされたら、新しいアプローチを改良してテストし、ビジネス成果を継続的に改善できます。本番環境に対応したワークフローを Python で直接作成することも、Step Functions データサイエンスを使用してそのワークフローをコピーSDKしたり、新しいオプションを試したり、改良されたワークフローを本番環境に配置することもできます。

お客様が Step Functions を使用する機械学習ワークフローには、次のようなものがあります。

不正検出

  • 信用詐欺などの不正取引を特定し、防止します。

  • トレーニング済みの機械学習モデルを使用して、アカウントの乗っ取りを検出して防止します。

  • 偽アカウントの作成など、プロモーション上の不正使用を特定して、すぐにアクションを起こすことができます。

パーソナライゼーションとレコメンデーション

  • 関心を引き付けると予測される内容に基づいて、ターゲットを絞った顧客に製品をレコメンデーションします。

  • 顧客がアカウントを無料利用枠から有料サブスクリプションにアップグレードするかどうかを予測します。

データエンリッチメント

  • データエンリッチメントを前処理の一部として使用して、より正確な機械学習モデルのためのより良いトレーニングデータを提供します。

  • テキストとオーディオの抜粋に注釈を付けて、皮肉やスラングなどの構文情報を追加します。

  • イメージ内の追加のオブジェクトにラベル付けをし、オブジェクトがリンゴ、バスケットボール、岩、動物であるかどうかなど、モデルの学習に必要な重要な情報を提供します。

マイクロサービスのオーケストレーション

Step Functions には、マイクロサービスワークフローを管理するオプションが用意されています。

マイクロサービスアーキテクチャは、アプリケーションを疎結合サービスに分割します。スケーラビリティの向上、耐障害性の向上、市場投入までの時間の短縮などの利点があります。各マイクロサービスは独立しているため、アプリケーション全体をスケールすることなく、単一のサービスまたは関数を簡単にスケールアップできます。個々のサービスは疎結合されているため、独立したチームはアプリケーション全体を理解することなく、単一のビジネスプロセスに集中できます。

また、マイクロサービスはビジネスニーズに合った個々のコンポーネントを提供するため、ワークフロー全体を書き換えることなく柔軟性が得られます。さまざまなチームが、選択したプログラミング言語とフレームワークを使用してマイクロサービスを操作できます。

長時間実行されるワークフローでは、 で標準ワークフローを使用できます。 AWS Fargate コンテナで実行されているアプリケーションをオーケストレーションするための 統合。即時対応が必要な短期間の大量のワークフローには、同期 Express ワークフローが最適です。例としては、ウェブベースのアプリケーションやモバイルアプリケーションがあり、レスポンスを返す前に一連のステップを完了する必要があります。Amazon API Gateway から同期 Express ワークフローを直接トリガーでき、ワークフローが完了またはタイムアウトするまで接続は開いたままになります。ただちに応答を必要としない短期間のワークフローの場合、Step Functions は非同期 Express ワークフローを提供します。

Step Functions を使用するAPIオーケストレーションの例は次のとおりです。

同期ワークフローまたはリアルタイムワークフロー

  • 従業員の姓の更新や変更の即時表示など、レコード内の値を変更します。

  • 商品の数量の追加、削除、変更など、チェックアウト時に注文を更新し、更新されたカートを顧客にすぐに表示します。

  • クイック処理ジョブを実行し、結果をすぐにリクエスタに戻します。

コンテナオーケストレーション

  • Amazon Elastic Kubernetes Service を使用して Kubernetes で、または Fargate を使用して Amazon Elastic Container Service (ECS) でジョブを実行し、他の と統合する AWS 同じワークフローSNSの一部として Amazon で通知を送信するなどの サービス。

IT およびセキュリティのオートメーション

Step Functions を使用すると、ワークフローのエラーに自動的にスケーリングして対応するワークフローを作成できます。ワークフローは、失敗したタスクを自動的に再試行、エクスポネンシャルバックオフを使用してエラーを処理できます。

エラー処理は、ソフトウェアのアップグレードとパッチ適用、脆弱性に対処するためのセキュリティアップデートのデプロイ、インフラストラクチャの選択、データの同期、サポートチケットのルーティングなど、複雑で時間のかかるオペレーションを管理する IT オートメーションシナリオで不可欠です。反復的で時間のかかるタスクを自動化することで、組織は日常的なオペレーションを迅速かつ一貫して大規模に完了できます。注力は、機能開発、複雑なサポートリクエスト、イノベーションなどの戦略的取り組みに移行し、運用上の需要を満たします。

ワークフローを進めるために人間による介入が必要な場合、例えば大幅なクレジット増加を承認する場合、Step Functions で分岐ロジックを定義して、制限内のリクエストが自動的に承認され、制限のリクエストには人間による承認が必要です。人間による承認が必要な場合、Step Functions はワークフローを一時停止し、人間の応答を待ってから、応答を受信した後でワークフローを続行できます。

自動化ワークフローの例には、次のようなものがあります。

IT オートメーション

  • オープンSSHポート、低ディスク容量、Amazon S3 バケットへのパブリックアクセスが付与されている場合などのインシデントを自動修正します。

  • のデプロイを自動化する AWS CloudFormation StackSets.

セキュリティオートメーション

  • ユーザーおよびユーザーアクセスキーが公開されているシナリオへの応答を自動化します。

  • アクションを特定の に制限するなど、ポリシーアクションに従ってセキュリティインシデントレスポンスを自動的に修正しますARNs。

  • フィッシングメールを受信してから数秒以内に、従業員に警告します。

[Human Approval] (ヒューマン承認)

  • 機械学習モデルトレーニングを自動化し、更新されたモデルをデプロイする前にデータサイエンティストからモデルの承認を取得します。

  • 感情分析に基づいて顧客フィードバックのルーティングを自動化し、否定的なコメントがレビューのために迅速にエスカレーションされるようにします。