klen.github.io

in Blog

Год облачного хостинга от Amazon — бесплатно

Настройка сервера. Gitolite — хостинг git-репозиториев Ctrl→
←Ctrl VIM плагин для комфортной работы с python

This post is part of a series:

  1. Год облачного хостинга от Amazon — бесплатно
  2. Настройка сервера. Gitolite — хостинг git-репозиториев
  3. Настройка сервера. Создаем и разворачиваем django-проект


Note

Amazon Web Services инфраструктура Web Services платформы в облаке, представленная компанией Amazon в начале 2006 года. В данной инфраструктуре представлено много сервисов для предоставления различных услуг, таких как: Amazon EC2 аренда виртуальных сервисов, Amazon SimpleDB облачная база данных, Amazon S3 файловый хостинг и множество других.

Немногие знают, но компания Amazon каждому зарегистрировавшемуся пользователю, фактически предоставляет полноценную бесплатную VPS на год. Многие из тех кто знает об этом не используют это выгодное предложение так как боятся работать с "облаками", считая их настройку чем-то сложным и недоступным.

Облачный хостинг имеет ряд преимуществ перед прочими решениями:

  • Гибкая ценовая политика, вы платите только за то, что используете;
  • Легкое масштабирование проектов;
  • Отказоустойчивость.

В случае AWS к преимуществам добавляется:

  • Огромное количество доступных образов систем;
  • Удобные интерфейсы управления (включая консольные и GUI утилиты);
  • Автоматический load-ballancer;
  • И еще множество полезнейших опций, перечислять которые я сейчас просто не возьмусь.

В данной статье мы создадим и запустим бесплатную VPS на Amazon с выделенным IP-адресом и прикрепленным доменом. В следующих статьях я покажу как настроить на ней Git хостинг для ваших репозиториев и поднять Django проект с автообновлением кода. Все вместе не должно занять у вас более нескольких часов.

Итак поехали.

Бесплатный период использования сервиса от AWS

Для новых зарегистрированных пользователей Amazon предоставляет программу бесплатного использования AWS Free Usage Tier сроком на год. Вкратце она включает в себя:

  • 750 часов работы VPS t1.micro в месяц (читаем 1 VPS в месяц бесплатно);
  • 10 ГБ гарантированного места бесплатно;

На самом деле в программу входит несколько больше услуг и вы можете ознакомится с ними самостоятельно.

Регистрация на Amazon Web Services

Для использования AWS вам нужен зарегистрированный, активный аккаунт. Чтобы зарегистрироваться вам потребуются:

  • Кредитная карточка Visa или MasterCard (нужна только для проверки);
  • Работающие email и мобильный номер для подтверждения.

Ссылка для регистрации: https://aws-portal.amazon.com/gp/aws/developer/registration/index.html

Я лишь коротко опишу этот процесс:

  • На первых шагах вы создадите аккаунт на AWS, введя свои электронную почту, пароль и адрес;
  • После создания и подтверждения аккаунта пройдите по ссылке: https://aws-portal.amazon.com/gp/aws/developer/subscription/index.html?productCode=AmazonEC2 и подпишитесь на услуги EC2;
  • В процессе подписки вас попросят ввести данные кредитной карты (с нее будет произведено пробное списание, с возвратом) и пройти верификацию вашего мобильного телефона (вам позвонит робот и попросит ввести код подтверждения в режиме тонального набора)

Note

Вы можете спокойно подписываться на все услуги AWS. Это облачный хостинг и деньги с вас снимут только по факту реального использования услуг.

Если все прошло успешно вы можете пройти в консоль управления вашими сервисами от Amazon: https://console.aws.amazon.com/ec2/

Создание и запуск VPS

В левом верхнем углу вы видите меню выбора региона для вашей будущей системы. В левом нижнем углу Key Pairs: меню управления вашими ключами доступа.

Note

У вас ведь есть своя пара rsa ssh ключей? Если да, то рекомендую выбрать Key Pairs и нажав кнопку Import Key Pair загрузить публичную часть вашего ключа на AWS.

В центре находится кнопка создания и запуска сервера Launch Instance. После ее нажатия необходимо будет выбрать образ вашего будущего сервера из доступных, но сейчас я предлагаю поступить иначе.

Я буду устанавливать Ubuntu и воспользуюсь для этого замечательным сайтом: http://alestic.com/. Образы доступные на нем уже оптимизированы под AWS.

Выбираем из табов регион для создания вашей системы. Выбираем образ с загрузкой по EBS (это гарантирует вам сохранность данных если сервер по каким либо причинам будет остановлен) и нажимаем на кнопку рядом с 32 или 64-битной версией для перехода в консоль AWS.

Откроется окно с выбранной системой, нажимайте кнопку <Continue> (обратите внимание, что для бесплатного периода Instance type вашей системы должен быть t1.micro, он выбран по умолчанию).

Когда вы дойдете до этапа создания ключей (Create Key Pair) вы сможете выбрать ключ из уже загруженных ранее или создать новый. Во втором случае сохраните полученный ключ на свой компьютер.

Следующий этап Configure Firewall управление политиками безопасности. Политика безопасности (Security Group) регламентирует какие порты и типы соединений открыты наружу на вашем сервере.

Создайте новую группу и откройте порты TCP 22, 80 для доступа по SSH и WWW.

Заканчивайте настройку и запускайте ваш сервер: Launch.

Запуск займет некоторое время в течении которого статус сервера изменится на running.

Привязка IP и настройка DNS

При выделении сервера в нижней части страницы показывается область информации, в том числе и DNS адрес.

Адрес по-умолчанию не слишком удобен для работы, например ec2-184-72-89-43.compute-1.amazonaws.com, поэтому далее мы привяжем более удобную DNS запись.

Для начала нужно привязать к нашей VPS постоянный IP адрес. Откройте в вашей консоли пункт меню Elastic IPs и нажмите кнопку Allocate New Address для выделения вашим серверам нового постоянного IP-адреса.

После создания адреса, его необходимо привязать к нашему серверу. Нажимаем Associate Address в появившемся окне, в выпадающем списке, выбираем нашу VPS и подтверждаем привязку. Все, теперь наш сервер доступен по данному IP и мы можем привязать к нему DNS.

Если у вас уже есть свой домен, то вы можете сразу прописать A-запись для связывания его с полученным выше IP-адресом. Если нет, то я предлагаю получить бесплатный, с помощью сервиса FreeDNS. Вообще, это обычный DNS-провайдер продающий регистрацию доменов и услуги по их сопровождению, но у его клиентов есть уникальная возможность расшаривать поддомены третьего уровня для бесплатного использования всеми желающими. Нет никаких гарантий, что клиент не остановит обслуживание корневого домена второго уровня, но например mooo.com существует с 2001 года. Вкратце, данный сервис позволит вам получить бесплатный домен третьего уровня с бесплатным хостингом DNS. Например: для данной статьи я создам awsdemo.us.to.

Итак, регистрируйтесь на FreeDNS, заходите в консоль управления на вкладку Subdomains и нажимайте добавить.

В появившемся окне указываем имя нашего субдомена, выбираем корневой домен, вписываем IP-адрес, полученный от Amazon, и нажимаем сохранить. Поздравляю, у вашего сервера появился бесплатный домен.

Подключение к серверу

После запуска мы можем подключиться с помощью SSH к нашему серверу awsdemo.us.to. Учтите, что пользователь по умолчанию на образах с http://alestic.com/ubuntu.

Если вы предварительно загрузили свои ключи:

ssh ubuntu@awsdemo.us.to

Или с использованием полученного ключа от Amazon:

# (Для ключа с именем test.pem)
# Устанавливаем необхожимые права
chmod 400 test.pem

# Подключаемся с полученным ключом
ssh -i test.pem ubuntu@awsdemo.us.to

В случае успеха вы должны попасть в терминал вашего запущенного сервера, поздравляю!

Note

Обязательно загляните в замечательную справку AWS: http://aws.amazon.com/documentation/ec2/

Продолжение: Настройка сервера. Gitolite — хостинг git-репозиториев

Настройка сервера. Gitolite — хостинг git-репозиториев Ctrl→
←Ctrl VIM плагин для комфортной работы с python
alt