Налаштування гібридної хмарної інфраструктури

Коли 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