13 Создание сетевых подключений в облачных вычислениях ГОСТ Р 70860—2023

13.1 Ключевые аспекты создания сетевых подключений ГОСТ Р 70860—2023

Сетевое подключение является ключевым элементом облачных вычислений. Само определение облачных вычислений основано на том, что доступ к их функциональным возможностям осуществляется через сеть: обеспечение сетевого доступа к масштабируемому и адаптивному пулу совместно используемых физических или виртуальных ресурсов с поддержкой самообслуживания и администрирования по требованию (см. ГОСТ ISO/IEC 17788).

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

Таким образом, существуют два общих вопроса, связанных с сетями в облачных вычислениях. Первый — это сетевое подключение, с помощью которого осуществляется доступ к данному облачному сервису и доступ к любым функциональным возможностям внутри облачного сервиса, например к приложению, запущенному в рамках вычислительного сервиса. Оно называется «сетевое подключение для доступа к облаку» или «сетевое подключение для доступа к публичному облаку», если речь идет о публичных облачных сервисах. Второй — это сетевое подключение, используемое для соединения экземпляров облачных сервисов друг с другом. Это сетевое подключение не должно быть доступно за пределами конкретных экземпляров облачных сервисов. Оно называется «внутриоблачное сетевое подключение» [из 13.1 Ключевые аспекты создания сетевых подключений ГОСТ Р 70860—2023]

13.2 Сетевое подключение для доступа к облаку ГОСТ Р 70860—2023

Облачные сервисы имеют доступные извне интерфейсы, которые позволяют использовать их функциональные возможности пользователям облака и системам, действующим от имени пользователей облака. Некоторые облачные сервисы также имеют доступные извне интерфейсы с поддержкой функциональных возможностей потребителя облачной службы, работающих внутри облачного сервиса. Среди примеров можно упомянуть такие интерфейсы, как веб-интерфейсы или API для приложений потребителя облачной службы, работающих внутри экземпляра вычислительного сервиса (например, внутри ВМ или контейнера), а также интерфейсы для хранения данных экземпляра сервиса хранения (например, файлового хранилища).

Как правило, доступные извне интерфейсы видны в Интернете, по крайней мере для публичных облачных сервисов. Однако в некоторых случаях доступные извне интерфейсы могут быть намеренно скрыты от посторонних глаз в Интернете, даже если доступ пользователей осуществляется через Интернет. Частные облачные сервисы могут быть развернуты таким образом, что будут доступны только в пределах частных сетей организации (т. е. такие облачные сервисы недоступны через Интернет). При этом может возникнуть ситуация, когда отдельные интерфейсы должны быть доступны извне. Например, когда веб-приложение, развернутое на частном облачном сервисе, должно представлять пользователям общедоступный интерфейс.

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

Для общедоступных интерфейсов также может потребоваться специальная настройка конфигурации. В частности, организации, приложение которой работает в облачном сервисе, может понадобиться, чтобы адрес, используемый для интерфейса, принадлежал ей, а не поставщику облачной службы. Эта концепция называется «Bring Your Own IP addresses» (BYOIP). Она дает возможность потребителю облачной службы настроить общедоступный интерфейс для приложения, работающего в облачном сервисе, с адресом, принадлежащим потребителю облачной службы. Подобного рода настройка может использоваться как для публичных облачных сервисов, так и для частных облачных сервисов [из 13.2 Сетевое подключение для доступа к облаку ГОСТ Р 70860—2023]

13.3 Внутриоблачное сетевое подключение ГОСТ Р 70860—2023

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

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

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

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

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

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

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

Виртуальные сети могут быть построены с использованием различных методов и технологий, включая программно-определяемые сети (SDN) и виртуализацию сетевых функций (NFV) [из 13.3 Внутриоблачное сетевое подключение ГОСТ Р 70860—2023]

13.4 VPN и облачные вычисления ГОСТ Р 70860—2023

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

  • конфигурация «узел — шлюз» (Host-to-Gateway). При этой конфигурации автономная система, как правило, клиентский компьютер или устройство получает удаленный доступ к защищенной сети. В контексте облачных вычислений типичным сценарием использования является доступ клиентского устройства к облачным сервисам, приложениям и другим ресурсам, работающим в них;
  • конфигурация «шлюз — шлюз» (Gateway-to-Gateway). При этой конфигурации защищенный сетевой обмен данными осуществляется между двумя отдельными защищенными сетями. При типичном сценарии использования облачные сервисы в облачной среде либо должны быть подключены к внутренним приложениям и системам потребителя облачной службы, либо должны быть подключены к другим облачным сервисам, работающим в другой облачной среде.

- 76649

Рисунок 9 — Типы конфигурации сетей VPN

Для создания сетей VPN используются различные технологии, такие как L2TP/IPsec и OpenVPN. Публичными поставщиками облачных служб, как правило, поддерживаются один или несколько типов сетей VPN [из 13.4 VPN и облачные вычисления ГОСТ Р 70860—2023]