[チュートリアル]Amazon ElastiCache for Redisを使ったChatアプリの開発をやってみた

AWS DVA(デベロッパーアソシエイト)の勉強をしていて、ElastiCacheを見ていた時、Pub/Subサーバでをチャットアプリを作成できることを知って、手を動かそうと思いました。

そこで、Amazon ElastiCache for Redisを使ったChatアプリの開発をやってみました。

Contents

Socket.IOについて

まず、Socket.IOについてあまり知らなかったので↓で勉強。

https://atmarkit.itmedia.co.jp/ait/articles/1604/27/news026_3.html

https://atmarkit.itmedia.co.jp/ait/articles/1603/14/news015_2.html

簡単にまとめると以下の通り。

  • クライアントサイド
    • モジュールの読み込み
    • ソケット接続
    • 送信/受信処理
  • サーバーサイド
    • モジュールの読み込み
    • HTTPサーバ生成
    • ソケットの紐付け

アプリケーションの作成

いざ、「Launch stack」からCloudFormationのスタックを作成してリソースを作成。

驚くほど簡単にチャットアプリが作成できました。

ただし、以下をしないと、リソースが作成されないことがあります。ただ、CloudFormationの場合、エラーが発生した場合、ロールバックによって全リソースが削除されるので、安心して利用できます。

  • 作成するリージョンでVPC、キーペアの作成
  • CloudFormation用のロールの作成

RedisのPub/Subを使用することで、複数のサーバ間を同期させることができるとのこと。

https://qiita.com/rihofujino/items/7bf4b99e2176f63ca7ef

正直、当初の目的であったRedisのPub/Subをどのように使用しているかは、理解できていないが、分からずともある程度のものが作成できるという、、、恐ろしさ。。。

また、勉強して理解できたら追記する予定です。