Должен ли я использовать виртуальное частное облако Amazon AWS (VPC)

В настоящее время переход на Amazon EC2 у другого поставщика VPS. У нас есть типичный сервер веб-серверов/сервер баз данных. Веб-серверы перед серверами баз данных. Серверы баз данных напрямую не доступны из Интернета.

Мне интересно, есть ли причина поместить эти серверы в виртуальное частное облако AWS (VPC) вместо того, чтобы просто создавать экземпляры и использовать группы безопасности для блокировки брандмауэра.

Мы ничего не делаем, просто типичное веб-приложение.

Любая причина использовать VPC или не использовать VPC?

Благодарю.

Ответ 1

ПРИМЕЧАНИЕ. Новые учетные записи в AWS-запуске с "VPC по умолчанию" немедленно активируются и делают "EC2-Classic" недоступным. Таким образом, этот вопрос и ответ имеют меньше смысла, чем в августе 2012 года. Я оставляю ответ как есть, потому что он помогает разграничить различия между "EC2-Classic" и линейкой продуктов VPC. Дополнительную информацию см. В разделе " Часто задаваемые вопросы по Amazon".

Да. Если вы осознаете безопасность, являетесь сильным пользователем CloudFormation или хотите получить полный контроль над автомасштабированием (в отличие от Beanstalk, который абстрагирует некоторые грани его, но все же дает вам полный доступ к параметрам масштабирования), используйте VPC. Это сообщение в блоге делает отличную работу, обобщая как плюсы, так и минусы. Некоторые моменты из сообщения в блоге (написано kiip.me):

Что не так с EC2?

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

Все узлы находятся в общей сети и адресуются друг к другу. Это означает, что узел EC2, запущенный пользователем "Боб", может получить доступ к любому узлу EC2, запущенному пользователем "Fred". Обратите внимание, что по умолчанию группы безопасности запрещают это, но довольно легко отменить эту защиту, особенно при использовании настраиваемых групп безопасности.

Нет открытого виртуального интерфейса. Даже если вы хотите отключить весь трафик на общедоступном имени хоста, вы не можете. На уровне сетевого интерфейса каждый экземпляр EC2 имеет только один сетевой интерфейс. Публичные имена хостов и Эластичные IP-адреса направляются в "частную" сеть.

Что хорошего в VPC

Прежде всего, VPC обеспечивает невероятную степень безопасности по сравнению с EC2. Узлы, запущенные в пределах VPC arent, адресуемые через глобальный Интернет, EC2 или любым другим VPC. Это не означает, что вы можете забыть о безопасности, но он обеспечивает гораздо более эффективную отправную точку по сравнению с EC2. Кроме того, это упрощает правила брандмауэра, поскольку частные узлы могут просто сказать "разрешить любой трафик из нашей частной сети". Наше время от запуска узла до полного запуска веб-сервера сократилось с 20 минут до 5 минут, только из-за времени, сохраненного во избежание распространения изменений брандмауэра.

Наборы параметров DHCP позволяют указать имя домена, DNS-серверы, серверы NTP и т.д., Которые будут использовать новые узлы, когда они будут запущены в VPC. Это значительно упрощает внедрение пользовательского DNS. В EC2 вам нужно развернуть новый узел, изменить конфигурацию DNS, а затем перезапустить сетевые службы, чтобы получить тот же эффект. Мы запускаем собственный DNS-сервер в Kiip для внутреннего разрешения узлов, а наборы параметров DHCP делают это безболезненным (просто вводить восточный-web-001 в свой браузер, а не 10.101.84.22) гораздо больше смысла.

И, наконец, VPC просто обеспечивает гораздо более реалистичную серверную среду. Хотя VPC является уникальным продуктом для AWS и, похоже, "блокирует вас" в AWS, модель, которую использует VPC, более схожа с тем, если вы решили запустить собственное специализированное оборудование. Имея это знание заранее и создавая реальный мир, окружающий его, будет неоценимым, если вам нужно перейти на свое собственное оборудование.

В сообщении также перечислены некоторые трудности с VPC, все из которых более или менее связаны с маршрутизацией: получение интернет-шлюза или NAT-экземпляра из VPC, связь между VPC, настройка VPN в ваш центр обработки данных. Иногда это может быть довольно неприятно, и кривая обучения не является тривиальной. Тем не менее, преимущества безопасности сами по себе, вероятно, стоит того, и поддержка Amazon (если вы готовы заплатить за нее) чрезвычайно полезна, когда дело доходит до конфигурации VPC.

Ответ 2

В настоящее время VPC имеет некоторые полезные преимущества перед EC2, такие как:

  • несколько сетевых адаптеров на один экземпляр
  • несколько IP для каждой сетевой карты
  • "deny" -rules в группах безопасности
  • Параметры DHCP
  • предсказуемые внутренние диапазоны IP
  • движущиеся сетевые карты и внутренние IP-адреса между экземплярами
  • VPN

Предположительно Amazon обновит EC2 некоторыми из этих функций, но в настоящее время они только VPC.

Ответ 3

VPC полезны, если вашему приложению требуется доступ к серверам за пределами EC2, например, если у вас есть общая служба, размещенная в вашем собственном физическом центре обработки данных и недоступная через Интернет. Если вы собираетесь разместить все свои веб-серверы и серверы БД на EC2, нет причин использовать VPC.

Ответ 4

Прямо сейчас VPC - единственный способ иметь внутренние балансировки нагрузки

Ответ 5

Если вы выберете RDS для предоставления услуг вашей базы данных, вы можете настроить группы безопасности БД, чтобы разрешать подключения к базе данных из определенных групп безопасности EC2, тогда даже если у вас есть динамические IP-адреса в вашем кластере EC2, RDS автоматически создаст правила брандмауэра, чтобы разрешить соединения только из ваших экземпляров, что уменьшает преимущество VPS в этом случае.

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

Я также настоятельно рекомендую попробовать Elastic Beanstalk, который предоставит консоль, которая упростит настройку вашего кластера EC2 для приложений PHP, Java и.Net, позволяющих автоматическое масштабирование, балансировку эластичной нагрузки и автоматическое ведение версий приложений, что позволяет легко откатиться от плохих развертываний,

Ответ 6

Вы подняли хорошую проблему здесь.

Я хотел бы сосредоточиться на жизнеспособности с точки зрения стоимости...

Как насчет фактора стоимости?

Я думаю, что вы будете платить за этот сервер в час. Даже если вы выберете $20- $ 50 в месяц, это будет то, что вы заплатите до конца своей жизни на сервере. VPN-сервер - это то, что вы можете легко установить на старом оборудовании, очень дешево и даже бесплатно для решения с открытым исходным кодом.

Добавление VPN к существующему парку серверов AWS имеет смысл, а установка отдельного VPN-сервера в AWS - нет. Я не думаю, что это лучший рентабельный вариант, но это только мое мнение.

Спасибо,

Алиса