CloudFront как внутренний CDN без Интернета/IGW

Вопрос или проблема

Подтвердите, можем ли мы использовать CloudFront в качестве локальной CDN без IGW в VPC и принимать доступ только с диапазона частных IP-адресов организации в локальной сети (10.x.x.x), как на прикрепленном изображении IntranetCFWithoutInternet.png.

Как указано в https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-vpc-origins.html, мы можем направлять трафик от CloudFront на частные ALB/NLB/EC2 экземпляры в рамках частной подсети VPC. Однако CloudFront принимает трафик из Интернета и требует IGW.

Если CloudFront предназначен только для публичного Интернета, я предполагаю, что это невозможно, но, пожалуйста, дайте совет.

Ответ или решение

Использование Amazon CloudFront в качестве внутреннего CDN без доступности интернета через Интернет-шлюз (IGW) представляет собой интересную задачу, особенно когда нужно обеспечить ограниченный доступ только с частного IP-адреса внутри организации (например, из диапазона 10.x.x.x). В данной ситуации перед нами стоит вопрос о возможности интеграции CloudFront, который по своей природе ориентирован на работу с интернет-аудиторией, в внутреннюю инфраструктуру компании, избегая связи с внешним интернетом.

Теория

Amazon CloudFront — это глобальная сеть доставки контента (CDN), разработанная для обеспечения высокоскоростной и безопасной передачи содержимого пользователям по всему миру. Главная цель CloudFront — это кэширование содержимого на различных серверах по всему миру, минимизируя задержку доступа к этому содержимому для пользователей, находящихся на разных географических позициях.

Обычно для работы CloudFront требуется внешний источник (Origin), с которым идет синхронизация, и этим источником могут быть Amazon S3, HTTP(S)-серверы или ресурсы внутри архитектуры AWS (например, Amazon EC2, находящийся за ALB/NLB). В стандартной конфигурации CloudFront ожидается взаимодействие с этими источниками через IGW.

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

Пример

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

Настроить CloudFront для взаимодействия с приватной сетью возможно, используя такие инструменты, как AWS PrivateLink или Elastic Load Balancer, предоставляя маршрутизацию контента на приватные адреса через CloudFront с использованием VPC.

Важно понимать, что сам CloudFront не умеет напрямую осуществлять обмен данными без выхода в интернет. Однако, можно реализовать сценарий, где приложение будет взаимодействовать с общественными IP CloudFront через приватные сети AWS. В таком случае ключевую роль играют посмотрелы, такие как Network Load Balancer (NLB), которые принимают трафик и перенаправляют его к целевым сервисам без IGW.

Применение

Реализация такой архитектуры начинается с разбора топологии и необходимых политик безопасности. Если ваш VPC не оснащен IGW, значит, маршрутизация будет производиться исключительно через приватные соединения, такие как VPN или Direct Connect.

  1. Настройка VPC: Все ресурсы, которым необходимо доступ к контенту, должны быть расположены в одном или нескольких VPC с корректной конфигурацией маршрутизации.

  2. Использование PrivateLink или VPC Peering: Эти технологии позволяют создать частные соединения между VPC и другими AWS сервисами, обходя необходимость IGW.

  3. Network Load Balancer (NLB): Чтобы принимать и маршрутизировать трафик от CloudFront, необходимо использовать альтернатированные решения, такие как NLB с частным IP, которые будут аккумулировать запросы и перенаправлять их во внутренние сети.

  4. Настройка CloudFront: Хотя сам CloudFront по умолчанию принимает внешний доступ, необходимо установить политики безопасности и правила доступа, определяющие, какие сети могут взаимодействовать с ресурсами, и каким образом.

  5. Политики безопасности и access control: Настройте политики IAM, Security Groups и Network ACL, чтобы гарантировать, что доступные ресурсы взаимодействуют друг с другом исключительно внутри заданной сети.

Хотя реализация CloudFront в качестве внутреннего CDN без IGW — это нетривиальная задача, достижения этой цели возможно при реализации комплексного плана с использованием вышеописанных технологий. Однако, необходимо учитывать, что даже в случае реализации такой архитектуры CloudFront физически будет использовать средства Amazon по маршрутизации посредством внешних IP — пусть и защищенных. Таким образом, защита данных и доступ посредством VPN или других методов остается ключевым элементом. Важно также оценить политику безопасности и соответствие законодательных норм при проектировании подобной инфраструктуры.

Оцените материал
Добавить комментарий

Капча загружается...