Развернуть приложение Rails на EC2 - PullRequest
10 голосов
/ 19 января 2012

На прошлой неделе я играл с каучуковым камнем и не могу заставить его работать.Я решил, что будет проще просто вручную настроить мой экземпляр EC2.Проблема в том, что я не знаю как.Google не слишком помог новичку.Какие-либо предложения?Это действительно ценится.

Ответы [ 3 ]

28 голосов
/ 19 января 2012

Конечно.

  1. Создайте учетную запись AWS.

  2. Решено, в каком регионе вы хотите быть. Многое зависит от этого решения, но побеспокоитесь об этом позже и просто сделайте дешевую, например, Орегон или Восток.

  3. Убедитесь, что вы находитесь в правильном регионе в левом верхнем углу.*

    Затем нажмите «Запустить сервер».

  4. На этом этапе вам нужно выбрать AMI.AMI - это шаблон, который вы хотите использовать при загрузке сервера.Amazon дает вам немного, но в разделе сообщества есть тонна.Я парень из CentOS, поэтому обычно ищу CentOS AMI.RightScale делает несколько хороших, чтобы вы могли искать один из них.Убедитесь, что вы выбрали i386 или x64 в зависимости от размера сервера, который вы хотите.Существует два различных типа AMI: EBS и S3.На самом деле вы должны придерживаться EBS, потому что у вас есть еще несколько свобод, но есть причины использовать оба, которые выходят за рамки этого ответа.Ищите EBS, и вы, вероятно, будете в порядке.EBS - это хранилище блоков.В основном это подключаемые жесткие диски для ваших экземпляров.Поскольку все в облаке является «виртуальным» и о нем ничего не думают в физическом смысле, вы должны думать так же.Поэтому, если вам нужно больше места, вы можете подключить некоторые тома EBS позже.Одна вещь, однако, поддерживаемые S3 экземпляры прощаются, когда вы их закрываете.EBS будут также, если у вас установлен флаг удаления при завершении, но с EBS вы можете их «остановить», а также «прекратить».

  5. Выберите размер и доступностьзона.Зона важна, если вы собираетесь настраивать какую-то избыточность.Например, если у меня есть настройка «ведущий-ведомый» с MySQL, я бы поместил «ведущий» в одну зону, а «ведомый» - в другую, если у Amazon возникли проблемы, связанные с одной зоной.Но для этой общей цели не беспокойтесь об этом.

  6. Дополнительные параметры экземпляра.Просто оставьте все это в покое, скорее всего, это нормально.Некоторые мелочи, которые вы можете установить позже, например, защита от прерывания.

  7. Назовите его.Что угодно.

  8. Сделайте ключ SSH.Striaght вперед.Единственный способ войти на сервер Amazon - это назначить его по ключу SSH.Имена пользователей и пароли отсутствуют.

  9. Группы безопасности.Это то место, где вас могут споткнуть, ну вот и # 5.Но вы должны начать с создания общей группы безопасности, называемой foo или чего-то еще, а затем добавить порты, которые вы хотите открыть на нем.Так что, если вы хотите использовать ssh, как я полагаю, откройте 22. Если вы хотите использовать его для Интернета, откройте 80 и 8080 или что-то еще.Но будь осторожен.Я обычно меняю свой порт SSH позже на что-то случайное.И вместо того, чтобы ставить 0.0.0.0/0, я ставлю свой личный ip.Но если вам все равно, просто положите 0.0.0.0/0 и откройте этого плохого мальчика миру.

Тогда он загрузится.Пока все прошло как положено.

Теперь вы можете войти.Просто ssh -i thekey.pem затем имя_холота

Надеюсь, это поможет.

Существует целый ряд бесплатных уровней, которые вы можете использовать.http://aws.amazon.com/free/

Проверьте это.Я бы использовал это, пока вы играете с ним.

Я сделал все это по памяти, чтобы я мог отключиться.;)

1 голос
/ 04 апреля 2012

chantheman дал отличный урок, если вы хотите сделать это вручную. Если вы ищете альтернативы, вы должны рассмотреть возможность использования стороннего решения, такого как облачные платформы управления, которое облегчает настройку экземпляра EC2 и развертывание приложений. RightScale, который был упомянут ранее как поставщик AMI в руководстве chantheman, является одним из них, но вы также можете взглянуть на enStratus и Scalr (отказ от ответственности: я там работаю). Вам нужно будет предоставить им свои учетные данные AWS, чтобы они могли выполнять вызовы API от вашего имени.

ПО для управления облаком предоставит некоторые предварительно настроенные AMI (в Scalr мы называем их ролями) и предложит среду развертывания приложений (об этом мы написали в блоге http://scalr.net/blog/announcements/deployments/). Таким образом, вы выполните шаги 2-10 быстро.

Если у вас ограниченный бюджет, у RightScale и enStratus есть бесплатная учетная запись, тогда как Scalr имеет открытый исходный код и доступен по лицензии Apache 2.

0 голосов
/ 08 декабря 2014

Вам также следует проверить параметры развертывания Ubuntu Juju.

Настройка для Amazon Web Services

https://juju.ubuntu.com/docs/getting-started.html

Использование JujuРазвертывание вашего Rails-приложения

https://juju.ubuntu.com/docs/howto-rails.html

Основное использование Ruby on Rails Charm

Создайте файл конфигурации YAML с вашимимя приложения и его расположение в git

sample-app.yaml

sample-app:
  repo: https://github.com/pavelpachkovskij/sample-rails

Развертывание приложения и прокси-сервера:

juju deploy --config sample-app.yaml rails myapp
juju deploy haproxy
juju add-relation haproxy myapp

Развертывание и связывание базы данных:

juju deploy postgresql
juju add-relation postgresql:db myapp

Теперь вы можете запускать миграции:

juju ssh myapp/0 run rake db:migrate
Seed database

juju ssh myapp/0 run rake db:seed

И, наконец, выставьте прокси:

juju expose haproxy
Find the instance's public URL from

juju status haproxy

Масштабируйте по горизонтали, добавляя и удаляя единицы:

juju add-unit myapp
juju remove-unit myapp

Или увеличивайте масштаб с помощью juju add-юнит -n10 myapp на 10 узлов.

...