Всегда хотелось познакомиться с облачными сервисами, но на моих работах они либо не использовались, либо не в моём отделе. Платить свои деньги не очень хотелось за такое знакомство, да и всё это казалось довольно сложным. Куча разных тарифов, что-то бесплатно, что-то платно. Но на самом деле каждый может разобраться с этим и самое главное легко. Настолько легко, что вы просто обязаны получить свой собственный бесплатный облачный сервер прямо сейчас. Осталось только выбрать какой.
Статья будет полезна тем, кто ещё не пользовался облачными серверами.
Бесплатный облачный сервер можно использовать для разных целей:
- тестирование (можно установить любой софт перед тем как его внедрять на работающий проект)
- домашний проект (можно поднять вебсервер, базу данных и всё что нужно)
- мониторинг (внешний мониторинг сайта или домашнего компьютера, например стек grafana+Influxdb+telegraf)
- proxy/vpn (для обхода блокировок и подмены страны на нужных сайтах)
Рассмотрим самых популярных представителей облачных сервисов, которые предоставляют так называемый «Free Tier».
Microsoft Azure
- $200 на 1 месяц (до 14 виртуальных машин)
- дополнительные бесплатные услуги после окончания бесплатного периода
Подходит для разового нагрузочного тестирования крупного проекта перед запуском в продакшен.
Amazon Webservices
- EBS: 30 ГБ SSD или HDD на выбор (это место может использовать ваша виртуальная машина)
- EC2: инстанс t2.micro 750 часов в месяц на год
- CloudFront: CDN на 50 ГБ
- 15 ГБ траффика в месяц
- другие бесплатные услуги на год и после окончания бесплатного периода
Т.е. можно создать виртуальную машину с 1 vCPU, 1Gb оперативной памяти и до 30 ГБ диска на год совершенно бесплатно. Такая же конфигурация (только трафика 2ТБ) в месяц в Digitalocean стоит 10 долларов, в Hetzner — 4.6 евро, похожие конфигурации в OVH и Scaleway — 3 евро, в Simplecloud и Ihor — 250 рублей. Т.е. за год вы экономите от 36 евро или 3000 рублей.
Подходит для тестового сервера, организации внешнего мониторинга, своего домашнего проекта или редкого использования в качестве proxy/vpn.
Google Cloud Platform
- инстанс f1-micro бесплатно навсегда (0.2 vCPU, 0.6 GB RAM, 30 GB HDD, 1 GB трафика в месяц)
- $300 на год (совсем недавно было только на 3 месяца), хватит на g1-small (0.5 vCPU, 1.7 GB RAM, 30 GB SSD, 15 GB трафика в месяц)
Бесплатный виртуальный сервер подойдёт для внешнего мониторинга, домашней странички или своего домашнего демо-проекта (только не вздумайте давать на него ссылки на хабре).
DigitalOcean
- $100 на 2 месяца
Этой суммы хватит, чтобы протестировать какой именно тариф подходит для вашего проекта лучше всего, а также познакомиться с консолью управления DO.
Scaleway
- сервер на 15 минут, зато регистрация не требуется
Этого времени с трудом хватит, чтобы протестировать скорость сети, дисков и производительность процессора.
Для всех платформ необходимо привязать номер телефона и номер банковской карты. Если первое для меня не критично, то в качестве номера карты я предпочитаю указывать электронную виртуальной карту ядекс-денег или qiwi (чтобы случайно по неопытности не попасть на огромные суммы). Эти карты выпускаются и перевыпускаются бесплатно. Для Amazon деньги на баланс класть не надо, проверяется только то что карта настоящая путём попытки снять деньги с карты и получения от банка информации, что карта существует. Один мой знакомый каждый год получает новый бесплатный облачный сервер на такие карты и тестовые рабочие симки. Это нехорошо и ему должно быть очень стыдно.
Итак, давайте получим наш первый облачный тестовый сервер. Я рекомендую Amazon, потому что с ним нет проблем. А ведь меньше всего хочется вечером после работы из последних сил биться с огромной неповоротливой системой регистрации.
AWS
- Переходим по ссылке: https://aws.amazon.com/ru/free/
- Регистрируемся, указываем номер телефона и карты.
- Ждём пока Amazon попытается снять около $1. В qiwi будет видно эту попытку снятия.
- Наш аккаунт активирован.
- Заходим в консоль управления EC2.
На самом деле контрольная панель достаточно простая. Но на случай если у вас не получилось сразу разобраться перечислю пункты, которые я делал, чтобы вы могли убедиться, что идёте правильным путём. Шагов много, но все они в стиле «далее, далее, далее, ...» Во время написания статьи я прошёл их более десяти раз.
- Прежде чем создать виртуальную машину захожу в левом меню «NETWORK & SECURITY -> Key Pairs».
- Жму на «Import Key Pair». Выбираю файл с публичным ключём. В линукс системах он лежит в ~/.ssh/id_rsa.pub. Если у вас его нет.
- Перехожу в левом меню «INSTANCES -> Instances». Жму на «launch instance».
- Вижу список дистрибутивов. Мне подходят только те, у кого есть надпись «Free tier eligible».
- В этом списке я не нашёл нужного для себя дистрибутива.
- Жму в левом меню на «AWS Marketplace».
- Указываю в поиске «ubuntu».
- Выбираю в списке «Ubuntu 16.04 LTS — Xenial (HVM)» / «Free tier eligible». Жму на «select».
- Распахивается огромное страшное окно с ценами. Проматываю вниз. Жму на «continue».
- Ставлю галочку в строке с t2.micro / «Free tier eligible».
- Жму на «Review and Launch».
- Амазон предупреждает, что порт 22 открыт на весь мир, но я не обращаю внимания.
- В разделе «AMI Details» проверяю, что «Hourly Software Fees: $0.00 per hour on t2.micro instance».
- В разделе «Storage» проверяю, что укладываюсь в 30 GB, обычно виртуалка занимает около 8GB.
- Жму «Launch».
- Распахивается окно с выбором способа авторизации на создаваемом сервере.
- Выбираю в качестве авторизации загруженный ранее публичный ключ.
- Жму галочку, что я со всем согласен. Жму кнопку «Launch Instances».
- Перехожу к списку инстансов (Левое меню «INSTANCES -> Instances»).
- Смотрю IP запущенной виртуалки (a.b.c.d).
- Захожу на сервер по ssh: «ssh root@a.b.c.d».
- Выдаётся ошибка: Please login as the user «ubuntu» rather than the user «root».
- Захожу на сервер по ssh: «ssh ubuntu@a.b.c.d».
- Миссия выполнена.
Если на работе вы не сильно устаёте, любите сложности, и есть пара лишних вечеров, то добро пожаловать в Google.
GCP
- Переходим по ссылке: https://cloud.google.com/free/
- Регистрируемся, указываем номер телефона и карты.
- Google жалуется, что карта не подходит. Кладу на неё 100 рублей и всё ок.
- На почту пришло письмо «Welcome to the Google Cloud Platform free trial».
- Заходим в консоль управления.
Дальше должно быть всё просто…
… но не с гуглом.
В консоли ничего не работает, даже бесплатный вечный сервер не создать. На почту пришло письмо «Наша система зафиксировала подозрительные действия в Вашем платежном аккаунте. В качестве меры предосторожности мы временно заблокировали этот аккаунт.»
Собственно просят две вещи:
- Upload an image of your government-issued photo ID
- Upload an image of your credit card, debit card, or bank statement
Это мой первый аккаунт в GCP и никаких подозрительных действий с ним я не совершал. Скорее всего таким образом гугл предохраняется от повторных регистраций недобросовестными пользователями.
Отправил фотографию паспорта и bank statement (в qiwi есть возможность сделать выписку). Получил от гугла благодарность за присланные документы, но они всё таки хотят видеть фотографию моей карточки. Отсылаю фотографию виртуальной карты с экрана монитора (в письме была информация, что подходят фотографии электронных документов).
Получил от гугла благодарность за присланные документы, но предоплаченные и виртуальные банковские карты не принимаются.
Было бы не плохо, чтобы они это писали сразу при регистрации или хотя бы в первом письме — сэкономили бы мне кучу времени.
Попробовал карту vtb24 (правда у неё срок действия заканчивался через месяц) — не подошла. Заказал карту Яндекс Денег, подождал пока она дойдёт до меня, но всё равно выдаётся ошибка "Произошла непредвиденная ошибка. Повторите попытку позже..", при этом деньги снимаются, а потом возвращаются через некоторое время. Сейчас я закал дополнительную банковскую карту Банка Кипра, подождал, опять ошибка. Также выяснилось, что у моего коллеги были проблемы с картой Тинькофф. Никогда не думал, что напишу такое, но я не рекомендую использовать сервис облачного
Кстати недавно на работе понадобился CDN, как выдумаете что мы выбрали Amazon или Google?
На борьбу с гуглом у меня потребовалось несколько месяцев, несколько банковских карт и несколько миллионов нейронов. Как вы могли понять я не могу порекомендовать облачный сервис «компании добра», более того я неоднократно писал жалобы в ФАС на рекламу компании Гугл, которая мягко говоря вводит пользователя в заблуждение. Делал скриншоты, цитировал условия использования сервиса… но слава богу не отправил. Оставлял это решение на следующий день, а там уже и отпускало. Пока я собирал документы для жалобы до меня дошло, что это было.
После введения "налога на Гугл" (согласно которому его и другие иностранные компании обязывают платить ндс за частных пользователей) Гугл поменял тип аккаунтов с физических лиц на юридические, чтобы перевесить обязанности с себя на самих пользователей. Но видимо забыл, что его предложением «300 долларов на 12 месяцев» может воспользоваться только физическое лицо.
В итоге, с одной стороны мы получаем рекламу, где физически заблокирована возможность выбора физического лица:
а с другой стороны соглашение, в котором написано, что нам ничего не светит:
Ну а с третьей стороны вместо нормального ответа, что это невозможно мы получаем нечитаемые ошибки «Произошла непредвиденная ошибка. Повторите попытку позже… Код ошибки: OR-IEH-01.» во время привязки карты. Если честно, не ожидал такой подставы от гугла. Пропало всякое желание попробовать их сервис.
После всей этой истории я поставил статью на паузу и вернулся к ней через пару месяцев. Более того, я всё таки смог разобраться как мне познакомиться с их платформой не используя бесплатный период. К слову говоря, пока вы делаете попытки разблокировать аккаунт, чтобы наконец-то им воспользоваться в это самое время обратный отчёт во всю сокращает количество дней.
Достаточно отказаться от бесплатного периода, подтвердить согласие на оплату и после этого открывается возможность бесплатно пользоваться консолью и создать пожизненны-бесплатный сервер.
- Перехожу в левом меню Compute Engine
- Экземпляры ВМ -> Создать
- В списке «Тип машины» выбираю «микромашина f1-micro»
- В списке «Зона» нужно выбрать ту, для которой разрешён бесплатный сервер иначе вы будете платить за него деньги. Например, при выборе «us-east1-c» появляется надпись «В этом месяце вы можете использовать экземпляр f1-micro бесплатно первые 720 ч.», а при выборе «us-east4-c» она пропадает. Будьте внимательны! Хотелось бы создать бесплатные сервер, в Европе, но к сожалению доступные зоны только такие: us-central1, us-east1, us-west1.
- В поле «Загрузочный диск» выбираю «Ubuntu 17.04»
- В поле «SSH-ключи» вставляю свой публичный ключ
- Жму на кнопку «создать»
- Смотрю внешний IP запущенной виртуалки (a.b.c.d).
- Захожу на сервер по ssh: «ssh root@a.b.c.d».
- Выдаётся ошибка: Please login as the user «ubuntu» rather than the user «root».
- Захожу на сервер по ssh: «ssh ubuntu@a.b.c.d».
- Миссия выполнена.
Устанавливая различные пакеты помните, что у вас бесплотно только 1 гигабайт траффик в месяц.
Надеюсь, что статья будет полезна и потраченные на неё полгода были не зря. Теперь я могу спокойно перейти к написанию новой статьи, посвящённой недавнему мероприятию highloadcup
Автор: morozovsk