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

В этом проекте мы:

  1. Создайте пользователя, загрузите учетные данные и настройте интерфейс командной строки AWS.
  2. Создайте экземпляр Ubuntu 20.04 Ec2 (t2. Micro)
  3. Подключитесь к экземпляру и войдите в него с помощью пары ключей
  4. Обновите обновления и обновите все пакеты на экземпляре
  5. Создайте каталог под названием «среда» и создайте виртуальную среду Python в этом каталоге.
  6. Активируйте эту виртуальную среду и убедитесь, что среда работает.
  7. Создайте программу под названием hello.py
  8. печать «Hello, World!» в этом файле
  9. Запустите программу

Пользователь IAM

Для этого проекта нам понадобится пользователь с программным и консольным доступом.

  1. Перейдите в IAM.
  2. Нажмите Пользователи.
  3. Нажмите Добавить пользователя.
  4. Для страницы Добавить пользователя:
  • Имя пользователя: создайте имя пользователя.
  • Тип доступа: выберите Программный доступ и доступ к Консоли управления AWS.
  • Пароль консоли: выберите собственный пароль.
  • Требовать сброса пароля: снимите флажок "Пользователь должен создать новый пароль при следующем входе в систему".

5. Нажмите Далее.

6. Мы пока не будем добавлять нашего пользователя в группу. Нажмите Далее.

7. Мы не будем добавлять никаких тегов. Нажмите Далее.

8. Нажмите Создать пользователя.

9. Позже нам понадобятся наши ID ключа доступа и Секретный ключ доступа, поэтому нажмите кнопку Загрузить .csv.

Установка AWS CLI

Я использую сервер CentOS 8, но вы можете выполнить быстрый поиск в Google по запросу AWS CLI Install, если вы используете что-то другое.

  1. Установите PIP.
$ sudo dnf install python3-pip

2. Установите AWS CLI.

$ pip3 install awscli --upgrade --user

3. Проверьте установку AWS CLI.

$ aws --version

4. Настройте AWS CLI.

$ aws configure

5. Ссылайтесь на файл .csv, загруженный при создании нового пользователя.

  • В поле Идентификатор ключа доступа AWS введите свой идентификатор ключа доступа и нажмите Enter.
  • Для AWS Secret Access Key введите свой секретный ключ доступа и нажмите Enter.
  • В поле Название региона по умолчанию введите us-east-1, затем нажмите Enter.
  • Оставьте поле Формат вывода по умолчанию пустым и нажмите Enter.

6. Если выходных данных нет, предположите, что нет проблем с настройкой конфигурации AWS CLI.

Создать пару ключей

  1. Выполните следующую команду, чтобы создать пару ключей с именем pythonkp.
$ aws ec2 create-key-pair --key-name pythonkp --query "KeyMaterial" --output text > pythonkp.pem

2. Используйте nano или другой текстовый редактор, чтобы убедиться, что pythonkp.pem содержит ваш закрытый ключ.

$ nano pythonkp.pem

3. Чтобы убедиться, что ваш ключ не доступен для публичного просмотра, выполните следующее.

$ chmod 400 pythonkp.pem

Создать группу безопасности

Нам понадобится группа безопасности для нашего экземпляра, которая разрешит SSH с 0.0.0.0/0, чтобы мы могли получить доступ к нашему сайту. Это не обязательно лучшая практика, поэтому не стесняйтесь ограничивать SSH только своим IP. Эту информацию вам предоставит быстрый онлайн-поиск.

  1. Выполните следующую команду, чтобы создать группу безопасности с именем SG-WebDMZ.
aws ec2 create-security-group --group-name SG-WebDMZ --description "SG-WebDMZ"

2. Запишите GroupId, потому что он нам понадобится на следующем и последующих шагах.

3. Выполните следующую команду, чтобы обновить правила для входящих подключений для группы безопасности. Не забудьте заменить GroupId на ‹GroupID› на последнем шаге.

$ aws ec2 authorize-security-group-ingress --group-id <SecurityGroupID> --protocol tcp --port 22 --cidr  0.0.0.0/0

Создать EC2

  1. Выполните приведенную ниже команду, чтобы создать экземпляр EC2 со следующими атрибутами:
  • Идентификатор изображения: ami-09e67e426f25ce0d7 (Ubuntu Server 20.04 LTS)
  • Количество: 1
  • Теги: Ключ: Имя, Значение: MyInstance
  • SecurityGroup: SG-WebServer

Не забудьте заменить ‹SecurityGroupId› на свой идентификатор группы безопасности.

$ aws ec2 run-instances --image-id ami-09e67e426f25ce0d7 --count 1 --instance-type t2.micro --tag-specifications 'ResourceType=instance, Tags=[{ Key=Name,Value=MyInstance}]' --security-group-ids <SecurityGroupId> --key-name pythonkp

2. После успешного выполнения команды run-instance на выходе будет шаблон JSON с информацией о новом экземпляре. Просмотрите выходные данные, чтобы убедиться, что имя ключа указано правильно и что группа безопасности была присоединена.

3. Чтобы подтвердить, что наш экземпляр EC2 был создан, мы перечислим наши экземпляры с фильтрацией по нашему тегу.

$ aws ec2 describe-instances --filters "Name=tag:Name,Values=MyInstance" --query "Reservations[].Instances[].InstanceId"

4. Вы должны увидеть аналогичный результат.

SSH в наш экземпляр Ubuntu

  1. Выполните команду ниже, чтобы найти общедоступный IP-адрес нашего экземпляра. Замените ‹Instance Id› своим Instance Id.
$ aws ec2 describe-instances --instance-ids <instance id> --query 'Reservations[*].Instances[*].PublicIpAddress' --output text

2. Запустите следующее для SSH в нашем экземпляре Ubuntu, используя наш pythonkp.pem.

$ ssh -i "pythonkp.pem" ubuntu@<public ip>

3. Введите «Да» и нажмите «Ввод».

4. Теперь вы должны увидеть, что ваш IP-адрес был обновлен до ubuntu @ ‹.

Установить Python

  1. Выполните следующее, чтобы обновить пакеты в своем экземпляре Ubuntu.
$ sudo apt update

2. Следующий запуск:

$ sudo apt -y upgrade

3. Теперь проверьте версию python3, чтобы узнать, была ли она установлена.

$ python3 --version

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

$sudo apt install -y python3-pip

5. Далее мы установим некоторые пакеты и инструменты разработки.

$ sudo apt install -y build-essential libssl-dev libffi-dev python3-dev

Создать виртуальную среду

  1. Установите venv.
$ sudo apt install -y python3-venv

2. Создайте каталог для вашей виртуальной среды.

$ mkdir environment

3. Перейдите в каталог среды.

cd environment

4. Создайте виртуальную среду.

$ python3 -m venv my_env

5. Перечислите вновь созданный каталог my_env, чтобы увидеть его содержимое.

$ ls my_env

6. Активируйте нашу виртуальную среду.

$ source my_env/bin/activate

Обратите внимание, что теперь включен префикс (my_env). Это позволяет узнать, что среда активна.

Запустить файл Python

  1. Давайте создадим простое "Hello, World!" функция печати.
$ vim hello.py

2. Нажмите i на клавиатуре, чтобы войти в режим вставки, и введите следующее :

print("Hello, World!")

3. Нажмите клавишу Esc, чтобы выйти из режима вставки, затем введите : wq, чтобы сохранить и вернуться в терминал.

4. Введите в терминале следующую команду.

$ python hello.py

5. Вы должны увидеть слова «Hello, World!» напечатаны на экране.

Очистить

  1. Удалите наш экземпляр Ubuntu.
$ aws ec2 terminate-instances --instance-ids "<Instance Id>"

2. Удалите пару ключей, если она вам больше не нужна.

$ aws ec2 delete-key-pair --key-name pythonkp

3. Удалите группу безопасности, если она вам больше не нужна.

$ aws ec2 delete-security-group --group-id <GroupId>

4. Удаляем наш test_user. Для этого вы можете использовать CLI, но вам нужно будет обновить AWS Configure, чтобы использовать администратора с правами IAM. Я просто выбрал легкий путь и удалил его из консоли AWS. Ниже приведена команда, если вы хотите использовать интерфейс командной строки.

$ aws iam delete-user --user-name test_user

Вот и все. Надеюсь, эта статья была для вас полезной, и спасибо, что прочитали.

Больше контента на plainenglish.io