Comprehensive Hybrid Cloud Infrastructure Setup and Integration Guide

When a legacy system in a data center is not ready to move to the cloud, and new services require the flexibility of Kubernetes, we set up hybrid infrastructure turnkey. Our team unifies on-premise and cloud into a single circuit with shared network, DNS, and security, ensuring reliable operation and ongoing support.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1365
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1330
  • B2B Advance company logo design
    B2B Advance company logo design
    776
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1077
  • AIDER company logo development
    AIDER company logo development
    1022
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1113

Hybrid Cloud Infrastructure Setup

Imagine: you have a legacy system in a data center with dozens of hardware and license dependencies. Moving it to the cloud is a multi-month risk. But you want to run new microservices on Kubernetes on AWS. The solution is hybrid infrastructure. We configure it turnkey so that on-premise and cloud work as a single cluster with a shared network, DNS, and IAM contour.

Where things usually break

The most common problem is IP address inconsistency. The on-premise network lives in 10.0.0.0/8, the cloud VPC in 172.16.0.0/12, and at first glance everything is fine. But when you add Transit Gateway, peering to multiple VPCs, and corporate VPN, overlapping CIDRs start to silently confuse the router. Packets drop, services become unavailable, and neither side sees an error at its level.

The second pain point is DNS. In a hybrid environment, db.internal.company.com from a cloud pod must resolve to the IP of an on-premise database, and api.svc.cluster.local from an on-premise application must resolve to the ClusterIP of a Kubernetes service. This is solved via Route 53 Resolver with forwarding rules to on-premise DNS, and a Conditional Forwarder on the on-premise side to Route 53. If you don't configure both directions, half the resolutions will fail with NXDOMAIN.

Authentication is also nontrivial. Cloud applications need credentials for on-premise systems and vice versa. IAM Roles for Service Accounts (IRSA) in EKS works great inside AWS, but for on-premise resources you need either Vault with AWS auth backend or secrets via AWS Secrets Manager replicated into the cluster with External Secrets Operator.

Direct Connect or VPN: what to choose?

Parameter Direct Connect Site-to-Site VPN
Bandwidth Up to 10 Gbps (aggregation up to 100 Gbps) Depends on internet link, usually up to 1 Gbps
Latency Stable, predictable Fluctuates due to internet
SLA 99.99% 99.95% (depends on ISP)
Security Physical isolation, optional IPSec IPSec mandatory
Cost Higher (port rental, traffic) Lower (only VPN gateway cost)
Deployment time 2–4 weeks (depends on provider) 1–2 days

Source: AWS Direct Connect and Site-to-Site VPN documentation

For production workloads with critical latency, Direct Connect is up to 10x more reliable than VPN. For dev/staging or low volumes, VPN is sufficient.

How we build the hybrid network

Network connectivity is the first thing we design. We use Transit Gateway as a central hub. All VPCs connect to it, not through peering with each other. This scales: add a new VPC — attach it to TGW, routes to the rest appear automatically.

Network topology for a mid-sized project:

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

Configuration management with Terraform

All network infrastructure is in code. Example Terraform for 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
  }
}

Routes in the Transit Gateway Route Table are also declarative — no manual clicks in the console that nobody documents.

Kubernetes in a hybrid environment

An EKS cluster with a node group in private subnets has no direct internet access. To pull images from ECR, you need VPC Endpoints for ECR and S3 (image layers are stored in S3). For access to on-premise resources, routes via TGW are used. CoreDNS in the cluster is configured via a ConfigMap with Corefile:

Corefile example for hybrid 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
    }

This way, pods in EKS resolve service.internal.company.com directly to the on-premise DNS, bypassing external resolvers.

Security and segmentation

Security Groups in AWS are stateful. Network ACLs are stateless. For hybrid, it is important to allow traffic in both directions at the NACL level, otherwise return traffic will be blocked. A common mistake: you open an inbound rule in the SG for the on-premise subnet but forget the NACL on the subnet level, and traffic still doesn't pass.

AWS Network Firewall or on-premise NGFW (Palo Alto, Fortinet) for traffic inspection between sites — the choice depends on compliance requirements. If data is PCI DSS or healthcare, inspection is mandatory.

Hybrid monitoring

Prometheus with remote_write to AWS Managed Prometheus, on-premise exporters send metrics via a secure endpoint. Grafana provides a single visualization point for both sites. VPN/Direct Connect monitoring via CloudWatch metrics TunnelState and TunnelDataIn/Out — an alert on tunnel failure reaches PagerDuty before the user calls.

What our work includes (Deliverables)

  • Audit of current network infrastructure and application dependencies (CIDR inventory, analysis of latency and throughput requirements).
  • Network topology design considering CIDR, latency, and throughput.
  • Direct Connect or VPN setup, Transit Gateway configuration.
  • DNS resolution deployment (Route 53 Resolver, Conditional Forwarder).
  • IAM integration (IRSA, Vault, or External Secrets Operator).
  • Monitoring and alerting setup (Prometheus, Grafana, CloudWatch).
  • Full infrastructure documentation in code (Terraform).
  • Team training and access handover.
  • Support during the warranty period (2 weeks after handover).

Costs for a typical hybrid setup: basic VPN from $500/month, Direct Connect from $2000/month. Savings from reduced latency and increased reliability can be 20–30% in operational costs.

We have delivered over 30 projects. Contact us for a consultation: we'll assess your project in 2 days and propose an optimal solution.

Timeline estimates

Scale What's included Timeline Estimated cost per month
Basic hybrid VPN + 1 VPC + DNS forwarding 2–3 weeks $500–$1,000
Medium Direct Connect + TGW + EKS + Vault 6–10 weeks $2,000–$5,000
Enterprise Multi-region + compliance + NGFW + full IaC 3–5 months $10,000+

Before starting, we perform a network audit: CIDR inventory, application dependency analysis, latency and throughput requirements. Pricing is calculated individually after the audit.

AWS Direct Connect official documentation