2. Ⅰ Что такое и зачем нужен EC2? Ⅱ Первые шаги Ⅲ Масштабируемый веб-сервер Ⅳ Создание о бразов Ⅴ Проблемы адресации Ⅵ Безопасность Ⅶ Вопросы Структура
4. Сервера по требованию Аренда через программные API или веб-браузер 1-3 минуты и сервер готов Предустановленные ОС Linux, OpenSolaris, Windows Возможность кастомизации Оплата после использования Метафора “pay by the drink” Что такое EC2?
5. Т ипы серверов: (На другой слайд???) Small — 1.7 Gb, 1 виртуальное ядро, 160 Gb HDD Large — 7.5 Gb, 2 виртуальных ядра, 160 Gb HDD Extra — 15 Gb, 4 виртуальных ядра, 160 Gb HDD ??????? Типы серверов ????
6. П ериодические задачи Подсчет “сложной” статистики по БД, компиляция большого проекта Срочно нужен сервер Масштабируемые приложения Непредсказуемая загрузка: запуск нового сервиса, наплыв пользователей во время PR-акций Сезонные или суточные изменения Зачем нужен EC2?
8. http://aws.amazon.com Потребуется Email Кредитная карта Получим Access Key (строка) Secret Access Key (строка) Account Number (или User ID – тоже строка) Certificate X.509 (файл в 1 Кб) Privat Key (файл в 1 Кб) Регистрация
9. Будем использовать unix подобную систему В windows все аналогично КАРИНКА: Пользователь под linux лезет в облако AWS!!!!!! Пользовательская ОС
14. КАРТИНКА про админа с ключем!!!! Генерация SSH ключа $ ec2-add-keypair keypair > ~/.ec2/keypair # убрать первую строку из ~/.ec2/keypair $ chmod 700 ~/.ec2/keypair
15. КАРТИНКА: образ(пробирка) + ключь = запущеный сервер НО! ключь (какой) приходит из AWS Запуск образа $ ec2-run-instances ami-67fe190e -k keypair $ ec2-describe-instances #посмотреть что запущенно
16. Комманды запуска образа $ ec2-run-instances ami-67fe190e -k keypair $ ec2-describe-instances # ж дем 1-3 минуты до появления статуса 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
21. Условие: быстрое масштабирование front-end серверов от 1 до 5 Добавление или останов front-end серверов за 5 минут Допущение: Один back-end сервер БД без репликаций Один back-end справится с 5-ю front-end серверами Можно разрывать сессии на front-end Условия и допущения
29. Трафик по внешнему 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 ......
30. Аренда внешних IP адресов Изменение дианмических IP на заранее известные Elastic IP Addresses (СДЕЛАТЬ КАРТИНКУ) $ 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
31. IP адрес БД может измениться Сбой сервера или необходимость перегрузки Переход на более мощный сервер Как веб серверам искать БД? Прописывать адрес при формировании образа Сохранить адрес back-end-а в известном месте (S3, SimpleDB) Зарезервировать постоянный внешний IP (Elastic IP Addresses) Свой DNS Проблемы с БД
36. Права: 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
37. Временный доступ С определенного ip Открытие ssh доступа # открываем доступ для 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
38. Запуск сервера в группе $ ec2-run-instance $BACK_END_AIM -k keypair -g back-end $ ec2-run-instance $FRONT_END_AIM -k keypair -g front-end вывыыввы
40. Все вышеперечисленное можно сделать через веб интерфейс http://console.aws.amazon.com/ Автоматизировать — только через программные API AWS Management Console