Разбираемся с Cloud Landing Zone

Облачные сервисы в последние годы пользуются большой популярностью. Преимущества всем хорошо известны — это экономия на закупке и сопровождении оборудования, лицензиях, персонале и т.д. Если у нас разворачивается инфраструктура с нуля, то ситуация несколько проще. Мы можем сразу развернуть наши сервисы в облаках и дальше уже тестировать их работу. Конечно, здесь тоже можно столкнуться с различными трудностями, но по крайней мере при создании инфраструктуры с нуля нам не требуется выполнять миграцию.

Совсем другая история, когда у нас уже имеется некоторый набор сервисов, функционирующий на железе, и мы хотим перевести их в облака. Тогда всё становится значительно веселее, так как при миграции можно столкнуться с массой сюрпризов.

Для того, чтобы минимизировать количество таких сюрпризов, переход в облака необходимо выполнять постепенно, и в этом нам могут помочь правильные строительные блоки — cloud landing zone. На практике эти строительные блоки могут быть некоторой тестовой площадкой, в которой проходят проверку перемещаемые в облако сервисы перед развёртыванием в производственной среде. А могут быть просто отправной точкой для быстрого развёртывания рабочих нагрузок и приложений в облачной среде.

Что такое Cloud Landing Zone

Итак, давайте рассмотрим подробнее, что из себя представляет Cloud Landing Zone — это прежде всего изолированная среда, защищённая от внешних вмешательств. Также важно, чтобы данная среда была заранее определена и включала в себя все необходимые для надежного тестирования компоненты — например, сетевая топология и вспомогательные сервисы.

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

e2d091207dcf77c3b3128e160e1306cd.png

Далее мы посмотрим, как выполнить миграцию сервисов в облачную среду с помощью так называемой «теории трёх дней».

Теория трёх дней

На самом деле, естественно, речь не идёт о том, как выполнить переход в облака за три дня. Вместо этого мы говорим о трёх этапах перехода в Landing Zone. Первый день относится к спецификации и проектированию сервисов в облаках, второй день — это разработка необходимых компонентов решения и развёртывание, и третий день — это собственно переход к эксплуатации и решение соответствующих вопросов. На представленном ниже рисунке эти дни нумеруются, начиная с нулевого.

c4ccfe6fa4b54a43c834b4f28e975704.png

Проектирование

Начнём с проектирования Cloud Landing Zone. Какие основные требования предъявляются к приложениям в облачной среде. Прежде всего, это требования безопасности. Нам необходимо, во-первых, обеспечить управление идентификацией и доступом, разграничение доступа к различным компонентам нашего приложения в облаке. Во вторых, нужно изолировать компоненты приложения и обеспечить их взаимодействие только по разрешённым портам и протоколам. В целом, подход к управлению обеспечения безопасности в облаке должен быть централизованным. То есть все политики и списки доступа должны управляться централизованно. Это позволит как увеличить общую защищённость приложения, так и упростить управление компонентами защиты.

Кроме того, неотъемлемой частью любой системы защиты является мониторинг событий безопасности. Необходимо собирать наиболее важные события информационной безопасности, такие как события удачного/неудачного входа в систему, изменения прав и т.д. И эти события не должны просто храниться где-то в логах — необходимо пересылать их для анализа в систему управления событиями безопасности SIEM.

Не стоит забывать и о соответствии требованиям регуляторов (ФЗ №152, ФЗ №187 и требования соответствующих приказов ФСТЭК). Лучше заложить соответствующие требования на этапе проектирования, чем потом, уже после развёртывания судорожно внедрять дополнительные средства защиты, пытаясь интегрировать их в существующую систему. Таким образом, вы можете обеспечить базовый уровень соответствия требованиям для нескольких клиентов или сред.

Продолжая тему безопасности, вспомним про требования к сети. Картинка ниже является кратким напоминанием типов облачных сервисов.

a07c474d8b42cb46e8c1d53024ba3b4a.png

Как правило, для серьёзных сервисов у нас используется IaaS, то есть мы самостоятельно разворачиваем ОС и всё, что выше. При планировании миграции важно учитывать то, как накладывается требующаяся нам сетевая топологию на сетевую инфраструктуру облачного провайдера. Все ли сетевые сервисы и протоколы поддерживаются. Также необходимо продумать правильную сегментацию и составить списки доступа.

a837d7bb012d61dc34f29bf8824f9891.png

Клиентам нашего облачного приложения в зависимости от выполняемых ими функций необходимо назначить различные профили безопасности, например dev/staging/prod и т.д.

При проектировании не лишним будет продумать требования к аппаратным мощностям. Да, в облаках добавить память или CPU несколько проще, чем на живом железе, но при внедрении можно столкнуться с проблемой отсутствия нужных мощностей у провайдера (да, облачный провайдер мне не смогу предоставить 256 Гб ОЗУ).

И в целом, чем лучше мы проработаем архитектуру landing zone, тем меньше боли у нас будет на следующих этапах.

Развёртывание landing zone

После глубокой проработки требований мы переходим к развёртыванию. Конечно, определиться провайдером облачных услуг, на ресурсы которого мы будем приземлять свои сервисы, необходимо ещё на этапе проектирования. А на этапе внедрения мы должны уже разворачивать наши сервисы.

Долго размышлять на тему того, какой облачный провайдер лучше, мы не будем. На эту тему есть множество публикаций, например — на тему Landing zone в AWS или Microsoft. Так как с иностранными облаками в последнее время всё сложно, то лучше сразу ориентироваться на отечественные сервисы, благо их на рынке довольно много.

Если мы грамотно продумали изначальные требования к landing zone, то больших проблем при развёртывании быть не должно. Однако такое возможно только в идеальном мире.  В реальности мы обязательно столкнёмся с сюрпризами. Поэтому, лучше всего использовать средства автоматизации развёртывания, например Terraform для развёртывания серверов и Ansible для распространения настроек.

Управление landing zone

Облачные среды и их использование никогда не бывают статичными. Это означает, что необходимо постоянно прилагать усилия для управления и эксплуатации базовых cloud landing zone. По мере расширения вашей landing zone вам придётся разворачивать в облаке дополнительные сервисы, также придётся заботиться о безопасности развёрнутых решений и планировать landing zone для новых сервисов.

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

a9066d7ffa83c131d580909108ae0a8f.png

И не забываем о мониторинге событий ИБ, межсетевом экранировании, анализе трафика и других защитных механизмах, которые используются на протяжении всего жизненного цикла ИТ-систем.

Заключение

В этой небольшой статье мы рассмотрели основные моменты, связанные с созданием Cloud Landing Zone. Грамотное создание такой среды позволяет сделать миграцию в облака менее болезненной.

Статья подготовлена в преддверии старта курса «Enterprise Architect».

© Habrahabr.ru