Установка AWS CLI версии 1 на Ubuntu

К чему это служит
AWS CLI — это интерфейс командной строки, который позволяет управлять сервисами Amazon Web Services из терминала. Он удобен для автоматизации, скриптов и CI/CD. Версия 1 поставляется в «bundled» пакете, содержащем нужные зависимости, что удобно для офлайн-инсталляций.
Основные требования
- Операционная система: Ubuntu (или совместимый дистрибутив Linux).
- Python: версия 3.6 или выше.
- Права: для установки в системные каталоги требуются права sudo.
Важно: если на машине уже есть системный Python, убедитесь, что установка Python не нарушит другие системные зависимости.
Установка зависимостей (APT)
Перед сборкой Python из исходников установите базовые пакеты и библиотеки разработки:
sudo apt install build-essential checkinstallsudo apt install libreadline-gplv2-dev libncursesw5-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-devПримечание: команды приведены для APT (Debian/Ubuntu). Для других дистрибутивов используйте эквиваленты пакетных менеджеров (yum, dnf, zypper и т.д.).
Установка Python на Ubuntu
- Скачайте архив Python (пример для 3.6.0):
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz- Распакуйте архив:
tar xvf Python-3.6.0.tar.xz- Перейдите в каталог исходников:
cd Python-3.6.0/- Сконфигурируйте сборку:
./configureЕсли конфигурация завершилась с ошибкой по оптимизациям, повторите с флагом:
./configure --enable-optimizations- Соберите и установите Python без перезаписи системного python (используйте altinstall):
sudo make altinstallСовет: make altinstall создаёт исполняемый файл python3.6 без замены /usr/bin/python.
Установка AWS CLI версии 1 через Bundled Installer
Bundled installer включает все зависимости и подходит для офлайн-установки.
- Скачайте архив через curl:
curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"Альтернативно можно загрузить архив через веб-браузер на официальном сайте.
- Распакуйте пакет:
unzip awscli-bundle.zip- Запустите установщик, указав каталог установки и путь для символьной ссылки на исполняемый файл:
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/awsПараметры:
- -i — каталог установки AWS CLI
- -b — путь к создаваемой символьной ссылке (/usr/local/bin/aws)
- Проверьте установку:
aws --versionОжидаемый формат вывода при успешной установке (пример):
aws-cli/1.15.58 Python/3.5.2 Linux/5.11.0-25-generic botocore/1.10.57Если версия и Python отображаются, значит aws установлен и доступен в PATH.
Удаление AWS CLI версии 1
Чтобы удалить установленный пакет и связку:
sudo rm -rf /usr/local/awssudo rm /usr/local/bin/awsПосле удаления проверьте, что команда aws больше не доступна:
which aws || echo "aws не найден"Альтернативы и когда использовать их
- pip: быстрый способ установки для пользователей, у которых уже есть Python и pip. Установка через pip проще, но требует сетевого доступа и совместимости с системным Python.
- Официальная версия AWS CLI v2: содержит улучшения, встроенные зависимости и официальный дистрибутив для Linux. Для новых проектов рекомендуется v2, так как v1 уже устаревшая ветка.
Когда выбрать Bundled Installer (v1):
- Нет доступа в интернет во время установки (офлайн).
- Нужна совместимость со скриптами, заточенными под v1.
Когда выбрать pip или v2:
- Требуется быстрее развернуть на рабочей станции/CI.
- Предпочитаете официальную поддержку и новые функции (v2).
Практическая методология установки (шаги одного взгляда)
- Установите системные зависимости (APT).
- Установите или убедитесь в наличии Python 3.6+.
- Скачайте awscli-bundle.zip.
- Распакуйте и запустите install с нужными флагами.
- Проверьте версию и работоспособность.
- При необходимости удалите каталоги и ссылки.
Контрольные списки по ролям
Разработчик:
- Есть доступ к терминалу и sudo.
- Проверен локальный Python 3.6+.
- Установлен aws и настроено профилирование (aws configure).
Системный администратор:
- Установлены необходимые системные пакеты.
- Инсталляция развернута в /usr/local/aws.
- Созданы документированные команды отката.
DevOps/CI-инженер:
- Автоматизация установки в скриптах окружения.
- Проверка версии aws в процессе сборки.
- Учет совместимости с образами контейнеров.
Советы по отладке
- Если команда aws не найдена, убедитесь, что /usr/local/bin в PATH.
- Проверяйте, какой Python используется aws (иногда aws может запускаться под другим интерпретатором).
- Для проблем с правами запуска проверьте права на /usr/local/aws и /usr/local/bin/aws.
Миграция с v1 на v2 — на что обратить внимание
- v2 поставляется в виде отдельного установщика и не всегда совместима с упаковками v1.
- Скрипты, использующие нестандартные расширения или хук-обработчики v1, стоит протестировать перед миграцией.
- Перед массовым переходом проведите тестовую установку v2 в staging-окружении.
Часто задаваемые вопросы
Как быстро установить AWS CLI через pip?
- Убедитесь, что установлены Python и pip.
- Выполните:
pip install awscli --upgrade --user- Добавьте ~/.local/bin в PATH, если нужно.
Требуется ли root для установки?
Для установки в системные каталоги (например, /usr/local) нужны права sudo. Можно установить в пользовательский каталог без sudo с помощью pip и опции –user.
Можно ли использовать AWS CLI v1 с Python 3.8 и выше?
Да, AWS CLI v1 совместим с Python 3.6 и выше, но всегда проверяйте работоспособность конкретных команд и библиотек в вашей среде.
Факт-бокс: ключевые пункты
- Минимальная требуемая версия Python: 3.6.
- Bundled installer полезен для офлайн-установок.
- pip — быстрый вариант для онлайн-инсталляций.
- Рекомендуется рассматривать AWS CLI v2 для новых проектов.
Безопасность и приватность
- Не хранятся секреты AWS в явном виде в скриптах. Используйте aws configure для безопасного хранения профилей.
- Для автоматизации применяйте роли IAM с минимально необходимыми правами.
Критерии приёмки
- Команда aws –version возвращает версию.
- Выполнение aws s3 ls (или эквивалентной безопасной команды) завершается без ошибок при корректной конфигурации.
- Установленные файлы присутствуют в /usr/local/aws и символьная ссылка доступна в /usr/local/bin/aws (если применялся -b).
Итог
Bundled installer AWS CLI v1 — надёжный способ установить AWS CLI в условиях ограниченного доступа к сети или когда требуется полностью укомплектованный пакет зависимостей. Для большинства современных сценариев стоит оценить установку через pip или перейти на AWS CLI v2. Выберите путь установки, который соответствует требованиям вашей инфраструктуры и процессам безопасности.
Краткое резюме:
- Установите зависимости, затем Python 3.6+.
- Скачайте awscli-bundle.zip и распакуйте.
- Выполните установщик с -i и -b, проверьте aws –version.
- Для удаления удалите каталог установки и символьную ссылку.
Заметка: если требуется помощь с командами в вашем окружении или сценариями CI, следуйте чек-листам выше и протестируйте на staging.