Амазон веб сервис вход в личный кабинет. Первые шаги в Amazon Web Services. Рекордная выручка в $12 млрд
Год бесплатного использования облачными сервисами - такое предложение делает Amazon для всех новых пользователей. Предоставляемые ресурсы, конечно, ограничены, но их вполне достаточно, чтобы познакомиться с платформой и, к примеру, поднять свой собственный VPN-сервер.
Проблема всех облачных технологий (т.н. cloud computing) в том, что многие до сих пор не осознают, что это такое и как с ними иметь дело. Модное словечко "облако" у всех на слуху, но и только. В материале "Amazon S3 для обычных смертных" мы уже рассказывали об облачном хранилище данных, которое предоставляет любой необходимый объем для размещения файлов и выдерживает любую нагрузку (даже от огромного наплыва пользователей). S3 – это лишь одна из целого ряда прогрессивных технологий Amazon Web Services (сокращенно AWS). Начиная с ноября, провайдер предлагает познакомиться со своими сервисами поближе, не взимая за это плату (при соблюдении некоторых условий). Это лишь подкрепило наше желание рассказать о них подробнее.
Amazon Web Services
Арсенал облачных сервисов Amazon двольно большой, но наиболее распространены три: Amazon Elastic Compute Cloud (сокращенно EC2), Amazon Elastic Block Store (или EBS), Amazon Simple Storage Service (или S3). Нас сегодня в первую очередь интересует первая технология. По сути, это воплощение понятия cloud computing на практике. С помощью EC2 ты можешь запустить в "облаке" любое количество компьютеров с нужным тебе конфигом и операционной системой. И все это за несколько минут. Каждый такой виртуальный компьютер называется Instance. После запуска (обычно это занимает пару минут) ты сразу получаешь root-доступ по SSH или доступ к рабочему столу через RDP, в зависимости от операционной системы. Забавно, что оплата за такой инстанс осуществляется по часам. Т.е. ты можешь в любой момент остановить виртуальный сервер, и деньги не будет сниматься. Или вообще, включать его только в случае необходимости: стоимость использования в этом случае будет измеряться в центах. Однако, помимо "компьютерного времени", оплачивается еще и трафик, как входящий, так и исходящий.
В зависимости от типа виртуального сервера он будет снабжен соответствующим процессором и количеством оперативной памяти. Однако "дисковый накопитель" в эту конфигурацию не входит. Для виртуализации жесткого диска используется другая технология Amazon - EBS. Ты можешь сказать: "хочу накопитель на 25 Гб" - и она сделает. И сделает сколько угодно еще, если ты попросишь. Такой накопитель называется Volume и подключается к инстансу. Таким образом, в системе появляется жесткий диск. Все, что на него записано, сохраняется независимо от жизни самого инстанса. Последняя технология - S3 - также предназначена для хранения файлов, но совсем в другой плоскости. По сути, это бесконечный контейнер для файлов, которые при желании становятся доступными через веб. Тебе предоставляется ровно столько пространства в хранилище, сколько нужно. Хоть 10 Мб, 1 Гб или даже 5000 Гб - никаких ограничений. Кроме максимального размера на файл, равного 5 Гб.
Как я уже сказал, в рамках акции "AWS Free Usage Tier" каждый новый пользователь получает возможность попробовать эти сервисы бесплатно. Слово "попробовать" означает, что без платы предоставляемые ресурсы будут ограничены. Захочешь больше - изволь заплатить. Если кратко, то ежемесячно нам предоставляется 750 часов использования инстанса EC2 (этого времени достаточно, чтобы использовать виртуальный сервер круглосуточно), 10 Гб для EBS (этого достаточно, чтобы установить на сервер, скажем, Ubuntu) и 5 Гб для S3. Ты можешь также попробовать другие технологии Amazon, но в рамках этой статьи мы их касаться не будем. Главное сейчас, что мы, фактически, за даром получаем сервер для экспериментов, который к тому же работает на основе облачных технологий. То, что ты хочешь из него сделать, ограничивается только фантазией. Но один из самых интересных вариантов - поднять свой собственный VPN, который будет находиться в Штатах!
Регистрация в сервисе
Перед началом использования любого из сервисов Amazon"а необходимо завести аккаунт. Для этого переходим на главную страницу AWS (aws.amazon.com) и кликаем "Sing up Now". На станице регистрации выбираем вариант «I am a new user» и приступаем к процедуре создания аккаунта Amazon. Для этого обязательно понадобится пластиковая карта, это единственное условие. Не волнуйся: если не заходить за лимиты специального предложения для новичков, то никакая плата взиматься не будет. Amazon спишет 1 или 2 доллара, чтобы проверить валидность "пластика" и потом вернет их обратно. Подойдет карта системы Visa или MasterCard: ее даже необязательно заводить в банке, виртуальную кредитную карту можно приобрести в автоматах Qiwi. Этот аккаунт в Amazon носит скорее экономический характер и предназначен для биллинга.
Для доступа к облачным сервисам необходимо дополнительно подписаться на нужные сервисы (EC2, EBS, S3 и т.д.). Система безопасности обязывает проверить номер телефона. На одном из этапов регистрации сервис осуществит автоматический звонок, запросив 4-значный PIN-код, который в этот момент будет отображен на экране. Важным шагом является получение пары ключей для доступа. Для работы с EC2 и S3 понадобится два типа ключей: Access Key ID и Secret Access Key, а также X.509 Certificate. Для того чтобы воспользоваться бесплатным тест-драйвом, дополнительно ничего нигде указывать не надо: Amazon сам подпишет тебя на все необходимые сервисы. После регистрации у тебя будет доступ к консоли управления AWS. У нас задача - поднять виртуальный сервер, поэтому смело переходи в раздел управления EC2.
Начало работы c EC2
Технология устроена так, что ты можешь запустить и остановить любое количество инстансов (Amazon EC2 instance) в течение пары минут. При этом в соглашении об уровне обслуживания гарантируется 99.95% их доступность - это очень впечатляющая цифра. Для этого из консоли управления EC2 нажимаем на кнопку "Launch Instance". На выбор пользователя предоставляется несколько типов виртуальных серверов с разными конфигурациями.
Стандартный инстанс имеет следующие характеристики: "Small Instance (Default) 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform" и стоит $0.10 (Unix-система) и $0.125 (Windows в качестве ОС). Помимо этого, необходимо оплачивать $0.10 за гигабайт входящего трафика и $0.17 за гигабайт исходящего трафика. Это к сведению (ведь через некоторое время халява закончится). Нас же на самом деле интересует тип инстанса, который Amazon создали специально для тестового периода - Micro Instance. Его использование бесплатно.
Облачная платформа предлагает на выбор различные варианты ОС для установки. Образ с операционной системой называется AMI (Amazon Machine Image), причем, помимо файлов самой системы, в него может быть включен нужный софт (к примеру, Apache, MySQL, Memcached и т.д.), а также все необходимые файлы. В будущем ты сможешь создавать такие сборки сам. Есть большое количество готовых AMI-образов от самого Amazon"а и энтузиастов: на базе Linux и Windows. Всего в базе "Community AMIs" более 6067 вариантов. Для нас важно выбрать удобный дистрибутив - пусть это будет Ubuntu. По ключевому слову находится немало AMI с убунтой, но почти все подразумевают использование 15 Гб EBS, что не укладывается в бесплатный 10 Гб лимит. К счастью, энтузиастами собрана сборка Ubuntu 10.04 с номером ami-c2a255ab, которая "занимает" как раз 10 Гб. Находим его по IE и нажимаем "Install". Специальный мастер будет запрашивать различные параметры: можно все оставить по умолчанию. Но очень важно здесь, как я ранее сказал, установить тип инстанса - Micro Instance. В противном случае за каждый час использования сервера Amazon будет взимать с тебя деньги.
Запускаем инстанс
Пройдя все шаги мастера, ты получишь готовый инстанс. На вкладке Instances можно наблюдать процесс запуска. Нужно подождать, пока в столбце State не появится флаг "Running" - это значит, что наш сервер готов к работе. Здесь же можно посмотреть параметры запущенного сервера. Public DNS определяет внешнее имя сервера. Тут есть нюанс: и доменное имя, и IP-адрес виртуального сервера при каждом запуске инстанса будут меняться. Но! На вкладке "Elastics IPs" можно получить так называемый статический IP-шник и привязать его к инстансу. Важно сразу же сделать такую привязку: пока ты этого не сделаешь, сервис будет снимать с тебя деньги. Это сделано специально, чтобы пользователи не хватали себе статические IP-адреса, которые им на самом деле не нужны. Если попытаться сейчас пропинговать хост или подключиться по SSH, тебя будет ждать большой облом. Причина проста: по умолчанию файрвол режет все подключения. Это легко исправить, отредактировав политику безопасности в разделе Security Group. Сделай так, как показано на скриншоте.
С этого момента у нас есть рабочий инстанс EС2, и мы можем приступить к конфигурированию установленной на нем Ubuntu. Для этого подключимся к серверу по SSH. Идеально для этого подходит старый добрый PuTTY. Правда, сервер дал нам ключи в формате pem, а для PuTTY нужны ppk. Не беда, утилита PuTTYgen быстро преобразует ключи в подходящий формат: сначала загружаем ключ ("Load private key file"), а потом сохраняем его в нужное место через меню "File". Если ранее ты не настраивал SSH-подключение с использованием ключей, то это делается так:
- в разделе "Sessions" вводим IP нашего инстанса (Elastic IP) в поле Host Name;
- в разделе "Connection -> Data" в поле "Auto-Login" указываем имя пользователя "ubunta", которое будет использоваться для авторизации в системе;
- в разделе "Connection -> SSH -> Auth" указываем путь до нашего private-ключа;
- в разделе "Session" вводим название сессии и сохраняем ее с помощью кнопки "Save".
С этого момента все, что нужно для подключения, это выбрать нужную сессию и нажать кнопку "Open". С тебя потребуют ввести парольную фразу для твоего ключа.
Настраиваем PPTP
Если ты все сделал правильно, в окне PuTTY появится консоль твоего виртуального сервера, а именно приветственное сообщение Ubuntu. Т.е. у нас уже есть рабочий виртуальный сервер в облаке и SSH-доступ к нему. Можно было бы сейчас поднять на нем хостинг. Или, к примеру, настроить у себя SSH-форвардинг и безопасно туннелировать трафик приложений. Возможно все что угодно: это "дедик", только в облаке. Мы же, как и планировали, поднимем на инстансе полноценный VPN-сервер. Тут есть варианты: можно настроить OpenVPN, а можно - обычный PPTP-демон. У обоих подходов есть недостатки. Для подключения к OpenVPN требуется отдельный клиент. В случае с PPTP клиент не нужен, но можно обломаться с подключением, если провайдер режет GRE-пакеты. Для меня удобнее второй вариант.
С учетом того что в нашем распоряжении удобная Ubunta, поднять PPTP-демон - это пара пустяков. Начать стоит с установки сервиса:
sudo aptitude install pptpd
Далее необходимо немного отконфигурировать демон. Для начала нужно добавить диапазоны IP-адресов, которые будут выдаваться подключившимся клиентам. Для этого нужно раскомментировать и исправить последние 2 строчки в файле /etc/pptpd.conf:
localip 192.168.242.1
remoteip 192.168.242.2-5
С такими настройками сам PPTP демон получит адрес 192.168.242.1, а для клиентов будет 4 возможных адреса: от 192.168.242.2 до 192.168.240.5. Не лишним также будет указать адреса DNS-сервера. Это может быть сервер как самого Amazon (172.16.0.23), так и, к примеру, серверы Google Publuc DNS. Они прописываются в файле /etc/ppp/pptpd-options:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
Последний шаг - добавление пользователей для подключения к PPTP-демону:
sudo echo "<имя_пользователя> pptpd <пароль> *" >> /etc/ppp/chap-secrets
Вместо <имя_пользователя> и <пароль> необходимо подставить нужные авторизационные данные. При необходимости таких пользователей может быть несколько. Как только в файл /etc/ppp/chap-secrets будут занесены новые записи, потребуется перезапустить PPTP-демон:
sudo /etc/init.d/pptpd restart
В принципе, уже сейчас можно попробовать подключиться к серверу. Соединение установится, однако доступа в Интернет через такое VPN-подключение не будет. Это связано с тем, что мы еще не включили переадресацию пакетов и NAT. Исправляем эту ситуацию, раскомментировав в файле /etc/sysctl.conf следующую строчку:
net.ipv4.ip_forward=1
Перезагружаем конфиг:
И включаем NAT, добавив новое правило файрвола:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Правда, после перезагрузки это правило пропадет. 🙂 Поэтому лучше сразу добавить эту команду в конфиг /etc/rc.local, прописав после строки "exit 0" следующее:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Все, теперь VPN полностью работоспособен. Можно установить подключение и зайти на какой-нибудь сервер для определения IP, чтобы убедиться, что адрес у нас из США. Ресурс вроде speedtest.net сделает контрольный замер ширины канала. У меня VPN работает довольно шустро. Amazon дает 15 гигабайт трафика входящего и столько же исходящего трафика. Выход из лимита стоит астрономических денег: 10 центов за гигабайт. 🙂
Вместо заключения
Понятно, что халява Amazon нацелена прежде всего на привлечение новых клиентов и разработчиков и через некоторое время закончится. Но подумай. Даже если за использование инстанса EC2 придется платить, его можно включать строго по необходимости. При периодическом использовании сервера можно легко укладываться в несколько баксов в месяц. А это уже в любом случае дешевле любого VPN-сервера. Такой гибкий подход позволяет творить еще более интересные вещи: например, создавать кластер из десятка серверов, включаемых строго по необходимости и выполняющих какую-то ресурсоемкую задачу. Эта идея стала еще интересней после того как Amazon представила типы Instance с мощными GPU, поддерживающими технологию CUDA. Да и разве ж не здорово пощупать своим руками прогрессивные облачные технологии, которые используются крупнейшими проектами в Инете?
Удобное управление EC2
Веб-консоль для управления AWS, хотя и предоставляет все необходимое, не всегда удобна. Для более комфортной работы лучше установить специальный плагин Elasticfox для Firefox. Настройка аддона сводится к указанию в настройках полученных во время регистрации AWS Access Key и AWS Secret Access Key. Помимо этого, сам Amazon предоставляет набор консольных утилит (s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip) для взаимодействия с EC2. Для их работы требуется установленный Java Runtime Environment.
DVD
На диске выложены необходимые файлы для работы с AWS.
Amazon Web Services (AWS) представляет собой безопасную платформу облачных сервисов, которая предоставляет вычислительные мощности, доступ к хранилищам, базам данных, услугам доставки контента и другим функциональным возможностям, помогающим в масштабировании и развитии бизнеса.
Клево звучит =) А на практике очень страшно. Сервисов там уйма. Что, зачем, для чего и как??? вот вам небольшая шпаргалка по сервисам Amazon.
Сервисы "Run an App:
EC2 |
||
---|---|---|
Должен называться
Amazon Virtual Servers | Сфера применения
Хостуйте вещи, которые вы считаете компьютерами. | Похож на
VPS, предоставляемые Linode, DigitalOcean и Rackspace |
IAM |
||
Должен называться
Users, Keys and Certs | Сфера применения
Настраивайте пользователей, добавляйте новые ключи AWS Keys и сертификаты. |
|
S3 |
||
Должен называться
Amazon Unlimited FTP Server | Сфера применения
Храните фотографии и прочие материалы для сайтов. Храните бекапы и файлы в общем доступе. Храните статические сайты. Кстати, многие сервисы также хранят свои данные в S3. |
|
VPC |
||
Должен называться
Amazon Virtual Colocated Rack | Сфера применения
Добавьте дополнительный уровень защиты всему, что вы храните в Интернете. Пусть всё выглядит так, будто все ваши AWS-сервисы находятся в одной маленькой сети, а не разбросаны в огромной. | Похож на
VLAN, если вы разбираетесь в сетях |
Lambda |
||
Должен называться
AWS App Scripts | Сфера применения
Запускайте маленькие сниппеты на JS, Java или Python для выполнения отдельных задач. |
Сервисы для веб-разработчика
API Gateway |
||
---|---|---|
Должен называться
API Proxy | Сфера применения
Проксируйте API ваших приложений через этот сервис для обработки трафика, тестирования новых версий и т.д. | Похож на
3Scale |
RDS |
||
Должен называться
Amazon SQL | Сфера применения
Одновременно MySQL-, Postgres-, и Oracle-БД для вашего приложения. | Похож на
Heroku Postgres |
Route53 |
||
Должен называться
Amazon DNS + Domains | Сфера применения
Купите новый домен и настройте DNS-записи. | Похож на
DNSimple, GoDaddy, Gandi |
SES |
||
Должен называться
Amazon Transactional Email | Сфера применения
Отправляйте одиночные письма (для смены паролей, доставки уведомлений и т.п.). Можно использовать и как газету, если реализуете, но лучше не стоит. | Похож на
SendGrid, Mandrill, Postmark |
Cloudfront |
||
Должен называться
Amazon CDN | Сфера применения
Ускорьте загрузку сайтов, оптимально распределяя доставку статических файлов пользователям. | Похож на
MaxCDN, Akamai |
CloudSearch |
||
Должен называться
Amazon Fulltext Search | Сфера применения
Достаньте все данные из S3 или RDS и ищите в них то, что нужно. | Похож на
Sphinx, Solr, ElasticSearch |
DynamoDB |
||
Должен называться
Amazon NoSQL | Сфера применения
Масштабируемое хранилище ключей для вашего приложения. | Похож на
MongoLab |
Elasticache |
||
Должен называться
Amazon Memcached | Сфера применения
Memcached или Redis вашего приложения. | Похож на
Redis to Go, Memcachier |
Elastic Transcoder |
||
Должен называться
Amazon Beginning Cut Pro | Сфера применения
Обработка различных странностей видео (форматы, сжатие и т.д.). |
|
SQS |
||
Должен называться
Amazon Queue | Сфера применения
Храните данные для дальнейшей обработки в очереди. | Похож на
RabbitMQ, Sidekiq |
WAF |
||
Должен называться
AWS Firewall | Сфера применения
Блокируйте опасные запросы к сайтам, защищённым Cloudfront (не давайте людям попробовать подобрать 10 000 паролей к /wp-admin). | Похож на
Sophos, Kapersky |
Сервисы для мобильных разработчиков
Cognito |
||
---|---|---|
Должен называться
Amazon OAuth as a Service | Сфера применения
Предоставьте пользователям возможность залогиниться через Google, Facebook и т.д. | Похож на
OAuth.io |
Device Farm |
||
Должен называться
Amazon Drawer of Old Android Devices | Сфера применения
Протестируйте ваше приложение на нескольких iOS и Android-устройствах одновременно. | Похож на
MobileTest, iOS emulator |
Mobile Analytics |
||
Должен называться
Spot on Name, Amazon Product Managers take note | Сфера применения
Следите, что пользователи делают в ваших приложениях. | Похож на
Flurry |
SNS |
||
Должен называться
Amazon Messenger | Сфера применения
Отправляйте мобильные уведомление, письма и / или SMS. | Похож на
UrbanAirship, Twilio |
Сервисы для внедрения кода
CodeCommit |
||
---|---|---|
Должен называться
Amazon GitHub | Сфера применения
Контроль версий вашего кода. | Похож на
Github, BitBucket |
Code Deploy |
||
Должен называться
И так неплохо | Сфера применения
Загрузите ваш код из репозитория CodeCommit (или Github) на несколько сущностей EC2. | Похож на
Heroku, Capistrano |
CodePipeline |
||
Должен называться
Amazon Continuous Integration | Сфера применения
Запускайте автоматизированные тесты вашего кода и вносите необходимые изменения. | Похож на
CircleCI, Travis |
EC2 Container Service |
||
Должен называться
Amazon Docker as a Service | Сфера применения
Поместите Dockerfile в сущность EC2 для запуска сайта. |
|
Elastic Beanstalk |
||
Должен называться
Amazon Platform as a Service | Сфера применения
Переместите ваше приложение с Heroku на AWS, когда первый вам станет не по карману. | Похож на
Heroku, BlueMix, Modulus |
Корпоративные сервисы
AppStream |
||
---|---|---|
Должен называться
Amazon Citrix | Сфера применения
Поместите копию Windows-приложения на Windows-систему, к которой вы предоставляете удалённый доступ. | Похож на
Citrix, RDP |
Direct Connect |
||
Должен называться
| Сфера применения
Заплатите за доступ к выделенной линии от вашего дата-центра или сети до AWS. | Похож на
Туннель, позволяющий объехать пробку |
Directory Service |
||
Должен называться
На самом деле, весьма точное название | Сфера применения
Объединяйте приложения, которым для управления нужна Microsoft Active Directory. |
|
WorkDocs |
||
Должен называться
Amazon Unstructured Files | Сфера применения
Делитесь Word-документами с коллегами. | Похож на
Dropbox, DataAnywhere |
WorkMail |
||
Должен называться
Amazon Company Email | Сфера применения
Настройте всем в компании одинаковые почтовую систему и календарь. | Похож на
Google Apps for Domains |
Workspaces |
||
Должен называться
Amazon Remote Computer | Сфера применения
Интерфейс для удалённого управления компьютером. |
|
Service Catalog |
||
Должен называться
Amazon Setup Already | Сфера применения
Предоставьте всем пользователям AWS в вашей группе доступ к написанным вами приложениям, чтобы им не приходилось читать гайды вроде этого. |
|
Storage Gateway |
||
Должен называться
S3, считающий себя частью вашей корпоративной сети | Сфера применения
Хватит покупать место для хранения документов Word. Упростите передачу файлов из сети в S3. |
Big Data-сервисы
Data Pipeline |
||
---|---|---|
Должен называться
Amazon ETL | Сфера применения
Извлекайте, Обрабатывайте и Сохраняйте все данные из AWS, а также настраивайте расписания и получайте сообщения об ошибках. |
|
Elastic Map Reduce |
||
Должен называться
Amazon Hadooper | Сфера применения
Обрабатывайте большие объёмы текстовых или сырых данных, хранящихся в S3. | Похож на
Treasure Data |
Glacier |
||
Должен называться
Очень медленный Amazon S3 | Сфера применения
Делайте бекапы бекапов, хранящихся в S3. Запасы на чёрный день. |
|
Kinesis |
||
Должен называться
Amazon High Throughput | Сфера применения
Быстро сохраняйте большие объёмы данных (например, аналитику или список людей, ретвитящих Канье Уэста), чтобы проанализировать их позже. | Похож на
Kafka |
RedShift |
||
Должен называться
Amazon Data Warehouse | Сфера применения
Храните аналитические данные, обрабатывайте их и выгружайте. |
|
Machine Learning |
||
Должен называться
Skynet | Сфера применения
Предсказывайте поведение, исходя из текущих данных, для решения различных задач. |
|
SWF |
||
Должен называться
Amazon EC2 Queue | Сфера применения
Создайте сервис из «мыслителей» и «рабочих» поверх EC2 для выполнения задачи. В отличие от SQS, обладает встроенной логикой. | Похож на
IronWorker |
Snowball |
||
Должен называться
AWS Big Old Portable Storage | Сфера применения
AWS Snowmobile в миниатюре. | Похож на
Shipping a Network Attached Storage device to AWS |
Сервисы для управления AWS
CloudFormation |
||
---|---|---|
Должен называться
Amazon Services Setup | Сфера применения
Настройте несколько связанных сервисов за один подход. |
|
CloudTrail |
||
Должен называться
Amazon Logging | Сфера применения
Ведите логи активностей AWS-стека. |
|
CloudWatch |
||
Должен называться
Amazon Status Pager | Сфера применения
Получайте уведомления, когда ваши сервисы AWS ведут себя некорректно. | Похож на
PagerDuty, Statuspage |
Config |
||
Должен называться
Amazon Configuration Management | Сфера применения
Не сходите с ума, когда вам нужно следить за большой AWS-системой. |
|
OpsWorks |
||
Должен называться
Amazon Chef | Сфера применения
Управляйте запуском вашего приложения при помощи вещей наподобие автоматического масштабирования. |
|
Trusted Advisor |
||
Должен называться
Amazon Pennypincher | Сфера применения
Выясните, за что вы переплачиваете. |
|
Inspector |
||
Должен называться
Amazon Auditor | Сфера применения
Проверьте вашу AWS-систему на наличие проблем безопасности. | Похож на
Alert Logic |
Облачный хостинг - это вычислительные мощности с возможностью гибкого расширения и распределения нагрузки. Например, есть у вас проект с малой посещаемостью, но вы ожидаете резкого притока посетителей. Тогда вам выгодно будет размещаться в облаке. Можно взять минимальный тариф, а когда нагрузка будет возрастать, мигрировать на более дорогой тариф. Все это займет у вас всего несколько минут, и при этом не нужно будет осуществлять перенос данных.
Допустим, у вас есть один инстанс (экземпляр запущенной операционной системы) в облаке, и наплыв посетителей происходит всплесками. Вы можете добавить еще несколько инстансов, которые будут включаться и распределять между собой нагрузку только при пиковых нагрузках. Еще одним плюсом облачного хостинга является оплата только за то, чем вы пользуетесь по факту. Правда это будет несколько дороже обычного виртуального хостинга, но за более высокую цену вы получите те сервис, удобство и надежность, которых никогда не будет при использовании виртуального хостинга.
В этом обзоре посмотрим на западных крупных учатсников рынка: таких как Amazon Web Services (AWS) и Rackspace, так как они предоставляют максимально гибкие, полные и качественные услуги. Отдельно скажем о Linode, провайдере, предоставляющем в аренду VPS в облаке. Сразу стоит упомянуть, что эти компании не предоставляют технической поддержки на русском языке.
Amazon Web Services (AWS)
AWS представляет собой конструктор, из которого можно собрать сколь угодно сложную, распределенную сетевую инфраструктуру. Помимо этого Amazon предоставляет первый год пользования сервисом бесплатно в течение года, при условии, что вы не превысите лимитов сервиса (при превышении придется оплачивать по обычному тарифному плану). Вполне достаточно, чтобы попробовать облачный хостинг бесплатно. AWS очень удобен при необходимости разворачивать много одинаковых инстансов. Бесплатный пакет AWS Free Usage Tier включает в себя:
EC2 (инстансы - виртуальные машины ОС)
- 750 часов использования виртуальной машины с Linux или Windows Server (613 Мб ОЗУ, 32- битная или 64-битная платформа) - достаточное количество часов для работы инстанса каждый месяц
- 750 часов Elastic Load Balancer плюс 15 Гб обработки трафика
- 30 Гб Amazon Elastic Block Storage, плюс 2 миллиона операций ввода/вывода и 1 Гб для хранения снэпшотов.
- 15 Гб трафика
S3 (файловое хранилище)
- 5 Гб Amazon S3 стандартного хранилища, 20000 Get запросов и 2000 Put запросов
Relational Database Service (служба реляционных баз данных, RDS)
- 750 часов сервиса для запуска MySQL, Oracle BYOL или SQL Server
- 20 Гб хранилище базы данных
- 10 миллионов операций ввода/вывода
- 20 Гб хранилище для бекапов для автоматического резервного копирования вашей базы данных и возможностью создать снэпшот базы данных
На Amazon есть калькулятор для расчета потребления оказываемых услуг. Есть три типа тарифов: on-demand, spot, reserved. On-demand - это обычный VPS на виртуализации . Spot - это то же самое, что on-demand, только не гарантируется такой же высокий uptime. Spot работает, пока цена, которую вы предложили, выше средней цены за этот же инстанс. А reserved это скидка при долгом пользовании инстанса on-demand, которую можно приобрести. Условно говоря, если вы долгое время используете on-demand инстанс за 23 доллара, то чтобы перейти на тариф reserved и платить по 12 долларов в месяц нужно заплатить 50 единоразово. Ссылки на цены у Амазон:
Помимо этого стоит упомянуть о глобальной инфраструктуре Амазона, а именно о дата-центрах. В Северной Америке у Амазона 12 дата-центров, в Европе – 8, в Южной Америке – 1, в Азии -5. То есть на Амазоне можно получить приличные скорость и пинг практически из любой точки мира.
Здравствуйте, уважаемые облачные друзья!
Я думаю, что людей, которые бы не слышали о передовых технологиях и сервисах от компании Amazon с каждым днем становиться все меньше. Для тех кто не знаком с сервисами компании Amazon или знаком, но еще не начал использовать, я в данной статье расскажу о начале работы с Amazon Web Services. В статье будет описан процесс создания, работы и управления виртуальной машиной в инфраструктуре AWS.
Поехали
Амазон предоставляет, новым пользователям, ряд сервисов на бесплатной основе. Безусловно, бесплатное использование сервисов Амазон возможно с некоторыми ограничениями. Однако, предоставляемых лимитов вполне достаточно для того, что бы попробовать и оценить функциональные возможности Amazon Web Services. Вот набор бесплатных сервисов и их ограничений:- Виртуальные машины только на базе Amazon EC2 Linux Micro Instance. Бесплатно предоставляется 750 часов использования, которых, в течении первого года с момента регистрации учетной записи, будет достаточно для использования одного EC2 экземпляра в режиме 24/7;
- 750 часов использования сервиса Elastic Load Balancer + 15 гигабайт обработанных данных;
- 10 гигабайт в сервисе Amazon Elastic Block Storage (EBS). В бесплатный лимит EBS включены 1 миллион операций ввода/ввывода, 1 гигабайт для хранения мгновенных снимков, 10000 get запросов и 1000 put запросов к этим мгновенным снимкам;
- 5 гигабайт в системе хранения Amazon Simple Storage Service (S3). В бесплатный лимит S3 включены 20000 Get запросов и 2000 Put запросов;
- 30 гигабайт входящего и исходящего трафика в равных пропорциях;
- 25 часов работы с Amazon SimpleDB и 1 гигабайт для данных;
- 100000 запросов впри использовании сервиса Amazon Simple Queue ;
- 100000 запросов, 100000 HTTP уведомлений и 1000 уведомлений по электронной почте при использовании сервиса Amazon Simple Notification ;
- 10 метрик, 10 предупреждений и 1000000 запросов к API в сервисе Amazon Cloudwatch .
К сожалению, использование любых сервисов Amazon Web Services требует наличия у пользователя банковской карты (Visa, MasterCard и пр.). Без карты использование сервисов будет невозможно. Однако, в тестовый период, если вы не превысили указанные выше лимиты, никаких списаний денежных средств, за исключением проверочного списания в размере $1, быть не должно. Однако вам необходимо помнить, что по окончании тестового периода, если вы продолжите пользоваться сервисами, деньги начнут списываться автоматически.
Итак, аккаунт создан и верифицирован. Продолжим?
Давайте попробуем создать нашу первую виртуальную машину (EC2 экземпляр). Все просто - открываем консоль управления и переходим на вкладку Amazon EC2.Тут, для начала, нам необходимо выбрать регион в котором будет работать наш EC2 экземпляр и нажать на кнопку Launch Instance
.
В терминологии Амазон, регион (Region) - это региональное местоположение дата-центров в которых будут работать ваши виртуальные машины. Регионы, в свою очередь, делятся на зоны доступности (Availability Zone). Для обеспечения максимального уровня отказоустойчивости вашего приложения располагайте его в разных регионах, а внутри региона распределяйте ваши EC2 экземпляры по разным зонам доступности. Безусловно, приложение должно поддерживать такого рода распределения.Сервисы AWS доступны в дата-центрах расположенных в США, Ирландии, Сингапуре и Японии. Для пользователей из России, логичным будет использование региона в Ирландии (EU West Ireland).
Далее необходимо выбрать тип экземпляра EC2. Можно создать свой или использовать уже готовые образы (AMI). Для простоты давайте возьмем готовый образ типа Basic 32-bit Amazon Linux AMI .
На следующем шаге выбираем тип экземпляра с Micro
. Остальные параметры оставляем без изменений.
На следующих двух шагах можно внести изменения в расширенные настройки экземпляра. Оставим эти значения этих настроек по-умолчанию и перейдем к диалогу создания приватного RSA ключа, который, в последствии, мы будем использовать для доступа к виртуальной машине.
На шаге Create Key Pair
, введите любое понравившееся имя для вашего RSA ключа и после перехода по ссылке Create & Download your Key Pair
, ключ будет создан и вам будет предложено сохранить его на локальном компьютере. Сохраните его в надежном месте.
Следующее, что вам необходимо будет сделать - это создать группу безопасности (Security Group) для вашего EC2 экземпляра. Для этого, на шаге Configure Firewall
, выбираем Create a new Security Group
, и даем этой группе любое понравившееся название.
Фактически, группа безопасности (Security Group) - это средство обеспечивающее фильтрацию сетевых соединений для EC2 экземпляра. Другими словами - это файервол. Соответственно для обеспечения доступа к сервисам, которые будут работать в вашем EC2 экземпляре необходимо разрешить доступ к определенным TCP портам. Давайте сделаем наш экземпляр доступным для входящих соединений по протоколам HTTP, HTTPS и SSH. По желанию, можно добавить дополнительные правила.
На следующем, заключительном, шаге вам будет предложено проверить все заданные ранее настройки для EC2 экземпляра. Тут же можно внести изменения в параметры экземпляра или же незамедлительно его запустить. Просто нажмите кнопку Launch и ваш экземпляр будет запущен и доступен для использования через несколько секунд.
Список ресурсов используемых созданным EC2 экземпляром можно посмотреть в панели управления EC2.
Для просмотра списка созданных вами экземпляров используйте ссылку 1 Running Instance
. Выберите ранее созданный экземпляр и получите информацию о его состоянии и параметрах. Зафиксируйте где-нибудь значение параметра Public DNS
, оно нам позже понадобится.
Подключение к EC2 экземпляру
Итак, мы создали наш первый EC2 экземпляр, запустили готовый образ с ОС Linux, настроили файервол. Далее нам нужно как-то к нему подключиться, посмотреть на него изнутри и что-нибудь с ним сделать.Сделаем это через SSH используя созданные ранее приватный RSA ключ. Для пользователей Linux и прочих *nix систем, кто не знаком с механизмом безпарольного ssh-подключения, рекомендую почитать мануал для ssh. Пользователи Windows, думаю, сами разберуться как им действовать. Можно использовать функциональные возможности популярного ssh-клиента Putty или эмулятор Cygwin.
Ок, с ключами разобрались. А куда подключаться-то? А помните, мы где-то запомнили значение параметра Public DNS ? Вот его то и нужно использовать для подключения к вашему экземпляру посредством протокола SSH.
Для тех кому лень читать мануалы и разбираться как использовать RSA ключ в ssh используйте следующую команду:# ssh -i path_to_key ec2-user@public_dns_hostname path_to_key - это путь к вашему секретному ключу
public_dns_hostname - это значение параметра Public DNS
Что дальше?
Ну что ж, EC2 экземпляр создали, запустили и даже смогли подключиться к нему. Ура! Давайте запустим в нем какой-нибудь сервис. Например, веб-сервер apache, тем более у нас уже готовы правила фильтра разрешающие доступ к экземпляру по протоколам HTTP и HTTPS.- Устанавливаем веб-сервер Apache
$ sudo yum install httpd
- И запускаем его
$ sudo /etc/init.d/httpd start
- Вводим в нашем любимом браузере URL http://public_dns_hostname и радуемся стартовой страничке Apache:)
Напоминаю, что public_dns_hostname - это значение параметра Public DNS для вашего экземпляра.
Заключение
Ну что, все оказалось не так страшно как возможно вы себе представляли. Все действия по запуску нашей первой виртуальной машины в экосистеме Amazon AWS, заняли всего 10-15 минут, а штатное средство для создания и управления экземплярами под названием Amazon AWS Management Console, сделало этот процесс весьма простым и удобным.В следующих статьях я попробую рассказать, более детально, про другие сервисы Amazon AWS, про их настройку и управление. Если у вас есть какие-либо пожелания по темам обзоров, оставляйте их в комментариях.