SUS03-BP01 非同期のジョブおよびスケジュールされたジョブ向けにソフトウェアとアーキテクチャを最適化する - AWS Well-Architected Framework

SUS03-BP01 非同期のジョブおよびスケジュールされたジョブ向けにソフトウェアとアーキテクチャを最適化する

キュー駆動型などの効率的なソフトウェアおよびアーキテクチャパターンを使用して、デプロイされたリソースの使用率を一貫して高く維持します。

一般的なアンチパターン:

  • 予期せぬ需要の急増に対応するために、クラウドワークロードのリソースを過剰にプロビジョニングしています。

  • お使いのアーキテクチャでは、メッセージングコンポーネントによって非同期メッセージの送信者と受信者が切り離されていません。

このベストプラクティスを活用するメリット:

  • 効率的なソフトウェアとアーキテクチャのパターンは、ワークロード内の未使用リソースを最小限に抑え、全体的な効率を向上させます。

  • 非同期メッセージの受信とは無関係に処理を拡張できます。

  • メッセージングコンポーネントを使用することで、可用性要件が緩和され、より少ないリソースで対応できるようになります。

このベストプラクティスが確立されていない場合のリスクレベル: ミディアム

実装のガイダンス

イベント駆動型アーキテクチャなどの効率的なアーキテクチャパターンを使用することで、コンポーネントを均等に使用し、ワークロードの過剰プロビジョニングを最小限に抑えることができます。効率的なアーキテクチャパターンを使用することで、時間の経過に伴う需要の変化により、使用されずにアイドル状態になるリソースを最小限に抑えることができます。

ワークロードコンポーネントの要件を理解し、リソース全体の利用率を高めるアーキテクチャパターンを採用します。不要になったコンポーネントは廃止します。

実装手順

  • ワークロードの需要を分析し、それらに対応する方法を決定します。

  • 同期応答を必要としないリクエストやジョブには、キュー駆動型アーキテクチャとオートスケーリングワーカーを使用して使用率を最大化します。キュー駆動型アーキテクチャを検討する場合の例を次に示します。

    Queuing mechanism Description

    AWS Batch ジョブキュー

    AWS Batch ジョブはジョブキューに送信され、コンピューティング環境で実行されるようにスケジューリングされるまで、そこに留まります。

    Amazon Simple Queue Service および Amazon EC2 スポットインスタンス

    Amazon SQS とスポットインスタンスのペアリングにより、耐障害性が高く効率的なアーキテクチャを構築します。

  • いつでも処理できるリクエストやジョブについては、スケジューリングメカニズムを利用してジョブをバッチ処理することで効率化を図ります。AWS でのスケジューリングメカニズムの例を次に示します。

    Scheduling mechanism Description

    Amazon EventBridge Scheduler

    スケジュールされたタスクを大規模に作成、実行、管理できるようにするための Amazon EventBridge の機能です。

    AWS Glue の時間ベースのスケジュール

    AWS Glue で、クローラーやジョブに対して時間ベースのスケジュールを定義します。

    Amazon Elastic Container Service (Amazon ECS) のスケジュールされたタスク

    Amazon ECS では、スケジュールされたタスクの作成をサポートします。スケジュールされたタスクは、Amazon EventBridge ルールを使用して、スケジュールに従って、または EventBridge イベントへの応答としてタスクを実行します。

    Instance Scheduler

    Amazon EC2 および Amazon Relational Database Service インスタンスの開始および停止スケジュールを設定します。

  • ご使用のアーキテクチャでポーリングやウェブフックのメカニズムを使用している場合、それらをイベントに置き換えます。イベント駆動型アーキテクチャを使用して、効率性の高いワークロードを構築します。

  • AWS のサーバーレスを活用し、過剰にプロビジョニングされたインフラストラクチャを排除します。

  • アーキテクチャの個別のコンポーネントの適切なサイズを設定し、リソースが入力を待ってアイドル状態になるのを防ぎます。

リソース

関連するドキュメント:

関連動画: