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

В этой статье мы создадим базовый сервер Amazon Web Services (AWS), также называемый сервером EC2, для выполнения наших операций с Python и ноутбуком.

Преимущества

  • Всегда онлайн
  • Большие вычислительные возможности (зависит от сервера)
  • Относительно дешево или бесплатно (если это ваш первый месяц использования AWS)

Самое приятное в этой настройке то, что это ваш сервер , и он будет подключен к сети столько, сколько вы захотите, однако вы можете столкнуться с дополнительными расходами, если не будете контролировать его должным образом. Это особенно заметно при использовании других сервисных платформ для ноутбуков, таких как Google Colab, Kaggle и т. д., которые завершают работу ноутбуков через определенное время или ограничивают тип сервера.

Регистрация в AWS

Сначала мы хотим зарегистрироваться в AWS с их опцией бесплатный уровень, вы можете сделать это на странице регистрации AWS, что даст вам 12 месяцев бесплатного использования определенных сервисов.

Остальная часть процесса регистрации — это простой пошаговый процесс, который мы не будем рассматривать, поскольку макет страницы регулярно меняется. Однако информация, как правило, одна и та же:

  • Контактная информация (имя, фамилия, электронная почта, пароль и т.д.)
  • Платежная информация (действительная кредитная/дебетовая карта
  • проверка личности

С вашей карты не будут списываться средства, если вы пользуетесь бесплатными услугами в течение всего года.

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

Создание сервера (EC2)

После входа в систему нам нужно найти службу EC2. В верхнем левом углу нажмите кнопку Службы и найдите EC2 (в разделе Вычисления).

На странице управления EC2 нажмите кнопку Запустить экземпляры (оранжевая кнопка вверху справа).

Тип изображения

Затем выберите тип вашего образа (сервера), мы будем использовать сервер Linux бесплатного уровня, который обычно находится первым в списке. Однако убедитесь, что под его названием есть тег «Подходит для уровня бесплатного пользования».

Тип экземпляра

Отметьте самый маленький сервер; t2.micro, так как это соответствует условиям бесплатного уровня, и нажмите Просмотреть и запустить.

Вы можете выбрать другую услугу в зависимости от цели (общая, цель, память, хранилище, производительность и т.д.) или типа процессора (CPU,GPU). Просмотрите все Типы инстансов здесь, а также их цены.

При нажатии Просмотреть и запустить мы пропускаем настройку групп безопасности серверов EC2, в результате чего все порты останутся открытыми. Этого бы не произошло в полностью действующей производственной среде, поскольку мы хотели бы ограничить настройки, чтобы разрешить только определенный трафик и определенный IP-адрес.

Запуск

На экране «Запуск» вы можете просмотреть и отредактировать сервер, который будет создан, например, используя дополнительные параметры хранилища, если вам нужно больше места на жестком диске или более быстрый SSD.

Как только вы нажмете «Запустить», вы получите всплывающее окно для загрузки вашей пары ключей.

Пара ключей

Пара ключей — это файл, который будет использоваться для подключения (SSH) к вашему серверу.

Выберите, чтобы Создать новую пару ключей и дать ей узнаваемое имя.

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

После загрузки и безопасного сохранения на вашем компьютере нажмите Запустить экземпляры.

Монитор сервера

Запуск сервера может занять несколько минут, и его можно отслеживать, щелкнув его идентификатор запуска или кнопку в правом нижнем углу экрана.

Вы также можете перейти в раздел служб EC2, как показано на предыдущих шагах, чтобы просмотреть все работающие серверы.

Адрес экземпляра (общедоступный IPv4 DNS)

Щелкните InstanceID и скопируйте Public IPv4 DNS.

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

Подключиться к серверу с помощью Putty (Windows)

Теперь мы можем подключиться к нашему серверу с любого компьютера с Windows и через Putty, полное руководство можно найти в документации AWS. Мы быстро пройдем пошаговый процесс ниже:

Шаг 1.Загрузите Putty

Перейдите по ссылке выше, чтобы загрузить и установить Putty.

Шаг 2. Преобразуйте файл пары ключей (.pem) в закрытый файл (.ppk) с помощью Putty.

В меню "Пуск" Windows найдите PuTTYgen, после открытия убедитесь, что RSA отмечен флажком, и нажмите Загрузить.

Чтобы просмотреть файл пары ключей, выберите Все файлы. Затем выберите файл и нажмите ОК

Шаг 3. Сохраните новый файл .ppk.

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

Примечание: НЕ нажимайте Создать

Вам может потребоваться перемещать мышь по экрану, чтобы создать случайный образ для PuttyGen для создания файла.

Вы можете закрыть PuttyGen

SSH на сервер (Windows) с помощью Putty

Запустите Putty, разверните SSH и выберите Аутентификация, затем Найдите файл закрытого ключа (.ppk), сохраненный ранее.

После загрузки вернитесь в раздел Сеанс.

В поле Имя хоста введите username@PublicIPv4DNS.

Имя пользователя зависит от типа экземпляра. Поскольку мы используем инстанс AWS Linux, имя пользователя — ec2-user.

ec2-user@‹PublicIPv4DNS-адрес

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

После этого нажмите Открыть, чтобы запустить сеанс Putty на нашем сервере.

Подключиться к серверу по SSH (Mac)

Хорошо, я собираюсь схитрить и предоставить только Руководство по Amazon, поскольку у нас нет Mac, доступного для тестирования процесса.

Руководства AWS обычно очень подробные, однако, если у вас есть проблемы, прокомментируйте свои ошибки, и мы поможем, насколько это возможно.

Настройка машинного обучения

  • Питон — обновление
  • пип - установить
  • Блокнот Jupyter — установить

Питон

К счастью, python3 уже установлен на экземпляре Amazon Linux. Однако это мы можем проверить с помощью python3 — version.

Обновите python (другие типы инстансов смотрите в этом руководстве)

точка

Теперь мы можем установить pip, используя

> sudo yum install pip

Введите «y», чтобы завершить процесс.

Настройка Юпитера

в типе командной строки

 > pip3 install jupyter

Однако хорошей практикой является создание виртуальной среды, поскольку мы не будем использовать этот сервер в производстве, поэтому все, что нам нужно сделать, это создать файл pem, настроить jupyter и запустить сервис (подробное руководство можно найти здесь)

В окне Putty в командной строке выполните следующее:

Настройте блокнот:

jupyter notebook — generate-config

Создайте файл закрытого ключа (.key) и сертификата (.pem):

> cd ~
> mkdir ssl 
> cd ssl
> openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem

Вам будет предложено ответить на несколько основных вопросов.

Перейдите в папку с файлом конфигурации:

> cd ~/.jupyter/

Отредактируйте файл конфигурации:

> vi jupyter_notebook_config.py

Нажмите i, чтобы иметь возможность редактировать файл, т. е. вставлять значения. Затем в верхней части файла вставьте следующее:

# Set options for certfile, ip, password, and toggle off
# browser auto-opening
c.NotebookApp.certfile = u'/home/ec2-user/ssl/mycert.pem'
c.NotebookApp.keyfile = u'/home/ec2-user/ssl/mykey.key'
# Set ip to '*' to bind on all interfaces (ips) for the public server
c.NotebookApp.ip = '*'
# Don't open browser by default
c.NotebookApp.open_browser = False
# It is a good idea to set a known, fixed port for server access
c.NotebookApp.port = 8888

Нажмите Esc, чтобы прекратить редактирование. Затем введите ниже, чтобы сохранить и выйти из файла

:wq

Запустить Юпитер

Чтобы запустить службу Jupyter, выполните следующий код

> jupyter notebook

Служба блокнотов Jupyter теперь работает

Чтобы получить к нему доступ, мы заходим в браузер на нашем ЛОКАЛЬНОМ компьютере, т.е. в браузере Chrome или Edge на вашем компьютере, и переходим по адресу

Общий DNS-адрес: 8888

Где PublicDNSAddress — это адрес, который мы сохранили на предыдущих шагах.

Отличная работа! теперь у вас должна быть настроена записная книжка Jupyter, чтобы запустить некоторые модели машинного обучения.

Завершите работу своего экземпляра (необязательно)

Последним пунктом в этом процессе является завершение работы вашего сервера, как только вы закончите. Это остановит любые дополнительные платежи с вашей учетной записи (хотя вы можете запустить это в течение некоторого времени, прежде чем с вас будет взиматься плата).

В AWS перейдите к сервису EC2

Найдите все запущенные экземпляры, выберите их и завершите.

Вы также можете ОСТАНОВИТЬ экземпляр, если хотите запустить его снова позже, что также остановит текущие расходы, но не затраты на хранение и образ.

Дополнительные руководства

Передача файлов с помощью WinSCP