Amazon Elastic Computing Clouds для стартапов

Содержание

Слайд 2

Теоретическая,
или зачем стартапам облака?

Часть Ⅰ

Теоретическая, или зачем стартапам облака? Часть Ⅰ

Слайд 3

EC2 - это сервис аренды серверов с почасовой оплатой
http://aws.amazon.com/ec2/

Что такое
Elastic Computing Cloud?

EC2 - это сервис аренды серверов с почасовой оплатой http://aws.amazon.com/ec2/ Что такое Elastic Computing Cloud?

Слайд 4

Арендовать сервера по требованию
1-3 минуты и сервер запущен
можно запустить десятки-сотни

Арендовать сервера по требованию 1-3 минуты и сервер запущен можно запустить десятки-сотни
серверов одновременно
Выбирать тип сервера
ОС: Linux, Windows, Solaris
CPU, объем памяти и диска
Платить после использования, а не до
метафора “pay by the drink”

Что позволяет EC2?

Слайд 5

Необходимы сервера для экспериментов
Недостаточно средств для аренды серверов
Загрузку сложно

Необходимы сервера для экспериментов Недостаточно средств для аренды серверов Загрузку сложно спрогнозировать Сервера простаивают Проблемы Интернет-стартапов
спрогнозировать
Сервера простаивают

Проблемы
Интернет-стартапов

Слайд 6

Задача - временный запуск прототипа
Цель: разработка, тестирование или демонстрация сервиса
Арендовать

Задача - временный запуск прототипа Цель: разработка, тестирование или демонстрация сервиса Арендовать
сервер на месяц(ы) – дорого
Решение: В EC2 почасовая оплата.
Провели эксперимент – выключаем сервер

Проблема: необходимы сервера для экспериментов

Слайд 7

В EC2 оплата ПОСЛЕ использования
в конце месяца
деньги можно

В EC2 оплата ПОСЛЕ использования в конце месяца деньги можно успеть заработать/выиграть/…
успеть заработать/выиграть/…
Формально: EC2 позволяет превратить капитальные затраты в операционные

Проблема: недостаточно средств для аренды серверов

Слайд 8

Вопрос: хватит 3-х серверов? 5-и? 7-и?
Переплачивать не хочется …
Решение: запускаем минимальное

Вопрос: хватит 3-х серверов? 5-и? 7-и? Переплачивать не хочется … Решение: запускаем
количество серверов на EC2 и добавляем при необходимости

Проблема: загрузку сложно спрогнозировать

Слайд 9

Остановка «лишних» серверов «на ночь»
Добавление серверов в часы пик
Сезонные

Остановка «лишних» серверов «на ночь» Добавление серверов в часы пик Сезонные изменения
изменения
Периодические задачи

Проблема: сервера простаивают

Слайд 10

EC2 позволяет экономить за счет гибкости
Проблема: пользоваться этой гибкостью непросто

Вывод

EC2 позволяет экономить за счет гибкости Проблема: пользоваться этой гибкостью непросто Вывод

Слайд 11

Гибкость EC2 и «облаков» в целом позволяет создавать сервисы с новыми бизнес-моделями

Презент

Гибкость EC2 и «облаков» в целом позволяет создавать сервисы с новыми бизнес-моделями Презент для стартапов!
для стартапов!

Слайд 12

стоимость аренды снижается
ранее не рентабельные проекты/идеи становятся рентабельными
легкодоступность ресурсов

стоимость аренды снижается ранее не рентабельные проекты/идеи становятся рентабельными легкодоступность ресурсов можно
можно арендовать сотни серверов, имея только кредитную карту и ноутбук
небольшой стартап может решать ресурсоемкие задачи без суперкомпьютеров (увы, не все задачи)

На чем строить новые
бизнес-модели?

Слайд 13

Практическая,
или как пользоваться EC2?

Часть Ⅱ

Практическая, или как пользоваться EC2? Часть Ⅱ

Слайд 14

Программные API или веб-консоль?
AWS Management Console: http://console.aws.amazon.com/
Программные API: командная строка, java, python,

Программные API или веб-консоль? AWS Management Console: http://console.aws.amazon.com/ Программные API: командная строка,
perl, C# и т.д.

Интерфейсы к EC2

Слайд 15

http://aws.amazon.com
Потребуется
Почтовый ящик
Кредитная карта
Получим
Access Key (строка)‏
Secret

http://aws.amazon.com Потребуется Почтовый ящик Кредитная карта Получим Access Key (строка)‏ Secret Access
Access Key (строка)‏
Account Number (или User ID – тоже строка)‏
Certificate X.509 (файл в 1 Кб)‏
Private Key (файл в 1 Кб)‏

Регистрация

Слайд 16

Загружаем ec2-api-tools
http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip
Распаковываем
в директорию ~/.ec2/ec2-api-tools
Копируем сертификат и ключ

Загружаем ec2-api-tools http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip Распаковываем в директорию ~/.ec2/ec2-api-tools Копируем сертификат и ключ сертификат
сертификат в ~/.ec2/cert-ec2.pem
ключ в ~/.ec2/pk-ec2.pem

Установка ec2-api-tools

Слайд 17

Настройка окружения

export EC2_HOME=~/.ec2/ec2-api-tools
export EC2_PRIVATE_KEY=~/.ec2/pk-ec2.pem
export EC2_CERT=~/.ec2/cert-ec2.pem
export EC2_ACCESS_KEY=XXXXXXXXXXXXXXX
export EC2_SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXXXX
export PATH=$PATH:~/.ec2/ec2-api-tools/bin
export USER_ID=XXXXXXX # не обязательно

Настройка окружения export EC2_HOME=~/.ec2/ec2-api-tools export EC2_PRIVATE_KEY=~/.ec2/pk-ec2.pem export EC2_CERT=~/.ec2/cert-ec2.pem export EC2_ACCESS_KEY=XXXXXXXXXXXXXXX export EC2_SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXXXX
Настройка java (JAVA_HOME и т.п.)‏
Переменные окружения

Слайд 18

Типы серверов/инстанций

Типы: Small, Large, Extra-Large
Различия:
CPU: Extra-Large в 8 раз «мощнее»

Типы серверов/инстанций Типы: Small, Large, Extra-Large Различия: CPU: Extra-Large в 8 раз
Small
Память: от 1.7 Гб до 15 Гб
Диск: от 160 Гб до 1.6 Тб
Сеть: у Small серверов ограничен в/в
Стоимость: от 0.1 до 0.8 $/час

Слайд 19

Выбор образа

$ ec2-describe-images -a | grep debian-5 | grep i386
IMAGE ami-67fe190e alestic/debian-5.0-lenny-base-20090215.manifest.xml 063491364108 available public i386 machine aki-a71cf9ceari-a51cf9cc

Выбор образа $ ec2-describe-images -a | grep debian-5 | grep i386 IMAGE

Слайд 20

Генерация SSH ключа

$ ec2-add-keypair keypair > ~/.ec2/keypair
# убрать первую строку из ~/.ec2/keypair
$

Генерация SSH ключа $ ec2-add-keypair keypair > ~/.ec2/keypair # убрать первую строку
chmod 700 ~/.ec2/keypair

Слайд 21

Запуск образа

$ ec2-run-instances ami-67fe190e -k keypair
$ ec2-describe-instances #посмотреть что запущенно

Запуск образа $ ec2-run-instances ami-67fe190e -k keypair $ ec2-describe-instances #посмотреть что запущенно

Слайд 22

Комманды запуска образа

$ ec2-run-instances ami-67fe190e -k keypair
$ ec2-describe-instances
# ждем 1-3 минуты до

Комманды запуска образа $ ec2-run-instances ami-67fe190e -k keypair $ ec2-describe-instances # ждем
появления статуса running
# видим dns имя и ip
$ ec2-describe-instances
INSTANCE i-55274a3c ami-67fe190e ec2-174-129-118-242.compute-1.amazonaws.com ip-10-250-6-8.ec2.internal running keypair 0 m1.small
2009-04-08T14:52:23+0000 us-east-1b aki-a71cf9ce ari-a51cf9cc

Слайд 23

Что на сервере?

$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.9G 506M 8.9G 6% /
tmpfs 854M 0 854M 0% /lib/init/rw
udev 854M 24K 854M 1% /dev
tmpfs 854M 0 854M 0% /dev/shm
/dev/sda2 147G 188M 140G 1% /mnt
В / монтируется образ
/mnt

Что на сервере? $ df -h Filesystem Size Used Avail Use% Mounted
– исчезнет после остановки сервера!!!

Слайд 24

Трафик по внешнему ip платный
Даже между инстанциям в облаке!!!
Стоимость: 0.01$

Трафик по внешнему ip платный Даже между инстанциям в облаке!!! Стоимость: 0.01$
/ Gb
Два адреса:

Внешние и внутренние ip

$ ec2-describe-instances
INSTANCE i-55274a3c ami-67fe190e ec2-174-129-118-242.compute-1.amazonaws.com ip-10-250-6-8.ec2.internal running keypair 0 m1.small ......

Слайд 25

Цель: изменение динамических IP на заранее известные

Фиксация ip адресов
Elastic IP Addresses

$

Цель: изменение динамических IP на заранее известные Фиксация ip адресов Elastic IP
ec2-allocate-address # получить ip
ADDRESS 114.129.212.37
$ export EC2_IP=114.129.212.37
$ ec2-associate-address -i i-cd5c34a4 $EC2_IP #установить
ADDRESS 114.129.212.37 i-cd5c34a4

Слайд 26

Команды создания образа

$ apt-get install apache2 libapache2-mod-python python-mysqldb
# и т.д.
$ ec2-bundle-vol -d

Команды создания образа $ apt-get install apache2 libapache2-mod-python python-mysqldb # и т.д.
/mnt/ -k pk-ec2.pem -c cert-ec2.pem -u "$EC2_USER" -r i386 -p front-end
$ ec2-upload-bundle -b mybucket
-m /mnt/front-end.manifest.xml
-a "$EC2_ACCESS_KEY" -s "$EC2_SECRET_KEY"

Выполняем на ec2 сервере:

Слайд 27

Регистрация образа

$ ec2-register mybucket/front-end.manifest.xml
IMAGE ami-5a779e1f
$ export FRONT_END_AIM=ami-5a779e1f

Выполняем на консольном сервере:

Регистрация образа $ ec2-register mybucket/front-end.manifest.xml IMAGE ami-5a779e1f $ export FRONT_END_AIM=ami-5a779e1f ‏ Выполняем на консольном сервере:

Слайд 28

Варианты доступа:
Для всех
Для заданного ip или сети

Открываем ssh доступ

# открываем

Варианты доступа: Для всех Для заданного ip или сети Открываем ssh доступ
доступ для 89.12.9.94
$ ec2-authorize -p 22 --source-subnet 89.12.9.94/32
# закрываем
$ ec2-revoke -p 22 --source-subnet 89.12.9.94/32

Слайд 29

Мы на сервере!

$ ssh -i ~/.ec2/keypair root@ec2-174-129-118-242.compute-1.amazonaws.com

Мы на сервере! $ ssh -i ~/.ec2/keypair root@ec2-174-129-118-242.compute-1.amazonaws.com
Имя файла: Amazon-Elastic-Computing-Clouds-для-стартапов.pptx
Количество просмотров: 120
Количество скачиваний: 0