Cloud & IT Cert Prep · पाठ

Global Tables और Route 53 के साथ बहु-साइट सक्रिय-सक्रिय

DynamoDB Global Tables, Aurora Global Database और Route 53 लेटेंसी रूटिंग का उपयोग करके दो या अधिक Region में एक साथ पूरी उत्पादन क्षमता चलाइए।

पाठ 4, कुल 4 में से13 चरण

Global Tables और Route 53 के साथ बहु-साइट सक्रिय-सक्रिय, CoddyKit पर Cloud & IT Cert Prep का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cloud & IT Cert Prep सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

Multi-Site Active-Active की परिभाषा

Multi-Site Active-Active Disaster Recovery का सर्वोच्च स्तर है, जिसमें आपका Application एक ही समय में दो या अधिक AWS Region में पूरी Production Capacity पर चलता है। Active-Passive के विपरीत, जहाँ Standby takeover की प्रतीक्षा करता है, Active-Active में दोनों Region हर समय Live User Traffic संभालते हैं। जब एक Region विफल होता है, तो दूसरा बिना किसी Failover Delay के तुरंत 100% Traffic संभाल लेता है। यह Pattern विश्वभर में फैले Users के लिए Latency भी कम करता है, क्योंकि उन्हें निकटतम Region से सेवा मिलती है।

# Active-Active traffic split (normal operation):
# us-east-1: serving ~50% of users (North America)
# eu-west-1: serving ~50% of users (Europe)

# Active-Active traffic split (us-east-1 failure):
# us-east-1: 0% (health check failed)
# eu-west-1: 100% (ASG scales up automatically)

# RTO: near-zero (DNS TTL propagation only)
# RPO: near-zero (with DynamoDB Global Tables)

DynamoDB Global Tables आर्किटेक्चर

DynamoDB Global Tables Active-Active Architecture की Data Backbone है। Global Tables Multi-Master, Multi-Region Replication सक्षम करते हैं — किसी भी Region के Application स्थानीय DynamoDB Table में read और write कर सकते हैं, और Changes लगभग 1 सेकंड के भीतर अन्य सभी Region में Replicate हो जाते हैं। आप यह निर्दिष्ट करके Global Tables Enable करते हैं कि Table किन Region में मौजूद होना चाहिए। AWS सभी Replication, Conflict Resolution (last-writer-wins) और Failover को स्वचालित रूप से संभालता है।

# Create DynamoDB table and add global regions
aws dynamodb create-table \
  --table-name UserSessions \
  --attribute-definitions AttributeName=userId,AttributeType=S \
  --key-schema AttributeName=userId,KeyType=HASH \
  --billing-mode PAY_PER_REQUEST \
  --region us-east-1

# Add replica regions for Global Table
aws dynamodb update-table \
  --table-name UserSessions \
  --replica-updates '[{"Create":{"RegionName":"eu-west-1"}},{"Create":{"RegionName":"ap-southeast-1"}}]' \
  --region us-east-1

Write-Active Reads के लिए Aurora Global Database

Aurora Global Database Active-Active Reads, लेकिन Active-Passive Writes प्रदान करता है। सभी Secondary Region 1 सेकंड से कम Replication Lag के साथ Reads संभालते हैं, जबकि केवल Primary Region Writes स्वीकार करता है। यह उन Read-Heavy Application के लिए आदर्श है जिन्हें विश्वभर में कम-Latency Reads और स्पष्ट Write Primary चाहिए। Primary की Regional Failure के दौरान, आप 1 मिनट से कम समय में किसी Secondary को Primary बना सकते हैं और Write Tier के लिए कम RTO प्राप्त कर सकते हैं। इसकी तुलना DynamoDB Global Tables से करें, जो सभी Region में Active-Active Writes का समर्थन करता है।

# Aurora Global Database read configuration
# Primary region (us-east-1): reads + writes
# Secondary region (eu-west-1): reads only
#   ~100ms replication lag, serves EU users low-latency reads

# Application reads from local Aurora endpoint
# Application writes to primary region Aurora endpoint

# Java connection string with region routing:
# readEndpoint=eu-west-1.cluster-ro-xxx.aurora.amazonaws.com
# writeEndpoint=us-east-1.cluster-xxx.aurora.amazonaws.com

Active-Active के लिए Route 53 Routing

Route 53 Multi-Site Active-Active Architecture के लिए Traffic Director है। प्रत्येक User को उसके स्थान से सबसे कम Network Latency वाले Region में भेजने के लिए Latency-Based Routing का उपयोग करें। प्रत्येक Regional Record से Health Checks जोड़ें — जब कोई Region अपना Health Check विफल करता है, तो Route 53 उसे DNS Response से स्वचालित रूप से हटा देता है और सारा Traffic शेष स्वस्थ Region में भेजता है। Users को स्वस्थ Region में Failover होने में लगने वाला समय कम करने के लिए DNS TTL को 60 सेकंड या उससे कम रखें।

# Route 53 latency routing with health checks
aws route53 change-resource-record-sets \
  --hosted-zone-id ZXXX \
  --change-batch '{
    "Changes": [
      {
        "Action": "UPSERT",
        "ResourceRecordSet": {
          "Name": "api.example.com",
          "Type": "A",
          "Region": "us-east-1",
          "SetIdentifier": "us-east-1",
          "HealthCheckId": "hc-us-east-1",
          "AliasTarget": {"DNSName": "alb-us-east-1.amazonaws.com", "EvaluateTargetHealth": false}
        }
      }
    ]
  }'

Traffic Absorption के लिए Auto Scaling

Active-Active Setup में जब एक Region विफल होता है, तो जीवित Region को अपने सामान्य Traffic का 2x या उससे अधिक संभालना पड़ता है। आपके Auto Scaling Group में पर्याप्त Maximum Capacity और ऐसे Scale-Out Policy होने चाहिए, जो तुरंत प्रतिक्रिया दें। ALB के प्रति Target Request Count के आधार पर Target Tracking Scaling कॉन्फ़िगर करें, ताकि Traffic दोगुना होने पर ASG स्वचालित रूप से Instance जोड़ सके। Pre-Warming पर भी विचार करें: Failover Drill के दौरान देखें कि आपका ASG कितनी जल्दी Scale Out करता है और सुनिश्चित करें कि वह आपके RTO Target के भीतर आवश्यक Capacity तक पहुँच सकता है।

# ASG target tracking for request count
aws autoscaling put-scaling-policy \
  --auto-scaling-group-name app-asg-eu-west-1 \
  --policy-name scale-on-requests \
  --policy-type TargetTrackingScaling \
  --target-tracking-configuration '{
    "TargetValue": 1000,
    "PredefinedMetricSpecification": {
      "PredefinedMetricType": "ALBRequestCountPerTarget",
      "ResourceLabel": "app/my-alb/xxx/targetgroup/my-tg/yyy"
    },
    "ScaleInCooldown": 60,
    "ScaleOutCooldown": 30
  }'

Active-Active में Session Management

Single-Region Architecture में User Session को Application Server पर स्थानीय रूप से संग्रहीत किया जा सकता है। Active-Active Multi-Region में Users लगातार अलग-अलग Request पर Region बदल सकते हैं, जिससे Server-Side Session काम करना बंद कर सकते हैं। समाधान: 1) Stateless Session — Session Data को Signed JWT या Cookie में संग्रहीत करें, जिसे किसी भी Region का कोई भी Server Validate कर सके। 2) Session के लिए DynamoDB Global Tables — Session को केंद्रीकृत रूप से संग्रहीत करें, ताकि किसी भी Region से Millisecond Access मिल सके। 3) Global Datastore के साथ ElastiCache — Session Storage के लिए Region के बीच Redis Replication।

# DynamoDB Global Table for session storage
# Session item structure:
{
  'sessionId': 'sess-abc123',
  'userId': 'usr-456',
  'data': {'cart': [...], 'preferences': {}},
  'expiresAt': 1750000000,
  'lastUpdatedRegion': 'us-east-1'
}

# Application reads from local region DynamoDB
# Writes replicate to all regions within ~1 second
# No sticky sessions needed on the ALB

Write Conflicts और Resolution

Multi-Master Writes वाले Active-Active में सबसे बड़ी चुनौती Write Conflicts हैं। यदि अलग-अलग Region के दो Users एक ही Record को एक साथ Update करें, तो कौन-सा Update जीतेगा? DynamoDB Global Tables Write के Timestamp के आधार पर last-writer-wins का उपयोग करता है। यह अधिकांश Use Case के लिए अच्छी तरह काम करता है, लेकिन प्रतिस्पर्धी Update के कारण Data Loss हो सकता है, जैसे दो Users का एक ही समय में Counter बढ़ाना। Conditional Writes का उपयोग करके या Region के अनुसार Data Ownership को Partition करके अपना Data Model इस तरह Design करें कि अलग-अलग Region एक ही Item पर Concurrent Writes न करें।

# Avoid conflicts with conditional writes
aws dynamodb update-item \
  --table-name UserProfiles \
  --key '{"userId":{"S":"usr-123"}}' \
  --update-expression 'SET profileVersion = profileVersion + :inc, username = :name' \
  --condition-expression 'profileVersion = :expectedVersion' \
  --expression-attribute-values '{
    ":inc":{"N":"1"},
    ":name":{"S":"newname"},
    ":expectedVersion":{"N":"5"}
  }'
# If another region already updated version, this fails gracefully

Active-Active में S3 Replication

Active-Active में Object Storage के लिए Bidirectional Replication के साथ S3 Cross-Region Replication का उपयोग करें, जो Versioning Enabled वाले Bucket पर उपलब्ध है। One-Way CRR के विपरीत, Bidirectional Replication दोनों Region के Bucket को Sync में रखता है — किसी भी Region में लिखे गए Object स्वचालित रूप से दूसरे Region में Replicate हो जाते हैं। यह उन Application के लिए महत्वपूर्ण है जो User द्वारा Upload की गई File को अपने स्थानीय Region के S3 Bucket में लिखते हैं, लेकिन उन File को विश्वभर में Accessible रखना चाहते हैं। 15 मिनट के भीतर 99.99% Object के Replicate होने की गारंटी के लिए S3 Replication Time Control (RTC) Enable करें।

# Bidirectional S3 replication
# Bucket A (us-east-1) replicates to Bucket B (eu-west-1)
# Bucket B (eu-west-1) replicates to Bucket A (us-east-1)

# Enable S3 RTC for guaranteed replication time
aws s3api put-bucket-replication \
  --bucket us-east-1-uploads \
  --replication-configuration '{
    "Rules": [{
      "Status": "Enabled",
      "ReplicationTime": {"Status": "Enabled", "Time": {"Minutes": 15}},
      "Metrics": {"Status": "Enabled", "EventThreshold": {"Minutes": 15}},
      "Destination": {"Bucket": "arn:aws:s3:::eu-west-1-uploads"}
    }]
  }'

Multi-Region Origin के साथ CloudFront

Automatic Failover वाला Active-Active CDN बनाने के लिए Origin Groups के साथ CloudFront का उपयोग करें। एक Primary Origin (us-east-1 में ALB) और एक Secondary Origin (eu-west-1 में ALB) कॉन्फ़िगर करें। जब Primary 5xx Error लौटाता है, तो CloudFront स्वचालित रूप से Secondary Origin पर Failover कर जाता है। S3 से दिए जाने वाले Static Asset के लिए, Bidirectional Replication वाले अनेक Region के S3 Bucket की ओर संकेत करने वाले Origin Group कॉन्फ़िगर करें। इससे आपके Route 53 Active-Active Routing के ऊपर CDN-स्तरीय Resilience Layer जुड़ती है।

# CloudFront origin group for multi-region failover
aws cloudfront create-distribution \
  --distribution-config '{
    "Origins": {
      "Quantity": 2,
      "Items": [
        {"Id": "us-east-1", "DomainName": "alb-us-east-1.amazonaws.com"},
        {"Id": "eu-west-1", "DomainName": "alb-eu-west-1.amazonaws.com"}
      ]
    },
    "OriginGroups": {
      "Items": [{
        "Id": "multi-region-group",
        "FailoverCriteria": {"StatusCodes": {"Items": [500,502,503,504]}},
        "Members": {"Items": [{"OriginId": "us-east-1"},{"OriginId": "eu-west-1"}]}
      }]
    }
  }'

Active-Active Health की Monitoring

Active-Active Architecture में यह सुनिश्चित करने के लिए मजबूत Monitoring आवश्यक है कि दोनों Region स्वस्थ हों और Traffic अपेक्षा के अनुसार संतुलित हो। मुख्य Metrics: प्रत्येक Region के लिए Route 53 HealthCheckPercentageHealthy, Global Tables Lag के लिए DynamoDB ReplicationLatency, Traffic Distribution सत्यापित करने के लिए प्रत्येक Region का ALB RequestCount, और एकीकृत View के लिए CloudWatch Cross-Account/Cross-Region Dashboards। जब Replication Lag आपके RPO Threshold से अधिक हो या Traffic Distribution बहुत असंतुलित हो जाए, तब Alarm सेट करें।

# CloudWatch alarm for DynamoDB Global Table replication lag
aws cloudwatch put-metric-alarm \
  --alarm-name 'GlobalTable-ReplicationLag-eu-west-1' \
  --metric-name ReplicationLatency \
  --namespace AWS/DynamoDB \
  --dimensions Name=TableName,Value=UserSessions Name=ReceivingRegion,Value=eu-west-1 \
  --period 60 \
  --evaluation-periods 3 \
  --threshold 5000 \
  --comparison-operator GreaterThanThreshold \
  --alarm-actions arn:aws:sns:us-east-1:123:ops-alerts

Active-Active कब सही विकल्प है

Active-Active तब उपयुक्त है जब: Users विश्वभर में फैले हों और किसी एक Region तक Latency अस्वीकार्य हो। RTO लगभग शून्य होना चाहिए — Business कुछ मिनट का Downtime भी सहन नहीं कर सकता। High Write Throughput के लिए Writes को अलग-अलग Region में बाँटना आवश्यक हो। Regulatory Requirements देश के भीतर Data Processing अनिवार्य करती हों। इसकी लागत अन्य DR Tier की तुलना में काफी अधिक है, इसलिए Active-Active तभी चुनें जब Business Requirements और Economics इसे स्पष्ट रूप से उचित ठहराएँ। कई Workload के लिए Warm Standby पर्याप्त और बहुत कम खर्चीला है।

# Active-Active justification checklist:
# [ ] Users in 2+ continents with latency SLAs
# [ ] RTO requirement < 5 minutes
# [ ] Revenue impact of downtime justifies 2x+ cost
# [ ] Data must remain within specific regions (regulations)
# [ ] Write throughput exceeds single-region capacity

# If fewer than 2-3 boxes checked:
# Consider Warm Standby instead (lower cost, adequate RTO)

त्वरित जाँच

इस Lesson में AWS Solutions Architect (SAA-C03) की अवधारणाओं की अपनी समझ का परीक्षण करें।

Lesson का पुनरावलोकन

इस Lesson में आपने सीखा: DynamoDB Global Tables वास्तविक Active-Active के लिए Region के बीच Multi-Master Writes सक्षम करता है, Health Checks के साथ Route 53 Latency Routing Users को निकटतम स्वस्थ Region तक पहुँचाती है, और Active-Active में Session Management Stateless होना चाहिए या Globally Replicated Storage का उपयोग करना चाहिए। Active-Active लगभग शून्य RTO और RPO प्रदान करता है, लेकिन इसकी लागत काफी अधिक होती है। आगे हम Well-Architected Framework के Operational Excellence और Security Pillar का अध्ययन करेंगे।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Cloud & IT Cert Prep सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
150
पाठ
600

अक्सर पूछे जाने वाले प्रश्न

क्या “Global Tables और Route 53 के साथ बहु-साइट सक्रिय-सक्रिय” पाठ निःशुल्क है?

हाँ—“Global Tables और Route 53 के साथ बहु-साइट सक्रिय-सक्रिय” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cloud & IT Cert Prep पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Global Tables और Route 53 के साथ बहु-साइट सक्रिय-सक्रिय” में मैं क्या सीखूँगा?

DynamoDB Global Tables, Aurora Global Database और Route 53 लेटेंसी रूटिंग का उपयोग करके दो या अधिक Region में एक साथ पूरी उत्पादन क्षमता चलाइए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cloud & IT Cert Prep का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Cloud & IT Cert Prep शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cloud & IT Cert Prep शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“Global Tables और Route 53 के साथ बहु-साइट सक्रिय-सक्रिय” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Cloud & IT Cert Prep पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Cloud & IT Cert Prep पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. RTO, RPO और DR स्तर
  2. बैकअप और पुनर्स्थापना
  3. पायलट लाइट और वार्म स्टैंडबाय
  4. Global Tables और Route 53 के साथ बहु-साइट सक्रिय-सक्रिय
← Cloud & IT Cert Prep पर वापस जाएँ