Это руководство, которое поможет вам разместить приложение Python Flask на экземпляре EC2. Я объясню, как создать экземпляр EC2, а также пример программы фляги!

Прежде чем приступить к процедуре, позвольте мне кратко рассказать о Flask и EC2.

Фляга Python:

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

EC2 Amazon:

Amazon Elastic Compute Cloud (EC2) (технически это должно было быть EC² LOL) - это сервис облачных вычислений IaaS (Инфраструктура как услуга), предоставляемый Amazon. EC2 помогает в развертывании приложений, предоставляя веб-службу, с помощью которой пользователь может загрузить образ машины Amazon (AMI) для настройки виртуальной машины под названием Экземпляры.

Процедура:

Сначала создадим программу фляги. Фляга содержит код Python, содержащий конечные точки. Конечные точки могут быть функцией, которая может запускаться и возвращать ответ при вызове. Если ответом является HTML-файл, его следует сохранить в папке шаблонов.

Вот код Python для колбы

Вот ссылка на Github для веб-шаблонов: https://github.com/saro-mano/Flask_Medium.git

Теперь перейдем к части, посвященной AWS.

Шаг 1. Зарегистрируйтесь

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

Шаг 2. Запустите EC2 и выберите AMI

Когда вы войдете в консоль AWS, нажмите «Запустить виртуальную машину с EC2». Я собираюсь использовать Linux для этого проекта. Итак, я выбираю Amazon Linux 2 AMI (HVM), тип тома SSD [64 бит].

Шаг 3. Выберите мгновенный тип

Для нашего проекта достаточно универсального экземпляра с 1 ГиБ памяти. Итак, я выбираю это:

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

Шаг 4. Запуск экземпляра

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

Теперь дайте имя вашей паре ключей (файл .pem) и загрузите этот ключ, а затем щелкните по запуску экземпляров.

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

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

chmod 400 your-file-name.pem

А затем получите общедоступное DNS-имя из консоли AWS. Это будет примерно так: ec2– x - xxx - xxx - xx .us-east-2 .compute.amazonaws.com

ssh ec2-user @ public-DNS-name -i your-file-name.pem

Затем он запросит подтверждение, ответьте да.

Вуаля! Теперь вы подключены к экземпляру EC2. Помните, что этот экземпляр EC2 - не что иное, как система Linux. Таким образом, вы можете управлять всем EC2 с помощью команд оболочки Linux.

Для начала введите ls и проверьте. Вы ничего не увидите, потому что мы ничего не загрузили.

Для передачи файлов в EC2 нам понадобится FTP-агент. Для этого нам понадобится программа (FileZilla), которая поможет нам загрузить данные в EC2.

Итак, вот такой будет Filezilla (рисунок ниже). Нажмите на верхнюю левую кнопку, обозначенную как «Открыть диспетчер сайта».

Затем в диспетчере сайта установите протокол как SFTP. Затем введите номер хоста. Номер хоста - это не что иное, как публичный публичный идентификатор IPv4 [например: 3.136.245.22], который можно найти с консоли EC2. Укажите тип входа в систему как ключевой файл. Пусть имя пользователя будет ec2-user, потому что это имя пользователя Amazon Linux по умолчанию. Затем укажите путь к вашему файлу .pem и дайте команду connect. Вы будете подключены к своему Linux. Теперь вы можете просто перетащить файлы в Filezilla, и они будут перенесены в EC2.

Теперь в экземпляре EC2 [то есть в вашем терминале], когда вы набираете ls, вы видите папку Flask.

Итак, перед запуском вашей фляги давайте обновим python2 до python3, а затем мы должны установить библиотеку фляги в ваш EC2. Это можно сделать, выполнив следующие команды:

sudo yum install python37

curl -O https://bootstrap.pypa.io/get-pip.py

А потом:

sudo pip3 install flask

Итак, когда вы запускаете флягу python на своем локальном компьютере, по умолчанию он запускается на локальном хосте (http://127.0.0.1) и на порту 5000. Но когда вы запускаете то же самое на EC2, вы должны включить порт и хост. адрес. Для этого нам нужно открыть мастер безопасности.

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

Итак, я запустил свою программу на порту 5000.

Наконец, наша программа Flask работает на экземпляре EC2, и мы можем проверить это, вызвав общедоступный IPv4 DNS (найденный в вашем экземпляре EC2).

Добавьте свой номер порта в конце.

Наконец, мы разместили нашу фляжку на экземпляре EC2. Но эта программа продлится на EC2, пока мы не закроем наш терминал. Помните, что Python Flask предназначен только для быстрой разработки. Не подходит для производственных целей. Для этого нам нужно использовать веб-серверы NGINX и Apache.

Это мой первый пост в блоге. Я изо всех сил старался все прояснить. Если вы почувствовали что-то неоднозначное, дайте мне знать в комментариях. Спасибо за прочтение!