Momento + Amazon EventBridge
AWSでイベントドリブンアーキテクチャを構築している方なら、Amazon EventBridgeを知っているでしょう。このサーバーレスイベントバスサービスは、イベントのフィルタリング、変換、ルーティング、配信を堅牢なエラー処理と高可用性で支援します。これをMomentoで直接使えたら最高だと思いませんか?
このページでは、EventBridgeとMomentoを接続するための汎用パターンを紹介します。
より具体的な例としては、DynamoDB-Momento EventBridge Demoをご覧ください! このプロジェクトでは、DynamoDB StreamsとAWS EventBridgeを使ってMomentoにライトスルーキャッシュを作成する方法を紹介します。 このアプリを使うと、DynamoDBテーブルのアイテムを作成・更新・削除し、その変更をリアルタイムにキャッシュ/トピックに反映させることができます。
MomentoのHTTP APIとAmazon EventBridge API Destinationsを使うことで、ワークフローでPutEvents
を呼び出すだけで非同期イベントをトリガーすることができます。
- コンピュートサービスが EventBridge の
PutEvents
API を呼び出す。 - EventBridgeは、イベントの内容に基づいて、イベントをルールにルーティングする。
- Qualifying ルールは APIを呼び出す。
- APIはAWS Secrets Managerから認証トークンを検索する。
- イベントペイロードは変換され、Momento HTTP APIを呼び出す。
このワークフローのイベントベースの性質を考えると、それは非同期処理であり、あなたのコードは続行する前に完了を待つことはないです。何かがうまくいかなかったり、APIがエラーを返したりした場合、メッセージはdead letter queueに配送されます。
Tl;dr
このボタン[スタック起動ボタン](https://console.aws.amazon.com/cloudformation/home#/stacks/create/review?stackName=momento-api&templateURL=https://momento-developers.s3.amazonaws.com/api-destinations.yaml)をクリックすることで、EventBridgeリソースをアカウントに直接デプロイできます。
AWSへデプロイ
上記のLaunch stackボタンを押すと、AWSのCloudFormationコンソールへのタブが開きます。Momento Consoleから作成できます。このスタックをデプロイしたいリージョンでスーパーユーザートークンを作成できます。トークンを生成したら、コンソールに戻ってプロパティを入力してください。これはあなたに代わって Secrets Manager に安全に保存されます。
オプションで、ルールがトリガーされるEventBridgeイベントバス名を指定できます。デフォルトのイベントバスが自動的に入力されますが、既存のイベントバスを使用することもできます。有効なバス名を指定しないと、デプロイは失敗します。
2つのパラメータを入力し、Create stackを押すと、リソースが自動的にデプロイされます。*MomentoはAWSのようにリージョンベースであり、認証トークンは特定のリージョンをターゲットにしています。HTTP API の場合、使用したいリージョンに応じて 異なるベース URL をヒットする必要があります。私たちが提供するクイックスタートは、デプロイ時に適切なベースURLを決定するので、考える必要はありません👍
これは、MomentoがサポートするAWSリージョンでのみ機能します。
- us-east-1
- us-west-2
- ap-northeast-1
- ap-south-1
- eu-west-1
リソース
デプロイされたスタックは、AWSアカウントに以下のリソースを作成します:
- 1x EventBridge Connection - Momento への接続情報を保存します。
- 3x EventBridge API Destinations - Cache Item Set、Cache Item Delete、Topic Publish 。
- 3x EventBridge Rules - APIコールをトリガーするためのルール。
- 1x IAM Role - ルールがトリガーされたときに、EventBridgeがデスティネーションを呼び出すことを許可します。
- 1x SQS キュー - 配信失敗時のデッドレターキュー用
生のCloudFormationテンプレートを見たい場合は、ここをクリック。
APIコールのトリガー
現在、この統合では、Cache Item Set、Cache Item Delete、Topic Publishの 3 つの API 呼び出しをサポートしています。これらのルールを呼び出すには、構成されたイベント・バスにイベントを配置する必要があります。