0

Я архитектор AWS. Недавно я вошел в аккаунт, который имел некоторые серьезные недостатки в разработке приложений, которые в настоящее время интегрируются в систему.Методология подсети AWS VPC

По моему мнению, подсети были просто слишком большими, с одним размером, соответствующим всем менталитетам, которые оказались в ленивых группах безопасности, открывая порты во всю подсеть (/ 24s и/25s) или даже весь VPC. Также были проблемы с маршрутизацией для некоторых приложений, которые были созданы в неправильные подсети с большим временем выполнения, чтобы переместить их снова из-за упрощенного статического IP-адреса в ОС. Мы просто не могли изменить подсеть от публичного к частному, поскольку там находились другие приложения. OY!

Мой вопрос!

Как вы относитесь к подсетям и их отношениям к группам безопасности при планировании среды 50-150 SaaS (dev, qa, stage, prod)/среды корпоративных приложений (внутренних приложений)?

Если у вас есть большие подсети (например: 24 публичных или 24 частных) для использования со всеми приложениями, вам необходимо будет использовать группы безопасности, прикрепленные к вашим экземплярам фронт-уровня, в качестве исходных адресов в группах безопасности далее по стеку иметь возможность: 1) разрешать трафик только из определенных источников в определенных служебных портах; 2) быть кандидатом на автомасштабирование, верно? В противном случае вам нужно будет управлять отдельными IP-адресами в качестве исходных адресов, чтобы ограничить трафик, который был бы 1) огромной болью 2) невозможно автомасштабировать ИЛИ иметь автомасштабирование, открывая трафик со всей подсети/vpc, которая не является безопасной.

Моей альтернативная конструкция сети подсети для небольших подсетей была это -

имеет меньшую подсеть (/ 27s,/28s,/26s) и разрешить только трафик от соответствующих подсетей:

Web Tier A (/ 27) (AZ-А) веб-уровень В (/ 27) (АЗ-Е)

приложение уровня А (/ 27) (AZ-А) приложение уровня В (/ 27) (АЗ-Е)

Группы безопасности уровня приложения имеют доступ только к сервису p орты из веб-уровней A & B с использованием CIDR веб-уровня A/B в качестве исходных сетей. Это позволило бы как автомасштабирование, так и контролируемый трафик между подсетями через группы безопасности. В этой модели мы не будем использовать другие группы безопасности в качестве источников в наших SG, ожидаем, что, возможно, будем использовать их с балансирами нагрузки.

Вопрос для вас - какой из них выбрать? Я чувствую, что с более поздними, меньшими, они могут использоваться как строительные блоки, каждое приложение имеет свой собственный уровень подсети. Медленно вырезая пирог VPC. Чем ты занимаешься? Что имеет смысл с точки зрения операций и масштабируемости?

+0

Это не вопрос программирования и, вероятно, лучше подходит для ServerFault.com. –

ответ

3

Я также архитектор AWS, и, на мой взгляд, если вы делаете доступ через IP-адреса, вы делаете это неправильно.

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

Группы безопасности должны предоставлять доступ к другим группам безопасности, а не к IP-адресам. Итак, скажем, у вас есть веб-приложение и сервер базы данных. Создайте группу «DBAccess» - она ​​не должна иметь никаких правил и назначить ее вашим веб-экземплярам.Затем создайте группу «DBServer», которая откроет соответствующий порт (-ы) для всего, что работает в группе «DBAccess». Чтобы дополнительно ограничить доступ, вы должны создать DBAccess-Prod, -QA, -Dev и т. Д. Выполнение этого путем формирования облаков делает процесс простым.

BTW, Amazon опубликовала справочную архитектуру NIST 800-53, которую вы можете захотеть посмотреть.

Смежные вопросы