Скрипт запуска для MongoDB с использованием пользовательских данных EC2 на запущенном экземпляре - PullRequest
0 голосов
/ 04 июня 2018

В нашем экземпляре r4.xLarge EC2 работает MongoDb.Я только что обнаружил, что каждый раз, когда наш экземпляр выключается (по любой причине) и перезапускается, mongo также не запускается.

Мы добавили сценарий запуска, как показано ниже в разделе пользовательских данных для экземпляра EC2.

#!/bin/bash

service mongod restart

service mongod status

Мы по-прежнему наблюдаем то же поведение, что и раньше, что команды не выполняются, и необходимо запустить SSH в экземпляр, чтобы инициировать перезапуск.

Может кто-нибудь указатьЕсть ли какие-либо проблемы со сценарием или предоставить какие-либо конкретные идеи по этому поводу?

Спасибо

1 Ответ

0 голосов
/ 05 июня 2018

Итак, после небольшого исследования я обнаружил, что, поскольку мы НЕ добавляли скрипт пользовательских данных во время первого запуска экземпляра, мне пришлось добавить фрагмент mutipart над #! / Bin / bash

Сценарий теперь выглядит следующим образом:

Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [scripts-user, always]

--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"

#!/bin/bash
sudo service mongod restart
sudo service mongod status

Мораль истории, если вы забыли добавить свои сценарии пользовательских данных экземпляра во время запуска экземпляра и после этого добавили фрагмент над#! / bin / bash

Это потому, что:

  • AWS использует mime-multipart для добавления файла данных пользователя.
  • Он также использует scripts-user, always длязапустите файл.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...