اتصال MongoDB قطب نما به Amazon DocumentDB: یک راهنمای گام به گام

MongoDb Compass GUI برای توسعه دهندگان کار با MongoDB است. این قدرتمند ، شهودی است و تمام ابزارهای مورد نیاز خود را به شما می دهد – از اکتشاف طرحواره برای تجزیه و تحلیل شاخص و ساختمان خط لوله جمع آوری. اما اگر پس زمینه شما روشن شود چه می شود آمازون DocumentDB، پایگاه داده سازگار با MongoDB از AWS؟ و اگر خوشه شما زندگی کند چه می شود داخل یک VPC، مستقیماً از دستگاه محلی خود غیرقابل دسترسی است؟
در این آموزش ، شما را از طریق نحوه اتصال ایمن پیاده می کنم قطب نما به آمازون DocumentDB با استفاده از میزبان Bastion EC2 وت تونل سازی SSHبشر بیایید شروع کنیم
🧰 ابزارهایی که ما استفاده می کنیم
- قطب نما – اینجا بارگیری کنید
- آمازون DocumentDB – صفحه خدمات AWS
- آمازون EC2 (آمازون لینوکس 2023) – برای میزبان پرش SSH
- MongoDB Shell (Mongosh) – برای آزمایش اتصال
🚧 چرا تونل سازی SSH؟
خوشه های DocumentDB آمازون نقاط پایانی عمومی را در معرض نمایش قرار نمی دهند. آنها به گونه ای طراحی شده اند که در داخل اجرا شوند ابر خصوصی مجازی (VPC)، به طور معمول فقط از همان VPC یا از طریق قابل دسترسی است VPC Peeringبشر
اما اگر نیاز به دسترسی به خوشه از لپ تاپ خود دارید (به عنوان مثال ، برای توسعه یا تجزیه و تحلیل) ، راه امن این است که تونل SSH از طریق میزبان سنگر.
🏗 مرحله 1: یک میزبان Bastion EC2 را راه اندازی کنید
- کنسول AWS خود را باز کنید و جدید را راه اندازی کنید نمونه EC2 (آمازون لینوکس 2023) در همان VPC خوشه DocumentDB شما.
- ایجاد a جفت کلید جدید، به عنوان مثال ،
dima-bastion-host-key-pair.pem
، و آن را بارگیری کنید. - ترمینال را روی دستگاه خود باز کنید و وصل کنید:
ssh -i "dima-bastion-host-key-pair.pem" ec2-user@ec2-X-X-X-X.compute-1.amazonaws.com
🛠 مرحله 2: نصب کنید mongosh
در EC2 (مرحله تست اختیاری)
در داخل EC2 خود:
پیکربندی repo mongoDB را ایجاد کنید:
sudo vi /etc/yum.repos.d/mongodb-org-8.0.repo
خمیر:
[mongodb-org-8.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2023/mongodb-org/8.0/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-8.0.asc
نصب کردن mongosh
:
sudo yum install -y mongodb-mongosh
دانلود گواهی CA DocumentDB CA:
wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
با استفاده از:
mongosh docdb-cluster.cluster-xxxxxx.us-east-1.docdb.amazonaws.com:27017 \
--tls --tlsCAFile global-bundle.pem --retryWrites=false \
--username myadmin --password
🔐 مرحله 3: یک تونل SSH از لپ تاپ خود ایجاد کنید
برای دسترسی به DocumentDB از لپ تاپ خود ، ترافیک را از طریق نمونه EC2 خود به جلو بکشید:
ssh -i "dima-bastion-host-key-pair.pem" \
-L 27017:docdb-cluster.cluster-xxxxxx.us-east-1.docdb.amazonaws.com:27017 \
ec2-user@ec2-X-X-X-X.compute-1.amazonaws.com -N
این پنجره ترمینال را باز نگه دارید. این به عنوان یک تونل از لپ تاپ شما → EC2 → DocumentDB عمل می کند.
🧪 مرحله 4: تست با mongosh
محلی
در لپ تاپ خود (با اجرای تونل) ، اتصال تست:
mongosh localhost:27017 \
--tls --tlsAllowInvalidHostnames \
--tlsCAFile global-bundle.pem \
--retryWrites=false \
--username myadmin --password
اگر موفق باشید ، باید ببینید:
rs0 [direct: primary] test>
🖥 مرحله 5: با استفاده از قطب نما MongoDB وصل شوید
قطب نما MongoDB را باز کنید و:
اتصال جدید → پیشرفته
عمومی:
-
طرح رشته اتصال:
mongodb
-
میزبان:
localhost:27017
احراز هویت:
- روش: نام کاربری / رمز عبور
-
نام کاربری:
myadmin
-
رمز عبور:
- مکانیسم AUTH: پیش فرض
TLS/SSL:
- اتصال TLS/SSL: ✅ در
-
مرجع گواهینامه (.pem): بارگذاری کردن
global-bundle.pem
- اجازه نام میزبان نامعتبر: ✅ بررسی شد
تونل SSH / پروکسی:
- روش: SSH با فایل هویت
- نام میزبان: DN های عمومی نمونه EC2 شما
-
بندر:
22
-
نام کاربری:
ec2-user
-
پرونده هویت: شما
.pem
پرونده
پیشرفته:
-
نام تنظیم ماکت:
rs0
-
اولویت را بخوانید:
Secondary Preferred
-
گزینه های URI: اضافه کردن
retryWrites=false
✅ “اتصال” را کلیک کنید
اکنون باید به خود وصل شوید آمازون DocumentDB خوشه قطب نما!
🎉 بسته شدن
با ترکیب تنظیمات اتصال پیشرفته SSH و Compass ، می توانید با خیال راحت داده های Amazon DocumentDB خود را از خارج از ابر AWS کشف کنید. این روش به شما قدرت ابزاری GUI بومی MongoDB را بدون ایجاد خطر در بهترین روشهای امنیتی AWS می دهد.
🔗 منابع