From b7f691988299776a4f8c2a0ca552cab60f126f46 Mon Sep 17 00:00:00 2001 From: Chetan Nandikanti Date: Fri, 10 Apr 2026 09:57:19 -0500 Subject: [PATCH] Update the solution architecture --- migration/online/zdm-proxy/README.md | 2 +- .../online/zdm-proxy/aws-ecs-zdm.drawio.png | Bin 92586 -> 0 bytes .../online/zdm-proxy/aws-ecs-zdm.drawio.svg | 4 ++++ 3 files changed, 5 insertions(+), 1 deletion(-) delete mode 100644 migration/online/zdm-proxy/aws-ecs-zdm.drawio.png create mode 100644 migration/online/zdm-proxy/aws-ecs-zdm.drawio.svg diff --git a/migration/online/zdm-proxy/README.md b/migration/online/zdm-proxy/README.md index 9f3ee7a..054a357 100644 --- a/migration/online/zdm-proxy/README.md +++ b/migration/online/zdm-proxy/README.md @@ -16,7 +16,7 @@ This repository introduces key enhancements for use with Amazon Web Services and The proxy is deployed with Amazon ECS on Fargate which can scale up and down based on application demand. The Network load balancer allows application traffic to be distributed across a number of ECS tasks. -![this screenshot](aws-ecs-zdm.drawio.png) +![this screenshot](aws-ecs-zdm.drawio.svg) diff --git a/migration/online/zdm-proxy/aws-ecs-zdm.drawio.png b/migration/online/zdm-proxy/aws-ecs-zdm.drawio.png deleted file mode 100644 index a226c5cad9c9df9aa1889bb89e6f2ccc42a9040a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92586 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 diff --git a/migration/online/zdm-proxy/aws-ecs-zdm.drawio.svg b/migration/online/zdm-proxy/aws-ecs-zdm.drawio.svg new file mode 100644 index 0000000..98a826b --- /dev/null +++ b/migration/online/zdm-proxy/aws-ecs-zdm.drawio.svg @@ -0,0 +1,4 @@ + + + +
VPC
Availability Zone 3
ZDM Proxy Fargate Task 
Availability Zone 2
ZDM Proxy Fargate Task 
Availability Zone 1
ZDM Proxy Fargate Task 
Writes
Reads

Network Load Balancer
VPC Interface Endpoints
Self-managed Cassandra Cluster
Amazon Keyspaces
Writes
Reads

Target Cluster

Origin Cluster
ZDM Proxy
Application Users
\ No newline at end of file