Статьи

EC2 = Easy Cloud 2.0? Начало работы с облаком Amazon

Если вы такой человек, как я, работающий в командной строке, и я в Ubuntu, то этот пост для вас. Начать с Amazon было для меня болью, хотя, как только вы поймете основы, это сравнительно легко. Кстати, есть и другие облачные системы, такие как Rackspace или Azure.

Если вы хотите, чтобы официальный сервер Ubuntu LTS (в настоящее время 10.04) работал в Amazon Cloud, вы можете сделать следующее:

ec2-run-instances ami-f60e3c82 --region eu-west-1 --instance-type m1.small --key amazon-key

или перейдите на эту страницу и выберите другой AMI. Хм, вы уже устали от всех формулировок, таких как AMI, EC2 и инстансы? В порядке,

давайте покопаемся в мире амазонок.

Дайте мне знать, если у меня что-то отсутствует или неправильно:

  • AMI: изображение машины Amazon. В нашем случае это хорошо настроенный дистрибутив Linux, и мы можем выбирать из множества различных типов — например, на этой странице .
  • EC2: Elastic Compute Cloud — это масштабируемое решение для хостинга, где у вас есть root-доступ к серверу. Вы можете выбрать мощность и ОЗУ этого экземпляра («сервер») и запускать и останавливать экземпляры по своему усмотрению. В Германии Amazon относительно дорогая по сравнению с существующими хостинговыми решениями (в США это не так). И поскольку эти сервисы также легко масштабируются, использование Amazon или Rackspace практически не дает никаких преимуществ.
  • EBS: Эластичное блочное хранилище — здесь мы храним наши данные. EBS можно подключить к любому экземпляру, но в моем случае мне не нужен отдельный том, я просто могу использовать EBS по умолчанию, смонтированный в / mnt с ~ 150 ГБ, или даже системный раздел / с ~ 8 ГБ. Из википедии :
    Тома EBS обеспечивают постоянное хранилище независимо от времени жизни экземпляра EC2 и действуют подобно жестким дискам на реальном сервере.
  • Работающий экземпляр всегда привязан к одному ключу (именованный открытый ключ). После запуска вы не можете изменить его.
  • S3: Простая служба хранения . Может использоваться, например, в целях резервного копирования, имеет собственный API (REST или SOAP). Не рассматривается в этом мини-посте.
  • Зона доступности: расположение центра обработки данных, например, eu-west-1 — Ирландия или us-west-2 — Орегон. Преимущество наличия разных регионов / зон состоит в том, что в случае сбоя одного центра обработки данных у вас есть запасной вариант в другом. Но большой недостаток разных зон заключается в том, что, например, перенос настроенных AMI в другой регион немного сложен, и вам потребуется снова импортировать ключи и т. Д.

Но даже сейчас, после «понимания» формулировки, не так легко начать работу, и, например, приведенная выше команда не будет работать «из коробки» .

Для работы вышеуказанной команды вам понадобится:

  1. Аккаунт Amazon и много денег ;)или используйте микро-экземпляр, который предоставляется бесплатно в течение одного года и для нового аккаунта IMO
  2. Инструменты ec2, установленные локально: sudo apt-get install ec2-api-tools
  3. Эти учетные данные амазонки хранятся и добавлены к вашему SSH-агент:
    экспорт EC2_PRIVATE_KEY = / дом / пользователь / .ssh / сертификата privatekey.pem
    экспорт EC2_CERT = / дом / пользователь / .ssh / certificate.pem
  4. Проверьте функциональность с помощью
    ec2-description-instances –region eu-west-1
  5. Теперь вам нужно создать пару ключей и импортировать общедоступную в свою учетную запись (выберите подходящую зону доступности!)
    Консоль Aws -> Ec2 -> Сеть и безопасность -> Пары ключей -> Импорт пары ключей и выберите amazon-key в качестве имени.
  6. Затем введите ваш локальный ssh-агент с закрытым ключом:
    ssh-add /home/user/.ssh/amazon-key
  7. Теперь вы сможете выполнить указанную выше команду. Для просмотра экземпляра через веб-интерфейс вам необходимо обновить сайт.
  8. Откройте порт 22 для группы безопасности по умолчанию:
    Консоль Aws -> Ec2 -> Сеть и безопасность -> Группы безопасности -> Щелкните по умолчанию по умолчанию, а затем на вкладке «Входящие» -> введите «22» в диапазоне портов -> Добавить Правило -> удалить другие конфигурации -> Применить изменения правил
  9. Теперь попробуйте войти в систему
    ssh [email protected]
    Для официальных AMI Amazon вы должны будете использовать ec2-user в качестве логина

Это было легко :)Нет?

Хорошо, теперь вам придется настраивать и устанавливать программное обеспечение по
своему усмотрению, например, sudo apt-get update && sudo apt-get upgrade -y

Чтобы продолжить дальше, вы можете

  • Прикрепите статический IP-адрес к экземпляру, чтобы не нужно было менять внешние приложения после перемещения экземпляра — или использовать этот IP-адрес для своего балансировщика нагрузки — или использовать балансировщик нагрузки Amazon и т. Д.:
    Консоль Aws -> Ec2 -> Сеть и безопасность -> Эластичные IP -> Выделить новый адрес
  • Откройте еще несколько портов, таких как порт 80
  • Или вы можете создать AMI вашей уже настроенной системы. Вы даже можете опубликовать этот пользовательский AMI.
  • Запустите ElasticSearch в качестве поискового сервера в облаке, например, даже через пакет debian, что делает его очень простым.

Теперь, если у вас есть несколько экземпляров, и вы хотите

обновить программное обеспечение на всех машинах.

Как бы Вы это сделали? Вот одна возможность

ips=`ec2-describe-instances --region eu-west-1 | grep running | cut -f17 | tr '\n' ' '`

for IP in $ips
do
 echo UPDATING $IP;
 ssh -A ubuntu@$IP "cd /somewhere; bash ./scripts/update.sh";
done

 

От http://karussell.wordpress.com/2011/12/20/ec2-easy-cloud-2-0-getting-started-with-the-amazon-cloud/