Настройка документной базы данных

Начало работы с Amazon DocumentDB (с поддержкой MongoDB) и AWS Cloud9

Сервис Amazon DocumentDB (с поддержкой совместимости с MongoDB) – это быстрая, масштабируемая, высокодоступная и полностью управляемая документная база данных, которая поддерживает рабочие нагрузки MongoDB, позволяет хранить и индексировать данные JSON, а также запрашивать их.

В этом руководстве описаны основные шаги по началу работы с Amazon DocumentDB в среде AWS Cloud9. Вы научитесь подключаться к кластеру Amazon DocumentDB из среды AWS Cloud9 через оболочку Mongo, а также сможете создать несколько запросов.

Обзор стоит около 0,08 USD.

На схеме ниже показана финальная архитектура, которую вы научитесь создавать благодаря этому обзору.

getting-started-amazon-documentdb-with-aws-cloud9-1
Подробнее об этом учебном пособии
Время Не более 10 минут                                  
Стоимость

Для прохождения этого курса нужен средний инстанс Amazon DocumentDB T3, который стоит около 0,08 USD. Дополнительные сведения доступны на странице цен на Amazon DocumentDB.

Среда AWS Cloud9 доступна на уровне бесплатного пользования. Дополнительные сведения доступны на странице цен для AWS Cloud9.

Пример использования Базы данных
Продукты Amazon DocumentDB (с поддержкой MongoDB), AWS Cloud9
Аудитория Разработчик
Уровень 200: средний. В этом пособии представлен обзор сервисов и возможностей AWS. Для прохождения курса требуется опыт работы с этими продуктами.
Последнее обновление Август 2020 г.

1. Создание среды AWS Cloud9

1.1 В Консоли управления AWS перейдите в консоль AWS Cloud9 и нажмите кнопку Создать среду.

getting-started-amazon-documentdb-with-aws-cloud9-2

1.2 Введите название DocumentDBCloud9.

getting-started-amazon-documentdb-with-aws-cloud9-3

1.3 Нажмите кнопку Следующий шаг.

getting-started-amazon-documentdb-with-aws-cloud9-4

1.4 В разделе Настройки конфигурации примите все параметры по умолчанию.

1.5 Нажмите кнопку Следующий шаг.

1.6 В разделе Обзор, нажмите кнопку Создать среду.

getting-started-amazon-documentdb-with-aws-cloud9-5

1.7 Создание среды AWS Cloud9 может занять до трех минут.

2. Создание группы безопасности

2.1 В консоли управления Amazon EC2 в разделе Сеть и безопасность выберите Группы безопасности.

2.2 Нажмите Создать группу безопасности.

2.3 В поле Название группы безопасности введите demoDocDB.

2.4 В поле Описание опишите группу.

2.5 В поле VPC примите использование вашего частного виртуального облака по умолчанию.

2.6 В разделе Правила для входящих подключений нажмите Добавить правило.

2.7 В поле Тип выберите Настраиваемое правило TCP.

2.8 В поле Диапазон портов введите 27017.

2.9 Исходная группа безопасности – это группа для среды AWS Cloud9, которую вы только что создали. Под информацией о параметре Источник выберите стандартное значение Настраиваемый. Введите cloud9 в поле, расположенное рядом со значением Настраиваемый, чтобы увидеть список всех доступных групп безопасности.

getting-started-amazon-documentdb-with-aws-cloud9-6

2.10 Выберите группу безопасности aws-cloud9-<environment name>.

2.11 Примите все параметры по умолчанию и нажмите кнопку Создать группу безопасности. Правила для исходящих подключений менять не требуется.

На скриншоте показаны группы безопасности, которые вы создали на этом этапе. Также вы можете видеть группу AWS Cloud9, которая появилась после создания среды AWS Cloud9.

getting-started-amazon-documentdb-with-aws-cloud9-7

3. Создание кластера Amazon DocumentDB

3.1. В консоли управления Amazon DocumentDB в разделе Кластеры нажмите кнопку Создать.

getting-started-amazon-documentdb-with-aws-cloud9-8

3.2. На странице Создание кластера Amazon DocumentDB выберитеdb.t3.medium в поле Класс инстанса, а затем укажите 1 в поле Количество инстансов. Это позволит сократить затраты.

getting-started-amazon-documentdb-with-aws-cloud9-9

3.3. Другие настройки оставьте по умолчанию.

3.4 В разделе Аутентификация введите имя пользователя и пароль.

getting-started-amazon-documentdb-with-aws-cloud9-10

3.5 Активируйте параметр Показывать расширенные настройки.

getting-started-amazon-documentdb-with-aws-cloud9-11

3.6 В разделе Настройки сети выберите demoDocDB в поле Группы безопасности VPC.

getting-started-amazon-documentdb-with-aws-cloud9-12

3.7 Нажмите кнопку Создать кластер.

Сервис Amazon DocumentDB запустил процесс создания кластера, который может занять несколько минут. Вы можете подключиться к кластеру, когда у кластера и инстанса будет отображаться состояние «Доступно». В то время как Amazon DocumentDB создает кластер, вы можете завершить оставшиеся шаги, чтобы подключиться к кластеру.

4. Установка оболочки Mongo

4.1 Если ваша среда AWS Cloud9 открыта, перейдите к шагу 3.

4.2 В консоли управления AWS Cloud9 выберите DocumentDBCloud9 в разделе Ваши среды.

4.3 Выберите Открыть IDE.

4.4 Вставьте следующий код в открытую командную строку, чтобы создать файл репозитория:

echo -e "[mongodb-org-3.6] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.6/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc" | sudo tee /etc/yum.repos.d/mongodb-org-3.6.repo

4.5 По завершении установите оболочку Mongo с помощью этого кода:

sudo yum install -y mongodb-org-shell

4.6 Чтобы шифровать данные при передаче, скачайте сертификат ЦС для Amazon DocumentDB. Используйте для этого следующий код:

wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

4.7 Теперь вы можете подключиться к кластеру Amazon DocumentDB.

5. Подключение к кластеру Amazon DocumentDB

5.1 Найдите свой кластер в консоли управления Amazon DocumentDB в разделе Кластеры. В этом пособии для примера используется кластер docdb-2020-02-08-14-15-11.

getting-started-amazon-documentdb-with-aws-cloud9-13

5.2 Выберите кластер, который вы создали, нажав на идентификатор кластера (docdb-2020-02-08-14-15-11 в этом примере).

5.3 Скопируйте строку подключения, указанную под Подключение к кластеру с помощью оболочки Mongo.

Не заполняйте поле <insertYourPassword> , чтобы ввести пароль при подключении с помощью оболочки Mongo. Так вам не придется предоставлять пароль открытым текстом в незашифрованном виде.

getting-started-amazon-documentdb-with-aws-cloud9-14

5.4 Строка подключения выглядит как код, представленный на скриншоте.

getting-started-amazon-documentdb-with-aws-cloud9-15

5.5 При вводе пароля вы должны увидеть подсказку rs0:PRIMARY>. Это означает, что вы успешно подключились к своему кластеру Amazon DocumentDB.

Если у вас возникнут вопросы или проблемы, посетите страницу Поиск и устранение неполадок, связанных с Amazon DocumentDB.

6. Вставка данных и запросы к ним

6.1 После подключения к кластеру вы можете создать несколько запросов, чтобы ознакомиться с работой документной базы данных.

Чтобы вставить документ, введите следующий код:

db.collection.insert({"hello":"DocumentDB"})

Вы получите такой результат:

WriteResult({ "nInserted" : 1 })

6.2 Вы можете прочитать созданный документ с помощью команды findOne(), поскольку она возвращает только один документ. Используйте для этого следующий код:

db.collection.findOne()

Вы получите такой результат:

{ "_id" : ObjectId("5e401fe56056fda7321fbd67"), "hello" : "DocumentDB" }

6.3 Чтобы создать несколько запросов, воспользуйтесь примером с профилями для разработчиков игр. Сначала введите несколько записей в набор соответствующих профилей. Используйте для этого следующий код:

db.profiles.insertMany([

{ "_id" : 1, "name" : "Tim", "status": "active", "level": 12, "score":202},

{ "_id" : 2, "name" : "Justin", "status": "inactive", "level": 2, "score":9},

{ "_id" : 3, "name" : "Beth", "status": "active", "level": 7, "score":87},

{ "_id" : 4, "name" : "Jesse", "status": "active", "level": 3, "score":27}

])

Вы получите такой результат:

{ "acknowledged" : true, "insertedIds" : [ 1, 2, 3, 4 ] }

6.4 Используйте команду find(), чтобы получить все документы из набора профилей. Используйте для этого следующий код:

db.profiles.find()

Вы получите такой результат:

{ "_id" : 1, "name" : "Tim", "status" : "active", "level" : 12, "score" : 202 }

{ "_id" : 2, "name" : "Justin", "status" : "inactive", "level" : 2, "score" : 9 }

{ "_id" : 3, "name" : "Beth", "status" : "active", "level" : 7, "score" : 87 }

{ "_id" : 4, "name" : "Jesse", "status" : "active", "level" : 3,

6.5 Создайте запрос для получения одного документа с помощью фильтра. Используйте следующий код:

db.profiles.find({name: "Jesse"})

Вы получите такой результат:

{ "_id" : 4, "name" : "Jesse", "status" : "active", "level" : 3, "score" : 27 }

6.6 Обычный способ, которым пользуются разработчики игр, заключается в поиске профиля определенного пользователя и повышении значений в его профиле. Например, вы хотите провести акцию для самых лучших активных геймеров. Если геймер заполняет опрос, вы добавляете ему 10 баллов.

Для этого используйте команду findAndModify. Допустим, Тим получил и заполнил опрос. Чтобы добавить баллы для профиля Тима, введите следующий код:

db.profiles.findAndModify({

   query: { name: "Tim", status: "active"},

   update: { $inc: { score: 10 } }

})

Вы получите такой результат:

{

      "_id" : 1,

      "name" : "Tim",

      "status" : "active",

      "level" : 12,

      "score" : 202

}

6.7 Вы можете проверить правильность результата с помощью следующего запроса:

db.profiles.find({name: "Tim"})

Вы получите такой результат:

{ "_id" : 1, "name" : "Tim", "status" : "active", "level" : 12, "score" : 212 }

7. Очистка данных

По завершении обзора выключите кластер Amazon DocumentDB или удалите кластер, чтобы не платить за его использование в будущем.

По умолчанию после 30 минут неактивного состояния среда AWS Cloud9 останавливает работу соответствующих инстансов EC2, что также позволяет экономить средства.

 

Поздравляем!

Благодаря этому руководству вы научились создавать среду AWS Cloud9 для начала работы с Amazon DocumentDB.

Вы установили оболочку Mongo, создали кластер Amazon DocumentDB, подключились к нему, отправили несколько запросов, попробовали вставить данные и создать запросы к документам JSON с помощью Amazon DocumentDB.

Сервис Amazon DocumentDB (с поддержкой совместимости с MongoDB) – это быстрая, масштабируемая, высокодоступная и полностью управляемая документная база данных, которая поддерживает рабочие нагрузки MongoDB, позволяет хранить и индексировать данные JSON, а также запрашивать их.

Была ли полезной информация, представленная в этом учебном пособии?

Спасибо!
Укажите, что вам понравилось.
Close
Приносим извинения за причиненные неудобства
Вы обнаружили устаревшую, неточную или неподходящую информацию? Оставьте свой отзыв, чтобы мы могли улучшить качество предоставляемых услуг.
Close