翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Event Fork Pipelines のユースケースの例
次のシナリオでは、Event Fork Pipelines を使用する AWS イベント駆動型のサーバーレス e コマースアプリケーションについて説明します。この例の e コマースアプリケーション
この e コマースアプリケーションは、APIGateway によってRESTfulAPIホストされ、 AWS Lambda 関数 によってバックアップされた を介して購入者から注文を受け取りますCheckoutApiBackendFunction
。この関数は、受信したすべての注文を という名前の Amazon SNSトピックに発行します。CheckoutEventsTopic
これにより、注文は 4 つの異なるパイプラインにファンアウトされます。
最初のパイプラインは、e コマースアプリケーションの所有者によって設計および実装された通常のチェックアウト処理パイプラインです。このパイプラインには、受信したすべての注文をバッファCheckoutQueue
リングする Amazon SQSキュー、これらの注文を処理するためにキューをポーリングCheckoutFunction
する という名前の AWS Lambda 関数、およびすべての配置された注文を安全に保存する DynamoDB テーブルCheckoutTable
があります。
AWS Event Fork Pipelines の適用
e コマースアプリケーションのコンポーネントは、主要ビジネスロジックを処理します。ただし、e コマースアプリケーションの所有者は以下にも対処する必要があります。
-
コンプライアンス - 安全な、圧縮されたバックアップの保管時の暗号化と機密情報のサニタイズ
-
レジリエンス - フルフィルメントプロセスの中断が発生した場合の最新の注文の再生
-
検索可能性 - 受注に対する分析の実行とメトリクスの生成
このイベント処理ロジックを実装する代わりに、アプリケーション所有者は AWS Event Fork Pipelines を CheckoutEventsTopic
Amazon SNSトピックにサブスクライブできます。
-
イベントのストレージおよびバックアップパイプライン は、データを変換してクレジットカードの詳細を削除し、データを 60 秒間バッファし、 を使用して圧縮しGZIP、Amazon S3 のデフォルトのカスタマーマネージドキーを使用して暗号化するように構成されています。このキーは AWS Key Management Service () によって管理 AWS され、 によって駆動されますAWS KMS。
詳細については、「Amazon Data Firehose デベロッパーガイド」の「送信先 に Amazon S3 を選択」、「Amazon Data Firehose データ変換」、「設定の設定」を参照してください。
-
イベントの検索および分析パイプライン には、30 秒間のインデックス再試行期間、検索ドメインでインデックスの作成に失敗した注文を保存するためのバケット、およびインデックスを作成した注文のセットを制限するためのフィルターポリシーが設定されています。
詳細については、「Amazon Data Firehose デベロッパーガイド」の「送信先の OpenSearch サービスの選択」を参照してください。
-
イベントの再生パイプライン は、E コマースアプリケーション所有者によって設計および実装された通常の注文処理パイプラインの Amazon SQSキュー部分で設定されます。
詳細については、「Amazon Simple Queue Service デベロッパーガイド」の「キュー名」およびURL「」を参照してください。
次のJSONフィルターポリシーは、イベント検索と分析パイプラインの設定で設定されます。これは、合計金額が 100 USD 以上の受注とのみ一致します。詳細については、「Amazon SNS メッセージフィルタリング」を参照してください。
{
"amount": [{ "numeric": [ ">=", 100 ] }]
}
AWS Event Fork Pipelines パターンを使用すると、e コマースアプリケーションの所有者は、イベント処理の識別不能ロジックのコーディングに従うことが多い開発オーバーヘッドを回避できます。代わりに、 AWS Event Fork Pipelines を から直接 AWS Serverless Application Repository にデプロイできます AWS アカウント。