MomentoとVercelアプリの統合
Vercelは、モダンなウェブサイトやアプリを構築、デプロイ、スケーリングするための人気なプラットフォームです。 Vercelはまた、Next.jsのクリエイターであり、メンテナーでもあります。 彼らのプラットフォームは、高速なグローバルエッジネットワーク、サーバーレスのスケーラビリティ、最も人気のあるGitプロバイダーとシームレス統合しデプロイできる仕組みを提供しています: GitHub、GitLab、Bitbucket。
このチュートリアルでは、Javascript SDK のシンプルなサンプル Next.js チャットアプリケーション を使用します。チュートリアル終了時には、ブラウザベースのリアルタイムチャットアプリケーションが完成し、友達をチャットに招待するためのURLで実行できるようになります。
前提条件
このアプリをデプロイして実行するには、以下のものが必要です:
- GitHub、GitLab、BitbucketなどのGitプロバイダーのアカウント。
- Vercelのアカウント。
- 個人リポジトリにあるMomento Javascript SDKのコピーまたはフォーク。
Vercelアカウントを取得し、GitプロバイダーアカウントにMomento Javascript SDKのコピーまたはフォークを取得したら、Momentoコンソールを使ってMomento側を設定する準備をしていきます。コンソールにアカウントを作成するには、メールアドレスを入力するか、既存の Google または GitHub アカウントをリンクします。コンソールにログインしたら、ページの右上にある Create Cache
ボタンをクリックします:
例えば、chat
というキャッシュを作成します。キャッシュはAWSかGCPの好きなクラウドプロバイダーに、好きなリージョンで作成できます。
Create
ボタンを押すと、利用可能なキャッシュのリストに新しいchat
キャッシュが表示されます。
キャッシュを作成したリージョンの情報もキャッシュのリストに表示されているため、その情報を参考にしつつ次のステップでMomento authトークンを生成する際に、同じリージョンを選択する必要があります。tokensページに移動し、キャッシュの作成に使用したクラウドプロバイダとリージョンを選択し、Super User API KEY
keyタイプを選択し、Generate API KEY
ボタンをクリックします。
API Key
をコピーして安全な場所に保存してください。後でVercelのデプロイを設定する際に、チャットアプリで使用する環境変数として追加する必要があります。
Vercelを使ったデプロイ
いよいよVercelにログインして、アプリケーションの設定とデプロイを行います。前述したように、リポジトリで利用可能なMomento Javascript SDKのコピーが必要です。この例では、オリジナル からフォークした GitHub リポジトリからデプロイします。
Vercelにログイン後、Overview
ページに移動し、Create a New Project
ボタンを押してください。
利用可能なリポジトリのリストから、client-sdk-javascript
のImport
ボタンを押します。
次の画面では、デプロイの設定を行います。Momento Javascript SDK のサブディレクトリからサンプルアプリケーションをデプロイするので、ページの Configure Project
セクションで Root Directory
を設定する必要があります。チャットサンプルのパスは /examples/web/nextjs-chat
ですので、Edit
ボタンを使って examples
-> web
-> nextjs-chat
に移動し、Root Directory
として入力します。
選択したディレクトリの横にNext.jsのアイコンがあることに注目してください。Vercelはディレクトリの中身を調べ、私たちのプロジェクトがNext.jsを使っていることを検出します。
この自動検出のおかげで、Build and Output Settings
セクションはそのままにしておくことができます。プロジェクトに適したデフォルト値が選択されます。
このアプリケーションで使用するために、先ほどMomento authトークンを生成して保存したことを思い出してください。ビルド設定の下にある Environment Variables
セクションを使用して、MOMENTO_API_KEY
を名前、生成したトークンを値として環境変数を追加します。次に、NEXT_PUBLIC_MOMENTO_CACHE_NAME
をキー、chat
を値とする2つ目の環境変数を追加して、アプリを先ほど作成したキャッシュに向けます。
以上でデプロイの設定は完了です。Deploy
ボタンを押すと、アプリが公開されます!
デプロイ中、Vercelはサイトの構築と公開のために行っていることを示す詳細なログを表示し、必要に応じてデプロイの失敗を報告してトラブルシューティングを支援します。 すべてが計画通りに進んだ場合は、デプロイの成功を確認するページに移動します。
Continue to Dashboard
ボタンをクリックすると、デプロイメントの詳細情報が表示されます。
これで友達とチャットする準備ができました!ここで選べるURLはいくつかありますが、Domains
セクションにある最もシンプルなものを使いましょう。もちろん、本番用のアプリであればカスタムドメインを設定するでしょうが、私たちの目的には生成されたvercel.appのURLで十分です。
client-sdk-javascript.vercel.app
のリンク(あなたのURLはおそらく異なるでしょう)をクリックすると、チャットアプリのロビー画面が表示されます。チャットルームの名前はchat
とします。どんな名前でもかまいませんが、chat
を使うと覚えやすく、共有しやすくなります。存在しない場合は、チャットルームが作成されます。
最後のステップは、チャットのユーザー名を選択することです。
あとは、チャットに招待したい人たちとURL、キャッシュ、ルーム名を共有するだけです!
まとめ
この簡単なチュートリアルで、VercelでMomentoを搭載したアプリケーションをデプロイすることがいかにシンプルで簡単であるかをご理解いただけたと思います。もちろん、このチャットの例 も自由に触ってみてください。特にポーリングやweb socketsなどの代替アプローチと比較した場合、チャットを動かすMomento Topic機能のシンプルさを楽しんでいただければと思います。また、Momento を使用してお客様が今後どのようなものを構築し、Depolyするかを楽しみにしています!