10 основных команд AWS CLI для ежедневного управления ресурсами

Раскройте весь потенциал AWS с этим незаменимым справочником по 10 основным командам AWS CLI. Это руководство охватывает важнейшие команды для ежедневного управления ресурсами, включая хранилище S3, вычислительные экземпляры EC2 и администрирование пользователей IAM. Научитесь эффективно перечислять, копировать, синхронизировать, запускать, останавливать, завершать работу и управлять разрешениями пользователей. Повысьте свою производительность, автоматизируйте задачи и оптимизируйте свои операции в AWS с помощью практических примеров и лучших практик. Идеально подходит для разработчиков, инженеров по эксплуатации и облачных администраторов, стремящихся освоить AWS CLI.

26 просмотров

10 основных команд AWS CLI для ежедневного управления ресурсами

Введение

В динамичном мире облачных вычислений Amazon Web Services (AWS) является ведущей платформой, предлагающей обширный набор сервисов. В то время как консоль управления AWS (AWS Management Console) предоставляет удобный графический интерфейс, интерфейс командной строки AWS (AWS CLI) предлагает непревзойденную мощь и гибкость для управления ресурсами. CLI — это инструмент с открытым исходным кодом, который позволяет взаимодействовать со службами AWS с помощью команд в терминале, что делает его незаменимым для автоматизации, написания скриптов и эффективного выполнения ежедневных операционных задач.

Освоение AWS CLI может значительно повысить вашу производительность, позволяя быстро просматривать, создавать, изменять и удалять ресурсы в ваших учетных записях AWS. Эта статья послужит важнейшей шпаргалкой, выделяющей 10 основных команд AWS CLI, которые должен знать каждый пользователь AWS для ежедневного управления ресурсами, с особым акцентом на Amazon S3 (хранилище), Amazon EC2 (вычисления) и AWS IAM (управление идентификацией и доступом).

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

Предварительные условия

Прежде чем начать, убедитесь, что у вас установлен и настроен AWS CLI в вашей системе. Если нет, следуйте официальной документации AWS, чтобы установить его и настроить учетные данные (идентификатор ключа доступа, секретный ключ доступа и регион по умолчанию).

# Проверить версию AWS CLI
aws --version

# Настроить AWS CLI (если еще не сделано)
aws configure

Основные команды AWS CLI для Amazon S3 (Simple Storage Service)

Amazon S3 — это высокомасштабируемая, долговечная и доступная служба объектного хранилища. Эти команды жизненно важны для управления вашими корзинами и объектами.

1. aws s3 ls - Список корзин и объектов S3

Эта команда позволяет просмотреть ваши корзины S3 или объекты внутри определенной корзины. Это часто первый шаг к пониманию вашего ландшафта хранилища.

Назначение: Просмотр корзин S3 или содержимого корзины.

Пример:

# Список всех корзин S3 в вашей учетной записи
aws s3 ls

# Список объектов в определенной корзине
aws s3 ls s3://your-bucket-name/

# Рекурсивный список объектов с удобочитаемыми размерами и датами
aws s3 ls s3://your-bucket-name/ --recursive --human-readable --summarize

Советы:
* Используйте --recursive для перечисления всех объектов и подпапок. --summarize предоставляет общее количество и размер.
* Вы также можете указать путь внутри корзины: aws s3 ls s3://your-bucket-name/prefix/.

2. aws s3 cp - Копирование файлов в S3 и из него

Команда cp является фундаментальной для передачи файлов между вашей локальной файловой системой и S3, или даже между корзинами S3.

Назначение: Копирование локальных файлов в S3, объектов S3 на локальный компьютер или объектов S3 между корзинами.

Пример:

# Скопировать локальный файл в корзину S3
aws s3 cp local-file.txt s3://your-bucket-name/folder/remote-file.txt

# Скопировать объект из S3 на локальный компьютер
aws s3 cp s3://your-bucket-name/folder/remote-file.txt local-copy.txt

# Скопировать объект из одной корзины S3 в другую
aws s3 cp s3://source-bucket/file.txt s3://destination-bucket/new-file.txt

# Рекурсивно скопировать локальную папку в S3
aws s3 cp --recursive local-folder/ s3://your-bucket-name/remote-folder/

Советы:
* --recursive имеет решающее значение для копирования целых каталогов.
* Используйте --exclude и --include для фильтрации файлов во время рекурсивного копирования.

3. aws s3 sync - Синхронизация локальных каталогов с S3

sync — это мощная команда, которая синхронизирует содержимое каталога с префиксом S3 или наоборот. Она копирует только новые или измененные файлы, что делает ее высокоэффективной для резервного копирования и развертывания.

Назначение: Эффективная синхронизация локального каталога с корзиной/префиксом S3.

Пример:

# Синхронизировать локальный каталог с корзиной S3
aws s3 sync local-directory/ s3://your-bucket-name/remote-path/

# Синхронизировать корзину S3 с локальным каталогом
aws s3 sync s3://your-bucket-name/remote-path/ local-directory/

# Сухой запуск, чтобы увидеть, какие изменения будут внесены без их фактического выполнения
aws s3 sync local-directory/ s3://your-bucket-name/remote-path/ --dryrun

Рекомендуемая практика: Всегда сначала используйте --dryrun, чтобы просмотреть изменения перед выполнением операции sync, особенно для критически важных данных.

4. aws s3 rm - Удаление объектов и корзин S3

Эта команда используется для удаления объектов из корзины S3 или для удаления пустой корзины.

Назначение: Удаление объектов или пустых корзин из S3.

Пример:

# Удалить отдельный объект из корзины
aws s3 rm s3://your-bucket-name/path/to/object.txt

# Рекурсивно удалить все объекты в папке (префиксе)
aws s3 rm s3://your-bucket-name/folder/ --recursive

# Удалить пустую корзину
aws s3 rb s3://your-bucket-name/

# Принудительное удаление корзины и всего ее содержимого (ИСПОЛЬЗОВАТЬ С КРАЙНЕЙ ОСТОРОЖНОСТЬЮ!)
aws s3 rb s3://your-bucket-name/ --force

Предупреждение: Команда aws s3 rb --force является разрушительной и необратимой. Используйте ее с крайней осторожностью, так как она удалит все объекты и версии в указанной корзине.

Основные команды AWS CLI для Amazon EC2 (Elastic Compute Cloud)

EC2 предоставляет масштабируемые вычислительные мощности в облаке AWS. Эти команды помогут вам управлять вашими виртуальными серверами.

5. aws ec2 describe-instances - Получение сведений об экземплярах EC2

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

Назначение: Получение подробной информации об одном или нескольких экземплярах EC2.

Пример:

# Описать все экземпляры EC2 в текущем регионе
aws ec2 describe-instances

# Описать экземпляры с определенным тегом (например, Environment=Production)
aws ec2 describe-instances \n    --filters "Name=tag:Environment,Values=Production"

# Описать экземпляры по идентификатору экземпляра
aws ec2 describe-instances --instance-ids i-0abcdef1234567890

# Описать экземпляры и отфильтровать конкретную информацию с помощью JMESPath (например, PublicIpAddress)
aws ec2 describe-instances \n    --query "Reservations[*].Instances[*].{InstanceId:InstanceId,PublicIp:PublicIpAddress,State:State.Name}" \n    --output table

Советы:
* --filters мощный инструмент для сужения результатов на основе состояния экземпляра, тегов, типов экземпляров и многого другого.
* --query позволяет извлекать определенные поля данных и переформатировать вывод (например, с использованием выражений JMESPath).

6. aws ec2 start-instances - Запуск остановленных экземпляров EC2

Используйте эту команду для запуска одного или нескольких остановленных экземпляров EC2. Экземпляры сохранят свои приватные IP-адреса.

Назначение: Инициировать процесс запуска остановленных экземпляров EC2.

Пример:

# Запустить один экземпляр EC2
aws ec2 start-instances --instance-ids i-0abcdef1234567890

# Запустить несколько экземпляров EC2
aws ec2 start-instances --instance-ids i-0abcdef1234567890 i-0fedcba9876543210

7. aws ec2 stop-instances - Остановка запущенных экземпляров EC2

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

Назначение: Остановка запущенных экземпляров EC2.

Пример:

# Остановить один экземпляр EC2
aws ec2 stop-instances --instance-ids i-0abcdef1234567890

# Остановить несколько экземпляров EC2
aws ec2 stop-instances --instance-ids i-0abcdef1234567890 i-0fedcba9876543210

# Принудительная остановка экземпляра (использовать с осторожностью для производственных систем)
aws ec2 stop-instances --instance-ids i-0abcdef1234567890 --force

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

8. aws ec2 terminate-instances - Завершение работы экземпляров EC2

Завершение работы экземпляра навсегда удаляет его и связанные с ним тома EBS (если они не настроены на сохранение после завершения). Это действие необратимо.

Назначение: Окончательное удаление экземпляров EC2.

Пример:

# Завершить работу одного экземпляра EC2
aws ec2 terminate-instances --instance-ids i-0abcdef1234567890

# Завершить работу нескольких экземпляров EC2
aws ec2 terminate-instances --instance-ids i-0abcdef1234567890 i-0fedcba9876543210

Предупреждение: Завершение работы — это постоянное и необратимое действие. Убедитесь, что у вас есть резервные копии или снимки критически важных данных, прежде чем завершать работу экземпляров.

Основные команды AWS CLI для IAM (Identity and Access Management)

IAM позволяет безопасно контролировать доступ к службам и ресурсам AWS. Эти команды помогают управлять пользователями и их разрешениями.

9. aws iam list-users - Список пользователей IAM

Эта команда предоставляет список всех пользователей IAM в вашей учетной записи AWS, а также их ARN, даты создания и идентификаторы пользователей.

Назначение: Просмотр всех пользователей IAM, настроенных в вашей учетной записи AWS.

Пример:

# Список всех пользователей IAM
aws iam list-users

# Список пользователей и извлечение определенных полей с помощью JMESPath
aws iam list-users --query "Users[*].{UserName:UserName,CreateDate:CreateDate,Arn:Arn}" --output table

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

10. aws iam list-attached-user-policies - Список политик, присоединенных к пользователю IAM

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

Назначение: Отображение управляемых политик, присоединенных к пользователю IAM.

Пример:

# Список всех управляемых политик, присоединенных к определенному пользователю IAM
aws iam list-attached-user-policies --user-name YourIAMUserName

# Список встроенных политик, присоединенных к определенному пользователю IAM
aws iam list-user-policies --user-name YourIAMUserName

Советы:
* Помните, что пользователи также могут наследовать разрешения из групп (aws iam list-groups-for-user) и ролей, или иметь встроенные политики (aws iam list-user-policies).
* Чтобы получить сведения о конкретной политике, используйте aws iam get-policy --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess и затем aws iam get-policy-version.

Заключение

AWS CLI — невероятно мощный инструмент для всех, кто управляет ресурсами в Amazon Web Services. Десять команд, описанных в этом руководстве, охватывающих S3, EC2 и IAM, составляют основу ежедневных операционных задач, позволяя вам перечислять, создавать, изменять и удалять облачные ресурсы с эффективностью и точностью.

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

Начните практиковать эти команды сегодня, и наблюдайте, как взлетит ваша производительность в управлении облаком!