Я пытаюсь использовать скрипт для создания связи между агентом и менеджером в AWS, который я использую для FIM с AWS ElasticBeanstalk, Ossec / Wazuh и скриптом Python, хранящимся в корзине s3.
Я использую boto3 для извлечения тегов экземпляра, чтобы присвоить имя экземпляру агента в моем экземпляре агента. Я могу установить агент Wazuh и затем начать регистрацию агента в экземпляре менеджера. В основном, настройка рукопожатия через разделение manager_ip и некоторой другой информации.
Основной скрипт установки работает так,
os.system('sudo yum update')
os.system('sudo touch /etc/yum.repos.d/wazuh.repo')
os.system('sudo chmod number /etc/yum.repos.d/wazuh.repo')
os.system('pip install boto3')
os.system('pip install requests')
и затем я регистрирую агента в экземпляре менеджера в другом скрипте, где я использую boto3 и запрашиваю, и получаю ошибку.
В настоящее время Boto3 извлекает теги и имя экземпляра и отображает то, что я хочу. Однако сразу после этого он сообщает мне об этой ошибке:
Ошибка: объект «модуль» не имеет атрибута «пакеты»
(без модуля boto3 и запросов)
Когда я использую оболочку pipenv, чтобы посмотреть поближе, я вижу, что она не распознает boto3 или запросы, которые я импортирую в сценарий моего агента регистрации. Если я удовлетворяю этим требованиям (запросы на установку pip boto3 / pip локально в моем экземпляре EC2), он затем выдает мне ошибку с правами доступа 13 позже, что означает, что мне нужен доступ sudo к сценарию.
Если я использую sudo python myfile.py, он отправляет мне
Ошибка: объект «модуль» не имеет атрибута «пакеты»
Когда я делаю «какой питон» и «sudo, какой питон», они используют один и тот же путь, и когда я ищу пакеты, я вижу, что они доступны.
Итак, мой вопрос: где python хранит загруженные пакеты в aws cli? И как я могу подключить их, чтобы они были доступны для использования сценарием?