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

Всякий раз, когда экземпляр EC2 останавливается и снова запускается, нам нужно вручную получить доступ к экземпляру EC2 через SSH и запустить сервер Jupyter Notebook, чтобы использовать его. Это может быть довольно утомительно, если бы нам приходилось делать это каждый раз, когда мы перезагружаем экземпляр. Я напишу серию постов, чтобы использовать неудобство экземпляра AWS EC2. Это будет первый.

В этом учебном посте я использую Deep Learning AMI (Ubuntu) Version 20.0 — ami-0f9e8c4a1305ecd22, который работает на Ubuntu 16.04. В Ubuntu 18.04 метод настройки будет другим, поэтому ссылайтесь на этот другой пост.

После настройки инстанса EC2 с помощью Deep Learning AMI получите доступ к нему через SSH.

source .bashrc
jupyter notebook --generate-config
key=$(python -c "from notebook.auth import passwd; print(passwd())")

Введите приведенную выше команду и введите пароль, который вы хотите установить для Jupyter Notebook.

cd ~/.ssh
certdir=$(pwd)
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.key -out mycert.pem

Введите команду и нажимайте Enter, пока она не завершится.

cd ~
sed -i "1 a\
c.NotebookApp.ip = '0.0.0.0'\\
c.NotebookApp.open_browser = False\\
c.NotebookApp.password = u'$key'" .jupyter/jupyter_notebook_config.py

Введите команду.

Создайте /home/ubuntu/.jupyter/start_ipynb.sh

#!/bin/bash
source /home/ubuntu/anaconda3/bin/activate python3
/home/ubuntu/anaconda3/envs/python3/bin/jupyter notebook --notebook-dir=/home/ubuntu/&

Скопируйте приведенный выше код в /home/ubuntu/.jupyter/start_ipynb.sh.

Отредактируйте /etc/rc.local, для этого требуется sudo

например судо нано /etc/rc.local

cd /home/ubuntu/
su ubuntu -c 'bash /home/ubuntu/.jupyter/start_ipynb.sh'
exit 0

Вы ВСЕ настроены на автоматический запуск Jupyter Notebook при запуске инстанса.

Я перезагружу свой экземпляр EC2 и получу доступ к Jupyter Notebook без доступа через SSH.

Используя общедоступный IP: 8888, мы можем получить доступ к Jupyter Notebook. Убедитесь, что порт номер 8888 открыт.

Войдите, используя свой пароль.