Предварительная настройка для подключения к кластеру MongoDB
К хостам кластера Managed Service for MongoDB можно подключиться:
-
Через интернет, если вы настроили публичный доступ для нужного хоста при создании кластера. К таким хостам подключиться можно только используя SSL-соединение.
-
С виртуальных машин Yandex Cloud, расположенных в той же облачной сети. Если к хосту нет публичного доступа, для подключения с таких виртуальных машин необязательно использовать SSL-соединение.
Для подключения к хостам кластера используйте порт:
27018
— если кластер нешардированный;27017
— если кластер шардированный.
Запросы на запись будут автоматически направлены к первичной реплике кластера.
Примечание
Чтобы вы могли подключиться к кластеру из интернета, публичный доступ должен быть настроен для первичной реплики.
Если публичный доступ настроен только для некоторых хостов, автоматическая смена первичной реплики может привести к тому, что вы не сможете подключиться к кластеру из интернета.
Настройка групп безопасности
Для подключения к кластеру необходимо, чтобы группы безопасности содержали правила, которые разрешают трафик с определенных портов, IP-адресов или из других групп безопасности.
Настройки правил будут различаться в зависимости от выбранного способа подключения:
Настройте все группы безопасности кластера так, чтобы они разрешали входящий трафик с любых IP-адресов на порт 27018
для нешардированного кластера или на порт 27017
для шардированного. Для этого создайте следующее правило для входящего трафика:
- Диапазон портов:
27018
— для нешардированного кластера;27017
— для шардированного кластера.
- Протокол —
TCP
. - Источник —
CIDR
. - CIDR блоки —
0.0.0.0/0
.
-
Настройте все группы безопасности кластера так, чтобы они разрешали входящий трафик из группы безопасности, в которой находится ВМ, на порт
27018
для нешардированного кластера или на порт27017
для шардированного. Для этого в этих группах создайте следующее правило для входящего трафика:- Диапазон портов:
27018
— для нешардированного кластера;27017
— для шардированного кластера.
- Протокол —
TCP
. - Источник —
Группа безопасности
. - Группа безопасности — группа безопасности, в которой находится ВМ. Если она совпадает с настраиваемой группой, то укажите
Текущая
(Self
).
- Диапазон портов:
-
Настройте группу безопасности, в которой находится ВМ, так, чтобы можно было подключаться к ВМ и был разрешен трафик между ВМ и хостами кластера.
Пример правил для ВМ:
-
Для входящего трафика:
- Диапазон портов —
22
; - Протокол —
TCP
; - Источник —
CIDR
; - CIDR блоки —
0.0.0.0/0
.
Это правило позволяет подключаться к ВМ по протоколу SSH.
- Диапазон портов —
-
Для исходящего трафика:
- Диапазон портов —
0-65535
; - Протокол —
Любой
(Any
); - Источник —
CIDR
; - CIDR блоки —
0.0.0.0/0
.
Это правило разрешает любой исходящий трафик, что позволяет не только подключаться к кластеру, но и устанавливать на ВМ необходимые для этого сертификаты и утилиты.
- Диапазон портов —
-
Примечание
Вы можете задать более детальные правила для групп безопасности, например, разрешающие трафик только в определенных подсетях.
Группы безопасности должны быть корректно настроены для всех подсетей, в которых будут размещены хосты кластера. При неполных или некорректных настройках групп безопасности можно потерять доступ к кластеру, если произойдет автоматическая смена первичной реплики.
Подробнее см. в разделе Группы безопасности.
Получение SSL-сертификата
Чтобы подключиться к хостам MongoDB с публичным доступом, получите SSL-сертификат:
mkdir -p ~/.mongodb && \
wget "https://storage.yandexcloud.net/cloud-certs/CA.pem" \
--output-document ~/.mongodb/root.crt && \
chmod 0644 ~/.mongodb/root.crt
Сертификат будет сохранен в файле ~/.mongodb/root.crt
.
mkdir $HOME\.mongodb; curl.exe -o $HOME\.mongodb\root.crt https://storage.yandexcloud.net/cloud-certs/CA.pem
Сертификат будет сохранен в файле $HOME\.mongodb\root.crt
.
Корпоративные политики и антивирус могут блокировать скачивание сертификата. Подробнее см. в разделе Вопросы и ответы.
Для использования графических IDE сохраните сертификат
Получение FQDN хостов MongoDB
Для подключения к хосту потребуется его FQDN — доменное имя. Пример FQDN хоста MongoDB:
rc1a-goh2a9tr********.mdb.yandexcloud.net
FQDN можно получить несколькими способами:
-
Посмотрите FQDN в консоли управления:
- Перейдите на страницу кластера.
- Перейдите в раздел Хосты.
- Скопируйте значение в столбце FQDN хоста.
-
Скопируйте команду для подключения к кластеру в консоли управления
. Команда содержит заполненный FQDN хоста. Чтобы получить команду, перейдите на страницу кластера и нажмите кнопку Подключиться. -
Запросите список хостов в кластере с помощью CLI или API.
Ограничения на количество подключений
Максимальное доступное количество одновременных подключений к отдельному хосту кластера Managed Service for MongoDB зависит от объема оперативной памяти этого хоста:
Объем оперативной памяти | Максимальное количество подключений |
---|---|
2 ГБ | 2048 |
4 ГБ | 4096 |
8 ГБ | 8192 |
16 ГБ и выше | 16 384 |
Объем оперативной памяти хоста определяется его классом. Все доступные варианты перечислены в разделе Классы хостов.
Что дальше
- Подключитесь к кластеру с помощью инструментов командной строки, из графической IDE или Docker-контейнера.
- Интегрируйте подключение к кластеру в код вашего приложения.