MTB Digital Payments — DEV Environment

MTB Digital Payments — DEV Environment An architecture diagram generated by Archify. MTB Bank Core · 10.104.0.0/21 · Architecture component · pcl.mtb.ua MTB Bank Core 10.104.0.0/21 pcl.mtb.ua Site-to-Site VPN · IKEv2 / BGP 65521 · AWS eu-central-1 — DEV Account (315894674298) · AES-256 Site-to-Site VPN IKEv2 / BGP 65521 AES-256 Developers · Pritunl VPN 10.9.0.0/24 · Architecture component Developers Pritunl VPN 10.9.0.0/24 GitHub · apps-hub + hub-infra · Architecture component · GitOps GitHub apps-hub + hub-infra GitOps MTB360 · Peering 192.168.20.0/22 · Architecture component · Kafka access MTB360 Peering 192.168.20.0/22 Kafka access Route 53 · dev.mps.mtb.ua · AWS eu-central-1 — DEV Account (315894674298) Route 53 dev.mps.mtb.ua Traefik Public · NLB :443 · AWS eu-central-1 — DEV Account (315894674298) · mgate / vrtp Traefik Public NLB :443 mgate / vrtp Traefik Internal · NLB (VPN only) · AWS eu-central-1 — DEV Account (315894674298) · admin / keycloak Traefik Internal NLB (VPN only) admin / keycloak ArgoCD · auto-sync + self-heal · AWS eu-central-1 — DEV Account (315894674298) ArgoCD auto-sync + self-heal API / Payment · dev ns (Helm) · AWS eu-central-1 — DEV Account (315894674298) › EKS Workloads (apis subnets 10.0.20.0/22) · mgate / payment API / Payment dev ns (Helm) mgate / payment ESB Services · dev ns · AWS eu-central-1 — DEV Account (315894674298) › EKS Workloads (apis subnets 10.0.20.0/22) · esb-api / portal ESB Services dev ns esb-api / portal Keycloak · OAuth 2.0 / IAM · AWS eu-central-1 — DEV Account (315894674298) › EKS Workloads (apis subnets 10.0.20.0/22) Keycloak OAuth 2.0 / IAM Inverse Services · inverse-dev ns · AWS eu-central-1 — DEV Account (315894674298) › EKS Workloads (apis subnets 10.0.20.0/22) · onboarding Inverse Services inverse-dev ns onboarding Kafka (KRaft 3.9) · infra-services ns · AWS eu-central-1 — DEV Account (315894674298) › EKS Workloads (apis subnets 10.0.20.0/22) · event bus Kafka (KRaft 3.9) infra-services ns event bus Redis · redis:7-alpine :6379 · AWS eu-central-1 — DEV Account (315894674298) › EKS Workloads (apis subnets 10.0.20.0/22) Redis redis:7-alpine :6379 RDS App + Event · PG 15.12 db.t3.small · AWS eu-central-1 — DEV Account (315894674298) · appdb / eventdb RDS App + Event PG 15.12 db.t3.small appdb / eventdb RDS IAM (Keycloak) · PG 15.12 db.t3.small · AWS eu-central-1 — DEV Account (315894674298) · iamdb RDS IAM (Keycloak) PG 15.12 db.t3.small iamdb EKS 1.33 · mtb-dp-dev-eks · AWS eu-central-1 — DEV Account (315894674298) · spot + on-demand EKS 1.33 mtb-dp-dev-eks spot + on-demand OTel Collector · infra-services ns · AWS eu-central-1 — DEV Account (315894674298) OTel Collector infra-services ns INFRA Account · Peering 10.2.0.0/16 · Architecture component · Grafana / Loki INFRA Account Peering 10.2.0.0/16 Grafana / Loki S3 Buckets · bin-range + kestra · AWS eu-central-1 — DEV Account (315894674298) S3 Buckets bin-range + kestra IPsec bank traffic DNS lookup alias webhook routes routes deploy events cache SQL SQL k8s metrics telemetry AWS eu-central-1 — DEV Account (315894674298) EKS Workloads (apis subnets 10.0.20.0/22) Legend Backend Database Cloud Security Message bus External

Route 53 — dev.mps.mtb.ua

  • • Public NLB: mgate, vrtp, api-inv, api-pub-inv, api-int-inv, admin-inv
  • • Internal NLB: admin, merchant, admin-int, keycloak, kafka-int
  • • Internal NLB: event-int, kafka-ui, esb-api, esb-portal, kestra-int
  • • Internal NLB: esb-db :5432, esb-db-read :5433, docs
  • • Internal NLB: service-admin-inv, conductor-inv
  • • Bank PHZ: tdhost1.pcl.mtb.ua → 192.168.100.3 (VPN)

RDS PostgreSQL 15.12 (3 instances)

  • • appdb (db.t3.small, max_conn=500) — payment services
  • • iamdb (db.t3.small, max_conn=300) — Keycloak IAM
  • • eventdb (db.t3.small, max_conn=300) — event-router, is-card-trx
  • • All: gp3, backup 7d, data subnets, encrypted
  • • SG: EKS pods + VPN (WireGuard 10.8/24 + Pritunl 10.9/24)

Traefik Ingress (public + internal)

  • • PUBLIC (a282bbf...): mgate, vrtp, api-inv, api-pub-inv
  • • PUBLIC: api-int-inv (+ vpn-whitelist middleware), admin-inv
  • • INTERNAL (a54b60e...): admin, merchant, admin-int, keycloak
  • • INTERNAL: kafka-int, event-int, kafka-ui, esb-api, esb-portal
  • • INTERNAL: esb-db :5432, esb-db-read :5433, kestra-int, docs

Security and Connectivity

  • • VPN to MTB Bank: 195.47.202.128, IKEv2 AES-256, BGP 65521
  • • VPC Peering INFRA: 10.2.0.0/16 (Grafana/Vault/ArgoCD)
  • • VPC Peering MTB360: 192.168.20.0/22 (Kafka access)
  • • Pritunl VPN: 10.9.0.0/24, WireGuard: 10.8.0.0/24
  • • S3: dev-bin-range-files (versioned, AES256, lifecycle)