キューベースのアーキテクチャ
Amazon SQS はフルマネージド型のメッセージキューのサービス
Amazon SQS はしばしば、AWS CLI や AWS SDK のスクリプトによるソリューションと共に編成され、ユーザーはデスクトップから AWS のコンポーネントと直接やりとりすることなしにアプリケーションをデプロイできます。AWS Batch のようなサービスマネージドなデプロイに対して、SQS や EC2 によるキューベースのアーキテクチャでは、セルフマネージドのコンピューティングインフラストラクチャを必要とします。
キューベースのアーキテクチャは疎結合ワークロードには最良ですが、密結合ワークロードに適用すると、たちまち複雑になってしまうことがあります。
リファレンスアーキテクチャ
図 3: 疎結合のワークロード用にデプロイされた Amazon SQS
ワークフローのステップ:
-
複数のユーザーが、AWS CLI や SDK でジョブを送信します。
-
ジョブが Amazon SQS のキューにメッセージとして追加されます。
-
EC2 インスタンスがキューをポーリングして、ジョブの処理を始めます。
-
Amazon SQS は、キューにあるメッセージ (ジョブ) の数に基づき、メトリクスを発行します。
-
キューが指定した長さよりも長くなくなったときに Auto Scaling に通知するための Amazon CloudWatch アラームが設定されます。Auto Scaling が EC2 インスタンスの数を増やします。
-
EC2 インスタンスがソースデータを引き出し、結果データを S3 バケットに保管します。