4. Что такое EC2?
• Сервера по требованию
• Аренда через программные API или веб-браузер
• 1-3 минуты и сервер готов
• Предустановленные ОС
• Linux, OpenSolaris, Windows
• Возможность кастомизации
• Оплата после использования
• Метафора “pay by the drink”
6. Типы серверов/инстанций
Type Mem HDD Platf I/O CPU unit
Small 1.7 160 i386 Moderate 1
Large 7.5 850 x64 High 4
Extra Large 15 1690 x64 High 8
High CPU Medium 1.7 350 i386 Moderate 5
High CPU Extra Large 7 1690 x64 High 20
7. Зачем нужен EC2?
• Масштабируемые сервисы
• Непредсказуемая загрузка: запуск нового сервиса, наплыв
пользователей во время PR-акций
• Сезонные или суточные изменения
• Периодические задачи
• Подсчет “сложной” статистики по БД, компиляция большого
проекта, резервное копирование
• Срочно нужен сервер
23. Условия и допущения
• Условие: быстрое масштабирование
• front-end серверов от 1 до 5
• Добавление или останов front-end серверов за 5 минут
• Допущение:
• Один back-end сервер
• БД без репликаций
• Один back-end справится с 5-ю front-end серверами
• Можно разрывать сессии на front-end
30. Внешние и внутренние ip
Трафик по внешнему ip платный
Даже между инстанциям в облаке!!
• 0.01$ / Gb
$ 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 ......
31. Elastic IP Addresses
Аренда внешних IP адресов
Изменение дианмических 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
37. Управление группами
Права:
• front-end — 80 порт доступен для всех
• back-end — полный доступ с front-end серверов
$ ec2-add-group front-end --description 'web servers'
$ ec2-authorize front-end -p 80
$ ec2-add-group back-end --description 'db servers'
$ ec2-authorize back-end
--source-group front-end -u $EC2_USER
38. ssh доступ
• Временный доступ
• Только для заданого ip
# открываем доступ для 89.12.9.94
$ ec2-authorize front-end -p 22 --source-subnet 89.12.9.94/32
# закрываем
$ ec2-revoke front-end -p 22 --source-subnet 89.12.9.94/32
39. Запуск сервера в группе
• Группа указывается при запуске
• Сервер не может сменить группу
• Настройки группы можно менять в
любое время
$ ec2-run-instance $BACK_END_AIM -k keypair -g back-end
$ ec2-run-instance $FRONT_END_AIM -k keypair -g front-end
41. AWS Management Console
Все вышеперечисленное можно
сделать через веб интерфейс
http://console.aws.amazon.com/
Автоматизировать — только через
программные API