Каждый из ваших проектов Python по умолчанию будет использовать одни и те же каталоги. Проблема возникает, когда у вас есть проекты, использующие разные версии Python. Виртуальные среды важны для разделения зависимостей, необходимых для разных проектов.
В этом проекте мы:
- Создайте пользователя, загрузите учетные данные и настройте интерфейс командной строки AWS.
- Создайте экземпляр Ubuntu 20.04 Ec2 (t2. Micro)
- Подключитесь к экземпляру и войдите в него с помощью пары ключей
- Обновите обновления и обновите все пакеты на экземпляре
- Создайте каталог под названием «среда» и создайте виртуальную среду Python в этом каталоге.
- Активируйте эту виртуальную среду и убедитесь, что среда работает.
- Создайте программу под названием hello.py
- печать «Hello, World!» в этом файле
- Запустите программу
Пользователь IAM
Для этого проекта нам понадобится пользователь с программным и консольным доступом.
- Перейдите в IAM.
- Нажмите Пользователи.
- Нажмите Добавить пользователя.
- Для страницы Добавить пользователя:
- Имя пользователя: создайте имя пользователя.
- Тип доступа: выберите Программный доступ и доступ к Консоли управления AWS.
- Пароль консоли: выберите собственный пароль.
- Требовать сброса пароля: снимите флажок "Пользователь должен создать новый пароль при следующем входе в систему".
5. Нажмите Далее.
6. Мы пока не будем добавлять нашего пользователя в группу. Нажмите Далее.
7. Мы не будем добавлять никаких тегов. Нажмите Далее.
8. Нажмите Создать пользователя.
9. Позже нам понадобятся наши ID ключа доступа и Секретный ключ доступа, поэтому нажмите кнопку Загрузить .csv.
Установка AWS CLI
Я использую сервер CentOS 8, но вы можете выполнить быстрый поиск в Google по запросу AWS CLI Install, если вы используете что-то другое.
- Установите 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.
Создать пару ключей
- Выполните следующую команду, чтобы создать пару ключей с именем 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. Эту информацию вам предоставит быстрый онлайн-поиск.
- Выполните следующую команду, чтобы создать группу безопасности с именем 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
- Выполните приведенную ниже команду, чтобы создать экземпляр 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
- Выполните команду ниже, чтобы найти общедоступный 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
- Выполните следующее, чтобы обновить пакеты в своем экземпляре 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
Создать виртуальную среду
- Установите 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
- Давайте создадим простое "Hello, World!" функция печати.
$ vim hello.py
2. Нажмите i на клавиатуре, чтобы войти в режим вставки, и введите следующее :
print("Hello, World!")
3. Нажмите клавишу Esc, чтобы выйти из режима вставки, затем введите : wq, чтобы сохранить и вернуться в терминал.
4. Введите в терминале следующую команду.
$ python hello.py
5. Вы должны увидеть слова «Hello, World!» напечатаны на экране.
Очистить
- Удалите наш экземпляр 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