У цьому посібнику ми проведемо вас через процес підключення до кластера Amazon DocumentDB з вашого локального комп'ютера. Використовуючи SSH тунелювання через сервер-вестерн (bastion host), ви зможете безпечно отримати доступ до вашого кластера DocumentDB без його розкриття в Інтернеті. Цей підхід забезпечує як безпеку, так і зручний доступ до вашої бази даних з локальних інструментів або програм.
Зображення: Amazon DocumentDB за допомогою SSH тунелю
Крок 1: Створення двох груп безпеки
- Перша група безпеки (
bastion-host-sg
): Ця група безпеки дозволяє доступ по SSH до вашого екземпляра EC2 з вашого локального комп'ютера (клієнта). - Друга група безпеки (
document-db-sg
): Ця група безпеки дозволяє з'єднання з вашим кластером Amazon DocumentDB через порт27017
з вашого екземпляра EC2. - Група безпеки для DocumentDB повинна дозволяти трафік на порт
27017
від групи безпеки Bastion Host (bastion-host-sg
).
Зображення: документ-db-sg дозволяє трафік з bastion-host-sg на порт 27017
Крок 2: Запуск кластера Amazon DocumentDB
2.1. Перейдіть до консолі Amazon DocumentDB
- Перейдіть до консолі Amazon DocumentDB.
- У розділі Кластери виберіть Створити.
2.2. Налаштування вашого кластера
- На сторінці створення Amazon DocumentDB кластеру налаштуйте наступні параметри:
- Клас екземпляра: виберіть
db.t3.medium
або інший клас екземпляра залежно від ваших вимог. - Кількість екземплярів: виберіть
2
. - Залиште інші налаштування за замовчуванням.
2.3. Налаштування автентифікації
- У розділі автентифікації:
- Введіть ім'я користувача.
- Введіть пароль.
2.4. Увімкнення розширених налаштувань
- Увімкніть опцію Показати розширені налаштування.
2.5. Налаштування мережевих параметрів
- У розділі налаштувань мережі:
- Для груп безпеки VPC виберіть
document-db-sg
.
2.6. Створення кластера
- Перевірте налаштування та натисніть Створити кластер.
2.7. Очікування на провізію
- Amazon DocumentDB зараз провізує ваш кластер. Цей процес може зайняти кілька хвилин.
- Зачекайте, поки статуси кластера та екземпляра не стануть Доступними.
2.8. Підключення до вашого кластера
- Після того, як кластер буде готовий, продовжуйте з необхідними кроками для підключення до вашого кластера Amazon DocumentDB.
Крок 3: Створення екземпляра EC2
Наступним кроком є створення екземпляра EC2 в тій самій області (Region) та VPC, що ви використовували для створення вашого кластера Amazon DocumentDB з групою безпеки bastion-host-sg
.
Крок 4: Тестування SSH з'єднання через bastion host EC2 екземпляр
ssh -i "nasir-desktop-ohia.pem" [email protected]
Крок 5: Завантаження публічного ключа для Amazon DocumentDB з AWS
wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
Крок 6: Налаштування SSH тунелю до Amazon DocumentDB кластеру
ssh -i "nasir-dekstop-ohia.pem" -L 27017:docdb-2025-01-24-19-30-29.cluster-cryusegsgush.us-east-2.docdb.amazonaws.com:27017 [email protected] -N
Пояснення
ssh
: Ініціює з'єднання через SSH.-i "nasir-desktop-ohia.pem"
: Вказує файл приватного ключа (nasir-dekstop-ohia.pem).-L 27017:docdb-2025-01-24-19-30-29.cluster-cryusegsgush.us-east-2.docdb.amazonaws.com:27017
: Локальний порт 27017 переадресовується на порт 27017 кінцевої точки кластера Amazon DocumentDBdocdb-2025-01-24-19-30-29.cluster-cryusegsgush.us-east-2.docdb.amazonaws.com
.[email protected]
: Вказує на bastion host та користувача ubuntu для з'єднання.-N
: Інструктує SSH не виконувати віддалені команди; сесія використовується лише для переадресації портів.
Примітка: Тримайте тунель відкритим, не закривайте консоль.
Відкрийте нову консоль, щоб продовжити роботу.
Крок 7: Підключення до вашого Amazon DocumentDB кластера з вашого локального комп'ютера.
mongosh --tlsAllowInvalidHostnames --tls --tlsCAFile global-bundle.pem --username root --password pATXXYYZZmRl mongosh --retryWrites=false
🎉 Вітаємо! Ви успішно підключилися до AWS DocumentDB з вашого локального комп'ютера. 🚀🎊
З MongoDB Compass
Встановіть нове з'єднання, вставте рядок з'єднання та налаштуйте сертифікат у налаштуваннях TLS/SSL. Виберіть пакет сертифікатів, перевірте параметр tlsAllowInvalidHostnames і натисніть «Підключити».
Замість рядка з'єднання вставте свій власний. Ось приклад мого для орієнтиру.
mongodb://root:[email protected]:27017/?directConnection=true&serverSelectionTimeoutMS=2000&tlsAllowInvalidHostnames=true&tls=true&tlsCAFile=global-bundle.pem
🎉 Вітаємо! Ви успішно підключилися до AWS DocumentDB з вашого локального комп'ютера. 🚀🎊
Перекладено з: Connect Amazon DocumentDB cluster from Local Machine