无需公网网关,AWS DocumentDB能否在VPC内用原生工具操作?
AWS DocumentDB VPC内原生数据操作方案
以下是AWS提供的、可在VPC内直接使用的原生工具,无需通过公网网关暴露DocumentDB:
1. AWS CloudShell
CloudShell是AWS内置的浏览器端命令行环境,默认部署在你的AWS账户关联的VPC中(也可指定子网)。操作步骤:
- 安装MongoDB命令行客户端:
sudo yum install mongodb-shell -y(基于Amazon Linux环境) - 下载AWS RDS CA证书:
wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem - 用标准Mongo命令连接DocumentDB集群:
连接成功后即可直接执行查询、插入等数据操作。mongosh "mongodb://<用户名>:<密码>@<集群端点>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false"
2. 部署在VPC内的AWS Lambda
适合自动化或脚本式的数据操作:
- 将Lambda函数配置到DocumentDB所在的VPC子网,同时调整安全组,允许Lambda访问DocumentDB的27017端口
- 在Lambda代码中使用MongoDB驱动(如Python的
pymongo、Node.js的mongodb包)编写数据操作逻辑 - 通过Lambda控制台直接测试函数,或配合CloudWatch Events实现定时任务
3. VPC内的EC2实例
作为专用操作终端使用:
- 在DocumentDB同VPC的子网中创建EC2实例(可选免费tier机型),配置安全组允许实例访问DocumentDB的27017端口
- 在EC2上安装MongoDB客户端工具,直接连接集群执行操作
- 可通过AWS Systems Manager Session Manager远程访问EC2,无需给实例分配公网IP,全程在VPC内完成操作
4. AWS Glue
适合批量数据处理、ETL场景:
- 将Glue作业配置为在DocumentDB所在VPC内运行
- 使用Glue的MongoDB连接器连接DocumentDB,编写脚本实现批量插入、查询、数据转换等操作
关键注意事项
- 所有工具的安全组需配置正确:DocumentDB的安全组必须允许来自上述资源(CloudShell子网、Lambda安全组、EC2安全组、Glue安全组)的27017端口访问
- 连接DocumentDB时必须启用TLS,并使用AWS提供的RDS CA证书完成验证
内容的提问来源于stack exchange,提问作者Hagay r
相关产品推荐
相关产品推荐

