使用MongoDB Atlas开始(MongoDB作为服务)
总结
MongoDB Atlas是MongoDB公司自家提供的MongoDB作为服务的数据库。
使用 Atlas 可以轻松创建 MongoDB 集群,并进行各种管理操作。
虽然性能和功能有限制,但也有可免费使用的集群选项。
这篇文章将总结MongoDB Atlas的独特部分,而不是MongoDB本身。
准备好
创建Atlas用户账户。
只需在网站上输入电子邮件地址等信息并继续即可。
如果您创建了一个账户,会立即被要求进入创建集群的页面,但是暂时取消也是可以的。
在不创建付费集群的情况下,无需输入信用卡号等信息。
在这里,所谓的”用户”指的是Atlas的DBaaS用户。
这是用于登录Atlas网站的用户,与应用程序访问MongoDB时的用户是不同的。
在本文中,我们将分别称其为Atlas用户和MongoDB用户。
对于不从事基础设施相关工作的团队成员等,并不一定需要创建Atlas用户账户。
你可以设置Google Authenticator或SMS的双重认证,所以务必在记忆犹新时设置好。
Atlas 的管理单位
Atlas由层级管理单元组成,包括组织(Organization)、项目(Project)和集群(Cluster)。
组织和项目是Atlas独有的单元,在原始的MongoDB中不存在。
创建Atlas用户账户时,默认会提供一个随机命名的组织和项目。
Organization是指支付单位。
-
- 名前はいつでも変更できます。
-
- あるAtlasユーザーは、複数のOrganizationに所属できます。
- 2FA必須などの設定ができます。
项目是指将MongoDB用户定义和安全设置等整合在一起的单位。建议按照”服务A的生产环境、服务A的预发布环境、服务B的…”等单位进行组织。
-
- 名前はいつでも変更できます。
-
- あるOrganizationに所属するAtlasユーザーは、その中の複数のProjectに所属できます。
- 無料のM0というクラスタは、1つのProjectに1つしか作れません。
管理Atlas用户的权限
Atlas用户在组织单位内具有角色,并且在项目单位内也具有角色。
通过角色,管理Atlas相关操作的权限。
此外,还有另一种切入点,即团队单位。这是将Atlas用户分组,并集体归属于特定的项目的方式。(为了省去在组织中每个Atlas用户一个一个地归属于项目或设置项目角色的麻烦)我们使用团队单位。
在这个地区的运营方式可能会根据公司或团队的方针而有所不同。
需要在查阅官方文件的同时,确定适合我们自己的方法。
以下是一个本地化的中文释义,仅提供一种选择:
https://docs.atlas.mongodb.com/reference/user-roles/ :这是一个关于用户角色的MongoDB Atlas文档。在此文档中,您可以了解有关MongoDB Atlas中不同用户角色的详细信息。通过设置不同的用户角色,您可以控制用户在MongoDB Atlas中的访问权限和操作能力。
https://docs.atlas.mongodb.com/tutorial/manage-users/ :这是一个MongoDB Atlas文档,介绍了如何管理用户。在此文档中,您可以学习如何创建、编辑和删除用户,以及控制他们在MongoDB Atlas中的权限和访问级别。
访问MongoDB
创建群集
一旦准备好之后,在项目下创建MongoDB集群。
名称以外的部分可以稍后更改,所以只要随便创建即可。
-
- どこに作るかを、AWS/GCP/Azureの中から選びます。
-
- 更に、どこのリージョンに作るかを選びます。
-
- Cluster Tierを選びます。ハードウェアのスペックや、利用できる追加機能が定められた種類のことで、料金に直結します。リージョンによって選べるTierが異なり、例えば東京リージョンでは無料のM0は選べません(今のところ)。
-
- マネージドなバックアップを有効化するかなど、各種追加機能の設定をします。
- クラスタの名前を決めます。アプリケーションなどからMongoDBにアクセスする際のURLなどに影響します。
設定MongoDB使用者,建立連接來源的白名單。
Clusters > Securityの画面から、MongoDBユーザーを作ったり、接続元ホワイトリストの設定をします。
基本的に画面に従っていけばOKです。
ユーザー作成の画面にて、Atlas adminというAtlas独自の権限が選択肢にあります。
ざっくり言うと、各種ロールを盛りまくった最強の権限です。開発用の環境などで使い道がありそうです。
公式ドキュメントの該当箇所はこちら。
连接到集群
当群集开始运行,就会出现如下画面。
これで、アプリケーションや各種MongoDBクライアントからクラスタに接続できるようになります。
CONNECTボタンを押すと、色々と案内してくれる画面が表示されるので、それに従えばOKです。
可以从Atlas的网站上访问。
より手軽な手段として、COLLECTIONSボタンを押すと、Webサイトの画面(Data Explorer)からデータを直接読み書きできます。
使い勝手はさほど良くないですが、クライアントの事前準備が不要です。
数据浏览器具有以下特点。
-
- MongoDBユーザーやホワイトリストは関係ありません。Data Explorerが使えるかどうかは、Atlasユーザーのロールによって制御されます。
- 操作の履歴が、Project毎のAlertsの画面 > All Activityのところに記録されます。
托管备份功能(付费)
(Atlasではなく)MongoDBが備えているmongodumpなどのコマンドを使えば、自力でバックアップをすることもできますが、Atlasにはマネージドなバックアップ機能もあります(有料)。
有两种方式可供选择,可以选择其中一种使用(对于选择的技巧不是很清楚)。
-
- Continuous Backup
- Cloud Provider Snapshots(後発)
持续备份
バックアップデータの地理的な保存場所はこちらに載っています。
東京リージョンにクラスタを作ると、バックアップはアイルランドに置かれるようです。
料金はこちらに載っています。
月に1GB以内のバックアップなら無料だそうですが、バックアップデータを上記の保存場所に送る際の通信料金は別途かかります。
云供应商的快照
目前为止,GCP尚未提供利用AWS等平台提供的快照功能。
这边所需的恢复时间更短。
备份数据将保存在与集群相同的地区。
安全功能的各种各样的特性
如果使用AWS,可以通过VPC对等连接进行配对。
如果在AWS上创建一个集群,可以建立所需的VPC和对等连接。
如果将使用MongoDB的应用程序与已存在的VPC和对等连接,通信将不再经过公共网络,因此更加安全。
通过建立VPC对等连接,还可以将安全组ID指定为白名单。
将设置设在Atlas网站上。
-
- 前往Security > Peering页面。
-
- 输入与对等连接的AWS账户或VPC ID等信息。
-
- 完成一系列操作后,不久后会向输入的AWS账户发送VPC对等连接请求。
- 离开Atlas网站,在AWS控制台等地批准请求。
暂时的MongoDB用户,白名单事项
MongoDBユーザーを作成する画面にSave as temporary userというチェックボックスがあり、一定時間後に自動的に削除されるMongoDBユーザーを作れます。地味に便利。
ホワイトリストにも同様のチェックボックスがあります。
保存的数据加密。
在 Atlas 中,默认情况下进行磁盘加密。
这在官方文档以及常见问题解答中有说明。
此外,还有一个付费选项可以进行文件加密。
总结
Atlasを使うことで、冗長化されたクラスタの作成、MongoDBユーザーの管理、バックアップ設定などの作業を自前で行わずに済み、便利です。
東京リージョンでは選べなかったり、追加機能が制限されるものの、M0のクラスタなら無料で使えます。用途が限られますが、無料はありがたいです。
AWS的VPC互连功能可以实现,磁盘加密默认开启,技术安全得以贴近敏感领域。