【Docker】Amazon Cognitoをローカルでエミュレートできる「cognito-local」を使ってみよう
Amazon Cognitoは、ユーザー認証やデータ管理をクラウドでサポートするための大変便利なサービスですが、利用にはAWSアカウントやインターネット接続が必要です。これはローカルで開発を行う人にとって不便な場合もあります。
こんな問題を解決してくれるのが、ローカルデバッグに便利な「cognito-local」です。今回はこのツールについて解説し、そのインストール方法や使い方を簡単に紹介します。
cognito-localとは
cognito-localは、Amazon Cognitoの機能をローカル環境でエミュレートするためのツールです。これにより、インターネット接続なしでも、ユーザー認証やユーザープールの管理などの機能をローカルで開発したりテストしたりできるようになります。
主な機能
- ユーザープールの作成と管理
- ローカルでユーザープールを作成し、ユーザーの追加や削除、属性の更新が可能
- 認証フローのエミュレーション
- サインアップ、サインイン、パスワード変更などがテスト可能
- Lambdaトリガーのサポート
- カスタム認証やユーザー属性の検証をテストできる
インストール方法
cognito-localはDockerまたはNode.js系のプロジェクトとして使用できます。ここではいずれのセットアップ方法を簡単に解説します。
Dockerを使用する場合
Dockerを使用してcognito-localを起動するには、以下のコマンドを実行するだけです。
|
|
該当コマンドでcognito-localがポート、9229で起動します。データを永続化するためには、Dockerボリュームをマウントします。
Node.jsを使用する場合
Node.js環境では、次のように設定します。
|
|
これにより、cognito-localがデフォルトのポート、9229で起動します。
制限事項
cognito-localはAmazon Cognitoのすべての機能をエミュレートするわけではありません。一部のAPIや機能は未サポートまたは部分的なサポートにとどまります。ため、正確な機能が必要な場合は、AWS本番環境での検証を必ず行いましょう。
UserPoolの作成
このコマンドを使用することでUserPoolを作成することが可能です。
|
|
おわりに
cognito-localは、ローカルでAmazon Cognitoの機能をすばやく検証するための助けとなるツールです。DockerやNode.jsを使えば、簡単にセットアップできるので、ぜひ試してみてください。
他にもCognito互換のソフトウェアがあります。
LocalStackは現在 Pro(有料)になります。
参考
リポジトリや関連資料は下記のURLを参考してください。