1日1%成長する
AWSの学習メモ
- AWSのblackbaltの動画を15分以上毎日見る
- 動画を簡単にまとめる
memo
Amazon Simple Notification Service (SNS) 必要になった背景: -> システムが密結合してると管理しづらい -> 疎結合のサービスへ -> ただ、疎結合の場合は各処理が連携元に新しい処理を受け付けたかどうかの確認(ポーリング) をする必要が出てきた。 -> これを中央から各処理へメッセージで一括送信する仕組み(fan out)で対応 -> Amazon SNS fan outの実現 => publish-subscribe(pub-sub) publisher:subscriberの存在は意識せず、メッセージをtopicへ投げる subscriber:購読したいtopicを選んでメッセージを購読する -> pub,subともにtopicのみ知っている状態 -> 非同期のメッセージングモデル topic:pub subの間に立つことで疎結合を保つ -> オーナーが管理 Amazon SNSの機能 - Mobile Push - セグメント毎のpushはAmazon pinpointの方が新しくそちらで網羅されているものもある - pub-sub - 通知もできるが、分散アプリの統合用途でも可能 awsのサービスがpublisherとして機能できる: cloudwatch events、step functions、api gateway、 management console、command line interface、sdks、s3...etc awsのサービスがsubscribeとして機能できる: lambda、sqs...etc 配信プロトコルなど http/https、email、sqs、lambda、platform application endpoint、sms アクセスコントロール effect:allowでprincipalのarnを指定する ActionでSubscribeとかを指定する Resourceで対象のtopicのarnを指定する { "Effect": "Allow", "Principal": { "AWS": "arn:~user/mike" }, "Action": [ "SNS:Subscribe", "SNS:ListSubscriptionsByTopic", "SNS:Receive" ], "Resource": "arn~:BBtopic" } mikeはBBtopicにSubscribe可能 FilterPolicyでSubscribe可能 Topicでエンドポイントのプロトコルで分けることが可能