- Ansible-playbook предназначен для создания кластера MongoDB в облаке AWS.
-
- Создается replica_count * shard_count количество инстансов EC2 для MongoDB + 1 инстанс EC2 для MongoDB Config server и для MongoDB mongos (mongoc и mongos располагаются на одной машине)
-
- На все машины устанавливаются необходимые пакеты из репозиторием MongoDB
-
- Инициализируется replica set группами по replica_count машин (всего shard_count отдельных наборов)
-
- Инициализируется Configuration server и mongos
-
- К mongos добавляются шарды.
- Нет защиты и авторизации, используются публичные адреса
- Mongos и mongoc запускаются только в 1 экземпляре
- python modules: boto (for AWS)
- должны быть сгенерированы ключи доступа в AWS и установлены в ssh-agent на машине, где запускается ansible
- группа безопасности AWS должна разрешать внешние коннекты на 22, 27016, 27017 порты
- Прописать параметры в group_vars/all
- $ export AWS_ACCESS_KEY_ID='AK123'
- $ export AWS_SECRET_ACCESS_KEY='abc123'
- $ ansible-playbook aws.install.yml
-
- Найти public ip EC2-машины с mongos (теги: name=mongo, group=mongos)
-
- Подключиться: mongo :27017
-
- sh.status();
-
- db.stats();
- Добавить авторизацию и ограничения доступа в Mongo
- Добавить создание и управление сетями AWS
- Добавить переменные для настройки сетей, региона, образов EC2
- Переработать получение хостов для EC2 (динамический инвентарь)
- Добавить поддержку реплик для config-сервера
- Добавить поддержку множественного mongos-сервера
- Использовать внутреннюю сеть для связи реплик и mongos вместо публичной