はじめに
MongoDBを使う必要があり、ローカルに入れるのは面倒だな、と思っていたところ、公式のマネージドサービスであるMongoDB Atlasの無料枠があることに気づいたので、セットアップ手順をまとめます。
MongoDB Atlasとは
MongoDB(JSONを格納するドキュメント型のNoSQL DB)の開発元であるMongoDB, Inc. が公式に提供しているMongoDBのマネージドサービス。
AWSやAzureでもMongoDBが提供されているが、マネージドサービスとしての機能は公式が一番優れている。
方針
2020/8/13時点で、MongoDBAtlasの無料枠があるようなので、そちらを利用する
無料枠でできること
無料のクラウドデータベースに含まれています。
- 512 MBのストレージ
- 共有RAM
- 高可用性のレプリカセット、エンドツーエンドの暗号化、自動パッチ、REST API
さらに、専用クラスタを起動すると、以下のアクセス権を得ることができます。 - 10 GB 以上のストレージ - 専用RAM - パフォーマンス最適化ツール - バックアップとポイントインタイムリカバリー - 暗号化キー管理、LDAP統合、粒度の高いデータベース監査を含むエンタープライズセキュリティ機能
アカウント作成、Cluster作成
https://www.mongodb.com/cloud/atlas/signup より、アカウント登録を行う。
FREEアカウントを選択。
クラウドプロバイダは、AWSを選択。 レコメンドがついていることと、日本から近そうなシンガポールリージョンを選択。
クラスター名は、作成後に変更できない、とのこと。 任意の名前を付与。
設定が完了したら、 Create Cluster をクリック
クラスター作成まで、1~3分ほどかかるので待つ。 Atlas接続までのステップを確認する。
database userの作成
Get Started をクリックすると、手順のヒントが表示される。
Database Access から設定するとのこと
Add New Database User をクリックする。
Userの作成
このアトラスプロジェクトのクラスタ内のデータベースとコレクションへのアクセスをアプリケーションまたはユーザーに許可するためのデータベースユーザーを作成します。詳細なアクセス制御は、デフォルトの権限またはカスタムロールで設定できます。対応するアクセス マネージャを使用して、アトラス プロジェクトまたは組織にアクセスを付与することができます。
AWS IAMでの認証も行えるが、ひとまず、 Password を選択する。 Database User Privileges は、デフォルトの Read and write to any database を選択する。
設定し終わったら、Add User をクリックする。
ユーザーが作成されればOK。
IPアドレスをホワイトリストに登録する
Get Started より、3番目の手順を選択して、ヒントを表示する。
Network Access をクリックする。
Add IP Address をクリックする。
Atlasにアクセス可能なIPアドレスか、CIDRを指定する。 特定の拠点の固定化されたグローバルIPを指定する。
現在アクセスしているIPアドレスを追加する場合は、 ADD CURRENT IP ADDRESS をクリックする。
アトラスはプロジェクトのホワイトリストのエントリからのクラスタへのクライアント接続のみを許可します。各エントリは、単一のIPアドレスまたはCIDRで指定されたアドレスの範囲のいずれかである必要があります。詳細はこちらをご覧ください。
なお、AWSを利用している場合は、AWSのセキュリティグループIDも指定できる。
https://docs.atlas.mongodb.com/security-whitelist/#view-whitelist-entries
指定が終わったら、 Confirm をクリックする。
IPアドレスのリストに追加されればOK。
サンプルデータのロード
オプションとのことなので省略。
実施する場合は、Clustersの ... をクリックする。
Clusterへの接続
Get Started より、5番目の手順を選択して、ヒントを表示する。 Clustersから、CONNECT をクリックする。
MongoDBのGUIツールである、MongoDB Compassで接続する。
OSを選択して、Compassをダウンロードする。
Compassのインストール
ダウンロードしたインストーラを実行すると、チュートリアルが表示される。 チュートリアルのスライドを一通り確認後、get started をクリックする。
プライバシーの設定を行う。特に問題なければ、デフォルトのままでOK。 Start Using Compass をクリックする。
Compassからの接続
MongoDB Atlas側の画面に戻り、「Copy the connection string, then open MongoDB Compass.」に表示されている接続先情報をコピーする。
コピーした接続先情報には、password部分が、<password>
という文字列になっているため、事前に設定したpasswordに置き換える必要がある。
mongodb+srv://hoge-user:<password>@fuga.hogefuga.mongodb.net/test
Compass側で、コピーした接続先情報を張り付けて、 CONNECT をクリックする。
接続情報が正しければ、Compass内にClusterの情報が表示される。