Альтернативные инструменты для Amazon EC2? - PullRequest
9 голосов
/ 09 апреля 2009

Официальные инструменты Amazon для взаимодействия с EC2 довольно неуклюжи и трудны для решения. Я должен настроить кучу переменных среды, хранить отдельные закрытые ключи только для EC2, добавлять дополнительные элементы в мой PATH и так далее. Все они выводят строки с разделителями табуляции, которые состоят из сотен символов без заголовков, поэтому интерпретировать их довольно сложно. В их инструкциях по настройке пары ключей SSH вместо того, чтобы использовать существующую пару ключей, у вас есть такая, которая не защищена парольной фразой. Все программы немного неуклюжи и не очень хорошие Unix-программы.

Итак, есть ли более простые в использовании инструменты командной строки для доступа к EC2? Я знаю, что есть ElasticFox, и есть их веб-консоль, которая облегчает процесс, но мне интересно, кто-нибудь еще написал лучшие инструменты командной строки для взаимодействия с EC2.

Ответы [ 9 ]

11 голосов
/ 09 мая 2009

Я немного опоздал, но у меня есть решение!

Я обнаружил те же проблемы с инструментами Amazon AMI. Это достойная эталонная реализация, но ее очень сложно использовать, особенно если у вас более пары экземпляров. Я написал инструмент командной строки для замены в рамках другого проекта, который называется Rudy и который отвечает большинству ваших проблем

Команды более интуитивно понятны, чем инструменты AMI Amazon:

  • rudy-ec2 instances -C
  • rudy-ec2 groups -A -p 8080 -a 11.22.33.44 group-name
  • rudy-ec2 volumes -C -s 100
  • rudy-ec2 images
  • ...

Вся конфигурация находится в одном файле (~/.rudy/config).

Может выводить в нескольких форматах (yaml, json, csv, tsv и, конечно, обычный текст):

rudy-ec2 -f yaml snapshots
--- 
:awsid: snap-2457b24d
:progress: 100%
:created: "2009-05-08T15:24:17.000Z"
:volid: vol-4ee10427
:status: completed

Относительно закрытых ключей. В EC2 нет инструментов, позволяющих создавать закрытые ключи с паролем для загрузки открытого экземпляра , поскольку API его не поддерживает. Однако, если вы создаете свой собственный образ, вы можете использовать свои личные ключи.

Подробнее:

4 голосов
/ 27 апреля 2009

Я лично использую инструменты командной строки Perl Тима Кея и довольно давно не использовал оригинальный API на основе Java. Отлично подходит для среды UNIX.

4 голосов
/ 09 апреля 2009

ElasticFox удобен для большинства задач. Это случаи, когда инструмент командной строки лучше подойдет. Я лично использую библиотеку boto для python. Это очень легко написать все необходимые операции. Вы также можете использовать его для загрузки / скачивания файлов с S3. В целом, я бы сказал, что язык сценариев, такой как Python или RUby, вместе с библиотекой AWS является лучшим решением.

3 голосов
/ 10 апреля 2009

Не командная строка, но посмотрите, что даст вам бесплатная учетная запись RightScale - намного, намного проще, чем командная строка или ElasticFox IMO.

1 голос
/ 04 ноября 2012

О ec2-api-tools:

Я согласен, что они немного неуклюжи, мне особенно не нравится вывод ec2-description-instance. Недавно я перешел на python-boto, который предлагает очень чистый и простой в использовании интерфейс для ec2.

О невозможности указать фразу-пароль для ключа ssh, сгенерированного EC2:

Это не тот случай. Вы можете в любое время изменить кодовую фразу любого закрытого ключа ssh, используя:

ssh-keygen -p -f /path/to/keyfile

1010 * Е.Г. *

ssh-keygen -p -f ~/.ssh/id_rsa

О загрузке собственной пары ключей ssh:

Вы можете использовать ec2-import-keypair, например так:

for i in $(ec2-describe-regions|cut -f 2);do
  ec2-import-keypair --region $i mykey --public-key-file ~/.ssh/id_rsa.pub
done

Приведенный выше пример загрузит открытый ключ в ~ / .ssh / id_rsa.pub в каждый регион под именем «mykey». Помните, что в каждом регионе есть своя собственная пара ключей.

Чтобы ключ был установлен в ваших экземплярах ec2, вам нужно передать параметр "-k mykey" в ec2-run-instances.

Между прочим, загрузка собственной пары ключей - это единственный способ войти с тем же ключом во все экземпляры во всех регионах. Если вы создадите пару ключей из веб-интерфейса, у вас будет свой ключ в каждом регионе.

0 голосов
/ 27 марта 2012

Существует целая отрасль под названием Cloud Management , которая пытается решить этот тип проблем. Scalr и RightScale и лидеры в этом секторе (отказ от ответственности: я работаю в Scalr).

ПО для управления облаком построено на основе Amazon EC2 API (и обычно на других общедоступных IaaS, таких как Rackspace) и предоставляет улучшенный пользовательский интерфейс наряду с инструментами автоматизации, такими как резервное копирование или управление SSH, как вы упомянули. Они не предоставляют более простых инструментов командной строки. Их цель - облегчить взаимодействие с Amazon EC2.

На рынке доступны различные варианты:

  • Scalr : Scalr доступен в качестве размещенной службы с пробной версией. В противном случае вы можете скачать и установить исходный код самостоятельно, так как он выпущен под лицензией Apache 2.
  • RightScale : хотя они обычно считаются дорогими для малых предприятий, они предлагают бесплатный аккаунт.
  • enStratus : они предлагают модель с фримием, например RightScale.
0 голосов
/ 23 августа 2011

проблема с альтернативными библиотеками заключается в том, что они не всегда обновляются, поэтому, если будут выпущены новые функции для AWS, вам придется подождать. Вы писали, что ваши основные проблемы - куча переменных среды, добавление дополнительных элементов в ваш PATH и т. Д. У нас было это проблема в BitNami , и это главная причина, по которой мы создали BitNami Cloud Tools , которая поставляет все инструменты командной строки AWS вместе с предварительно настроенными средами исполнения Java и Ruby. Вам нужно только загрузить его, и все, что вам нужно, будет установлено в папку без изменения конфигурации вашей системы. Мы регулярно обновляем его.

0 голосов
/ 10 апреля 2011

Если вы используете Windows, попробуйте инструмент, связанный ниже (часть платформы O2 ), который дает вам простой способ запуска и остановки изображений Amazon EC2 (и если вам нужно расширить этот инструмент, вы может легко добавлять новые функции (так как это просто скрипт C #, который динамически компилируется и выполняется)

0 голосов
/ 14 августа 2009

У меня есть инструмент системного администратора с открытым исходным кодом EC2Dream, который заменяет инструмент командной строки. Он устанавливается на клиентах Windows, Linux и Mac OS и написан на Ruby и FXRuby. Смотрите www.ec2dream.com.

Нил Тернер

www.ec2dream.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...