Настройка гибридной облачной инфраструктуры (Hybrid Cloud)

Когда legacy-система в дата-центре не готова к переезду в облако, а новые сервисы требуют гибкости Kubernetes, мы настраиваем гибридную инфраструктуру под ключ. Наша команда объединяет on-premise и облако в единый контур с общей сетью, DNS и безопасностью, обеспечивая надёжную работу и последующую поддержку.
Часто задаваемые вопросы

Настройка гибридной облачной инфраструктуры (Hybrid Cloud)

Представьте: у вас legacy-система в датацентре с десятками зависимостей от железа и лицензий. Переносить её в облако — риск на несколько месяцев. Но новые микросервисы вы хотите запускать в Kubernetes на AWS. Выход — гибридная инфраструктура. Мы настраиваем её под ключ так, чтобы on-premise и облако работали как единый кластер с общим сетевым, DNS и IAM контуром.

Как настроить гибридную облачную инфраструктуру? — настройка гибридной облачной

Типичный запрос: «у нас legacy-система в датацентре, её не перенести в облако — слишком много зависимостей от железа и лицензий. Но новые сервисы хотим запускать в Kubernetes в облаке». Именно для такого сценария и строится гибрид. Ниже разберём ключевые этапы и подводные камни.

Где обычно всё ломается

Самая частая проблема — несогласованность сетевых адресов. On-premise сеть живёт в 10.0.0.0/8, облачная VPC — в 172.16.0.0/12, и на первый взгляд всё хорошо. Но когда добавляется Transit Gateway, пиринговые соединения к нескольким VPC и корпоративный VPN — начинаются overlapping CIDR, которые маршрутизатор молча игнорирует. Пакеты пропадают, сервис недоступен, и ни одна из сторон не видит ошибки на своём уровне.

Вторая точка боли — DNS. В гибридном окружении нужно, чтобы db.internal.company.com из облачного пода резолвился в IP адрес on-premise базы, а api.svc.cluster.local из on-premise приложения — в ClusterIP кубернетес-сервиса. Это решается через Route 53 Resolver с forwarding rules в сторону on-premise DNS, и Conditional Forwarder на on-premise стороне в сторону Route 53. Если не настроить оба направления — половина резолюций будет падать с NXDOMAIN.

Аутентификация тоже нетривиальна. Приложения в облаке должны получать credentials для доступа к on-premise системам, и наоборот. IAM Roles for Service Accounts (IRSA) в EKS работает отлично внутри AWS, но для on-premise ресурсов нужен либо Vault с AWS auth backend, либо секреты через AWS Secrets Manager с репликацией в кластер через External Secrets Operator.

Direct Connect или VPN: что выбрать?

Параметр Direct Connect Site-to-Site VPN
Пропускная способность до 10 Gbps (агрегация до 100 Gbps) зависит от интернет-канала, обычно до 1 Gbps
Задержка стабильная, предсказуемая плавает из-за интернета
SLA 99.99% 99.95% (зависит от ISP)
Безопасность физическая изоляция, дополнительно IPSec IPSec обязателен
Стоимость выше (аренда порта, трафик) ниже (только цена VPN-шлюза)
Время развёртывания 2–4 недели (зависит от провайдера) 1–2 дня

Для production-нагрузок с критичной latency выбираем Direct Connect. Для dev/staging или малых объёмов — VPN.

Как строим гибридную сеть

Сетевая связность — первое, что проектируем. Используем Transit Gateway как центральный хаб. Все VPC подключаются к нему, а не через пиринг друг с другом. Это масштабируется: добавляешь новую VPC — прикручиваешь к TGW, маршруты до остальных появляются автоматически.

Топология сети для среднего проекта:

On-Premise (10.10.0.0/16) │ │ Direct Connect / VPN ▼ AWS Transit Gateway ├── Production VPC (10.20.0.0/16) │ ├── Private Subnet (10.20.1.0/24) — EKS nodes │ └── Private Subnet (10.20.2.0/24) — RDS ├── Staging VPC (10.30.0.0/16) └── Shared Services VPC (10.40.0.0/16) ├── Route 53 Resolver Inbound Endpoint └── Route 53 Resolver Outbound Endpoint 

Управление конфигурацией через Terraform

Вся сетевая инфраструктура — в коде. Пример Terraform для Route 53 Resolver:

resource "aws_route53_resolver_endpoint" "outbound" {
  name = "hybrid-outbound-resolver"
  direction = "OUTBOUND"
  security_group_ids = [aws_security_group.resolver.id]

  ip_address {
    subnet_id = aws_subnet.shared_services_a.id
  }

  ip_address {
    subnet_id = aws_subnet.shared_services_b.id
  }
}

resource "aws_route53_resolver_rule" "onprem" {
  domain_name = "internal.company.com"
  name = "forward-to-onprem"
  rule_type = "FORWARD"
  resolver_endpoint_id = aws_route53_resolver_endpoint.outbound.id

  target_ip {
    ip = "10.10.0.53"
    port = 53
  }

  target_ip {
    ip = "10.10.0.54"
    port = 53
  }
}

Маршруты в Transit Gateway Route Table тоже декларативны — никаких ручных кликов в консоли, которые никто не задокументировал.

Kubernetes в гибридном окружении

EKS кластер с node group в приватных подсетях не имеет прямого доступа в интернет. Для pull образов из ECR нужен VPC Endpoint для ECR и S3 (лейеры образов хранятся в S3). Для доступа к on-premise ресурсам — маршруты через TGW. CoreDNS в кластере настраивается через ConfigMap с Corefile:

Пример Corefile для гибридного DNS
apiVersion: v1
kind: ConfigMap
metadata:
  name: coredns
  namespace: kube-system
data:
  Corefile: |
    .:53 {
        errors
        health
        kubernetes cluster.local in-addr.arpa ip6.arpa {
            pods insecure
            fallthrough in-addr.arpa ip6.arpa
        }
        forward internal.company.com 10.10.0.53 10.10.0.54
        forward . /etc/resolv.conf
        cache 30
        loop
        reload
        loadbalance
    }

Так поды в EKS резолвят service.internal.company.com напрямую в on-premise DNS, минуя внешние резолверы.

Безопасность и сегментация

Security Groups в AWS — stateful. Network ACL — stateless. Для гибрида важно разрешать трафик в обоих направлениях на уровне NACL, иначе return traffic будет блокироваться. Частая ошибка — открывают inbound правило в SG для on-premise подсети, забывают про NACL на Subnet уровне, и трафик всё равно не проходит.

AWS Network Firewall или on-premise NGFW (Palo Alto, Fortinet) для инспекции трафика между площадками — решение зависит от требований compliance. Если данные — PCI DSS или HealthCare — инспекция обязательна.

Мониторинг гибрида

Prometheus с remote_write в AWS Managed Prometheus, on-premise exporters отправляют метрики через secure endpoint. Grafana — единая точка визуализации для обеих площадок. VPN/Direct Connect мониторинг через CloudWatch метрики TunnelState и TunnelDataIn/Out — алерт при падении туннеля летит в PagerDuty раньше, чем позвонит пользователь.

Что входит в работу

  • Аудит текущей сетевой инфраструктуры и зависимостей приложений.
  • Проектирование топологии сети с учётом CIDR, latency и throughput.
  • Настройка Direct Connect или VPN, конфигурация Transit Gateway.
  • Развёртывание DNS-резолвинга (Route 53 Resolver, Conditional Forwarder).
  • Интеграция IAM (IRSA, Vault или External Secrets Operator).
  • Настройка мониторинга и алертинга (Prometheus, Grafana, CloudWatch).
  • Документирование всей инфраструктуры в коде (Terraform).
  • Обучение команды и передача доступов.
  • Поддержка на период гарантийного обслуживания (2 недели после сдачи).

Более 5 лет мы строим гибридные инфраструктуры для компаний с высокими требованиями к надёжности. Реализовали более 30 проектов — от небольших стартапов до enterprise с мультирегиональной архитектурой. Свяжитесь для консультации: оценим ваш проект за 2 дня и предложим оптимальное решение.

Ориентиры по срокам

Масштаб Что входит Сроки
Базовый гибрид VPN + 1 VPC + DNS форвардинг 2-3 недели
Средний Direct Connect + TGW + EKS + Vault 6-10 недель
Энтерпрайз Мультирегион + compliance + NGFW + полный IaC 3-5 месяцев

Перед стартом проводим сетевой аудит: инвентаризация CIDR, анализ зависимостей приложений, требования по latency и throughput. Стоимость рассчитывается индивидуально после аудита.

Официальная документация AWS Direct Connect

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139