翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SUS03-BP01 非同期ジョブとスケジュールされたジョブのソフトウェアとアーキテクチャを最適化する
キュー駆動型などの効率的なソフトウェアおよびアーキテクチャパターンを使用して、デプロイされたリソースの使用率を一貫して高く維持します。
一般的なアンチパターン:
-
予期せぬ需要の急増に対応するために、クラウドワークロードのリソースを過剰にプロビジョニングしています。
-
お使いのアーキテクチャでは、メッセージングコンポーネントによって非同期メッセージの送信者と受信者が切り離されていません。
このベストプラクティスを活用するメリット:
-
効率的なソフトウェアとアーキテクチャのパターンは、ワークロード内の未使用リソースを最小限に抑え、全体的な効率を向上させます。
-
非同期メッセージの受信とは無関係に処理をスケールできます。
-
メッセージングコンポーネントを使用することで、可用性要件が緩和され、より少ないリソースで対応できるようになります。
このベストプラクティスを活用しない場合のリスクレベル: 中
実装のガイダンス
イベント駆動型
ワークロードコンポーネントの要件を理解し、リソース全体の利用率を高めるアーキテクチャパターンを採用します。不要になったコンポーネントは廃止します。
実装手順
-
ワークロードの需要を分析し、それらに対応する方法を決定します。
-
同期応答を必要としないリクエストやジョブには、キュー駆動型アーキテクチャと自動スケーリングワーカーを使用して使用率を最大化します。キュー駆動型アーキテクチャを検討する場合の例を次に示します。
キューイングメカニズム 説明 AWS Batch ジョブは、コンピューティング環境で実行するようにスケジュールされるまで、ジョブキューに送信されます。
Amazon インスタンスSQSとスポットインスタンスをペアリングして、耐障害性と効率的なアーキテクチャを構築します。
-
いつでも処理できるリクエストやジョブについては、スケジューリングメカニズムを利用してジョブをバッチ処理することで効率化を図ります。でのスケジューリングメカニズムの例をいくつか示します AWS。
スケジューリングメカニズム 説明 Amazon EventBridge
の機能。スケジュールされたタスクを大規模に作成、実行、管理できます。 でクローラーとジョブの時間ベースのスケジュールを定義します AWS Glue。
Amazon ECSは、スケジュールされたタスクの作成をサポートしています。スケジュールされたタスクは Amazon EventBridge ルールを使用して、スケジュールまたは EventBridge イベントへの応答でタスクを実行します。
Amazon および Amazon Relational Database Service インスタンスの開始EC2および停止スケジュールを設定します。
-
アーキテクチャでポーリングやウェブフックのメカニズムを使用している場合、それらをイベントに置き換えます。イベント駆動型アーキテクチャを使用して、高効率のワークロードを構築します。
-
AWSでサーバーレス
を活用して、過剰にプロビジョニングされたインフラストラクチャを排除します。 -
アーキテクチャの個別のコンポーネントの適切なサイズを設定し、リソースが入力を待ってアイドル状態になるのを防ぎます。
-
または AWS Cost Explorerまたは AWS Compute Optimizer
で適切なサイズ設定に関する推奨事項を使用して、適切なサイズ設定の機会を特定できます。 -
詳細については、「適切なサイジング: ワークロードに適したインスタンスのプロビジョニング」を参照してください。
-
リソース
関連ドキュメント:
関連動画:
関連する例: