ラボの概要
マイクロサービスは、ソフトウェア開発に対するアーキテクチャ的、組織的なアプローチです。このアプローチでは、ソフトウェアが、明確に定義された API を介して通信する複数の独立した小さなサービスで構成されます。イベント駆動型アーキテクチャはイベントによってスタートし、デカップリングされたサービス間で通信します。イベント駆動型アーキテクチャの利用は、マイクロサービスで構築されたモダンアプリケーションでは一般的です。サーバーレスアーキテクチャは、インフラストラクチャを管理することなく、アプリケーションとサービスを構築、実行するための手法です。このラボではこうした概念を組み合わせ、API Gateway、EventBridge、Lambda を使用してイベント駆動型のサーバーレスアーキテクチャを構築します。
このラボでは、HTTP API を API Gateway に設定して、EventBridge へリクエストをリダイレクトします。リクエストに一致し、Lambda 関数にイベントを転送する、イベントバスのルールを作成します。Lambda 関数が処理したイベントは、新しいイベントとしてバスに返されます。イベントバスにイベントが発行されるたびに、別の Lambda 関数がイベントを受信し、API Gateway でホストされている WebSocket 接続を使用してクライアントアプリケーションへポストバックします。
図: ラボ完了後の AWS アーキテクチャ図です。
取り上げるトピック
このラボを修了すると、次のことができるようになります。
- Lambda 関数を作成し、環境変数を設定する。
- Lambda 関数をターゲットとする EventBridge ルールを作成する。
- API Gateway を使用して HTTP API と WebSocket エンドポイントを作成する。
- API Gateway メソッドを作成して EventBridge と統合する。
所要時間:
このラボの所要時間は 45 分です。
前提条件
このラボの前提条件は以下のとおりです。
- Microsoft Windows、Mac OS X、Linux (Ubuntu、SuSE、または Red Hat) のいずれかが搭載されているコンピュータを使用できること。
- Chrome や Firefox などインターネットブラウザの最新版があること。
アイコンキー
このラボでは、さまざまな種類の手順と注記への注意を促すため、各種アイコンが使用されています。以下のリストは、各アイコンの目的を説明したものです。
- コマンド: 実行する必要があるコマンドです。
- 想定される出力: 出力のサンプルであり、コマンドまたは編集済みファイルの出力を確認するときに使用します。
- 注意: ヒントや重要なガイダンスです。
- 追加情報: 詳細を確認可能。