Q
oosky:
モノづくり総合プラットフォーム
検索
新規登録 / ログイン
AWS 落穂拾い (Service 間の連携)
[履歴]
[最終更新]
(2022/09/10 18:36:40)
プログラミング/IoT の関連商品 (Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。)
【永久保証付き】Arduino Uno
タミヤ 楽しい工作シリーズ No.104 ブルドーザー工作基本セット (70104)
ROSロボットプログラミングバイブル
スーパーマリオメーカー 2 -Switch
ルイージマンション3 -Switch
tybot
最近の投稿
Looker から Snowflake への OAuth 接続
Looker (Google Cloud core) 30日間 フリートライアル設定
AWS 落穂拾い (Security)
AWS 落穂拾い (Storage)
マイクロマウス
Step Functions
SQS
Amazon MQ
SNS
注目の記事
AWS Directory Service による Active Directory 利用の基本設定
Cloud Logging の基本的な使い方
AWS VPC 内の PrivateLink VPC Endpoint を VPN 接続された GCP VPC および別の AWS VPC から利用するための設定例
ディープラーニングの手法 (G検定)
ディープラーニングの社会実装に向けて (G検定)
Step Functions
Lambda 関数を組み合せてワークフロー化するサービスです。
What is AWS Step Functions?
JSON でステートマシンを記述します。
サンプルワークフローが多数 AWS 上に公開されています。
人間の承認フローを組込むこともできます。
Lambda Task
Activity Task
Service Task → サポートされている AWS サービスへの接続。
Lambda、AWS Batch、ECS task、
DynamoDB、
SQS、SNS、等 との統合も可能です。
Call other AWS services
注意: AWS Mechanical Turk はサポートされていません。
Wait Task
Lambda 関数単体と比較して、タイムアウトが 1 年と長く確保できます。
Quotas
Step Function (ステートマシン) から Step Function (別のステートマシン) を trigger することもできます。
Simple Workflow Service (AWS SWF)
Step Functions 以前から存在する、別のサービスです。
EC2 インスタンス上でワークフローを実行します。
人間の承認フローを組込むこともできます。
AWS Mechanical Turk が必要な場合は SWF を利用します。
Amazon SWF FAQs
Standard ワークフローと Express ワークフローがあります。
Standard vs. Express Workflows
SQS
最大メッセージサイズは 256 KB です。
Now Send Payloads up to 2GB with Amazon SQS
サイズが大きくなる場合は S3 へのポインタを利用します。
SQS FIFO
通常の SQS では FIFO が保証されないのに対し、SQS FIFO は保証します。
メッセージスループット
Standard queue が事実上無制限であるのに対し、FIFO queue は、API メソッド毎に 300 API call/秒 の制限があります。
メッセージをバッチ処理する batching 機能を使うことで、例えば 8 メッセージをバッチ処理すれば 8 * 300 で 2400 メッセージ/秒 のスループットとなります。
Quotas related to messages
SendMessageBatch
等。
冪等性 (Idempotency) は SQS 利用者側で担保します。
例: SQS を polling する consumer が DynamoDB にデータを追加する際は、Insert ではなく Upsert を利用するようにします。
Lambda Event Source Mapping で SQS queue を polling できます。
メッセージの visibility について
delay queues
0-15分 で指定できます。
queue に送信された後、DelaySeconds の間、consumer からは invisible となります。
Amazon SQS delay queues
visibility timeout
SQS は consume されたメッセージを自動的に削除しません。
queue から consume された後、visibility timeout の間、queue から receive できなくなります。
visibility timeout の間に、consumer が明示的に削除する必要があります。
Amazon SQS visibility timeout
message timer
delay queues と同様に、0-15分 で指定できます。
queue に送信された後、DelaySeconds の間、consumer からは invisible となります。
delay queues が queue 全体に対する設定であるのに対し、message timer は、メッセージ毎に設定されます。
Amazon SQS message timers
dead-letter queue (DLQ)
ある queue における target として設定し、queue で正常に consume されなかったメッセージの通知先として利用されます。
Amazon SQS dead-letter queues
Amazon SQS delay queues
Amazon MQ
Amazon MQ
What is Amazon MQ?
オープンソース Apache ActiveMQ、Rabbit MQ 等の AWS マネージドサービスです。
補足: サーバレスではありません。RDS のようにインスタンスが起動されます。
Instance types
オンプレミスで稼働する ActiveMQ 利用アプリケーションを SQS 向けに改修することなく AWS 移行できます。(re-platform)
SNS
SNS topic の subscriber は、message をフィルタリング (Filter Policy) して取得できます。
Amazon SNS message filtering
Direct Publish
Using Amazon SNS for application-to-person (A2P) messaging
モバイル端末に対して SMS や push 通知を送信できます。
SNS Access Policy (resource-based policy) を設定できます。
SNS topic と SQS queue を 1:N で接続することで、Fan Out 構成を実現できます。
SNS topic が push 型として SQS queue に書き込みます。
SQS queue 側の access policy で write を許可しておく必要があります。
S3 event 通知先として指定できる宛先は一つだけです。
上記 fan out 構成で SNS を宛先として指定することで、宛先数 1 という制約を回避できます。
例:
Snowflake の Snowpipe
でも活用される構成です。
SNS topic は S3 に直接 push できません。
Kinesis Data Firehose を経由して S3 にデータ連携できます。
Fanout to Kinesis Data Firehose delivery streams
SNS FIFO
SQS FIFO と同様です。処理性能は FIFO ではない通常の topic の方が高くなります。
SNS FIFO の subscriber としては SQS FIFO のみ指定可能です。
関連ページ
AWS 落穂拾い (VPC、その他)
VPC Subnets for your VPC Subnet の最初の 4 IP と最後の 1 IP は予約されています。以下の IP は例です: 10.0.0.0 → ネットワークアドレス 10.0.0.1 → VPC router (AWS による予約) 10.0.0.2 → DNS サーバ (AWS による予約)