GH GambleHub

DR ռազմավարություն և RTO/RPO

1) Հիմնական սկզբունքները

1. Նպատակները նախկինում։ Սկզբում մենք ձևակերպում ենք RTO/RPO և քննադատական սցենարներ, ապա ընտրում ենք տեխնոլոգիան։

2. Սեգմենտացիան կարևոր է։ Ոչ բոլոր ծառայությունները պահանջում են «ոսկի»։ բիզնես քննադատությամբ կիսեք։

3. Տվյալները III-ի միջուկն են։ Կոնսիստենցիան, կրկնօրինակումը, պատնեշի հայտնաբերումը և վերականգնման կետը ավելի կարևոր են, քան «երկաթը»։

4. Ավտոմատիզացիան և ստուգումը։ DR-ն անիմաստ է առանց IaC-ի, վերականգնման և հեռուստաչափության ռելիզային թեստերը։

5. Ուսուցումներ և ապացույցներ։ Առանց ռուսական «game day» պլանը պատրաստակամության պատրանք է։

6. Անվտանգությունը և ընկերակցությունները։ Կոդավորումը, մեկուսացումը, WORM/immutable-bakaps, DPA/իրավասություն։

2) Տերմիններ և տերմիններ

RTO-ն ժամանակ է իրադարձության պահից մինչև «նորմալ» տերմինալի վերականգնումը։

RPO-ը վերջին առողջ տվյալների կետի «տարիքն» է, երբ վերականգնվում է։

RLO (Recovery Level Objective) ֆունկցիոնալի մակարդակն է, որը պարտավոր է վերականգնել (նվազագույն կենսունակ ծառայություն)։

MTD (Maximum Tolerable Downtime) շեմն է, որից հետո բիզնեսը անընդունելի վնաս է կրում։

RTA/RPA (Active) - իրական ժամանակը/վերականգնման կետը պրակտիկայից։

Կապը ՝ RTO 35MTD; RPA ≤ RPO. Նպատակների և փաստերի միջև անջրպետը հետմորտեմի և բարելավման առարկան է։

3) DR-ռազմավարության դասարանները (պատրաստման մակարդակները)

ՄակարդակըՆկարագրությունԲնորոշ RTO/RPOԱրժեքըԿիրառություն
Backup/RestoreՄիայն բեքապներն ու շրջակա միջավայրի պատկերըRTO: ժամացույց-օրեր, RPO: ժամացույց$Ոչ ռիթմիկ համակարգեր, հաշվետվություններ
Pilot Light«Spark» 'նվազագույն հոսքը բարձրացնում է, տվյալները կրկնօրինակվում ենRTO: Տասնյակ րոպե ժամացույց, RPO: րոպե-ժամացույց$$Միջին քննադատությունը, տնտեսագիտությունը
Warm StandbyՋերմ պատը 'գրեթե պատրաստ է, ցածրRTO: րոպե <ժամ, RPO: րոպե$$$B2C միջուկը, կամերային դարպասը
Active/PassiveԱմբողջական պասիվ կլոն, ավտոմատ ֆեյլովերRTO: րոպե, RPO: վայրկյան րոպե$$$$Քննադատական API առաքելություն
Active/ActiveԵրկու կայքերը վաճառքումRTO 240, RPO 240-վայրկյան։ $$$$$Ծայրահեղ SLO, գլոբալ ապրանքներ
💡 Կանոն 'ընտրեք նվազագույն բավարար մակարդակ, որը համապատասխանում է բիզնեսի ռիսկի։

4) Սցենարներ, որոնց դեմ պաշտպանվում ենք

Տարածաշրջանի/ամպերի/COD (էլեկտրիկ, ցանց, պրովայդեր) կորցնելը։

Տվյալների կոռուպցիան/օպերատորի սխալը (հեռացում, «բիթային» կրկնօրինակներ, տրամաբանական պատկեր)։

Վնասակար PO/ծածկագրող (ransomics)։

Կոդավորման/կազմաձևի դեֆեկտը (զանգվածային windage)։

Կախվածության փլուզումը (KFC, RF, գաղտնիքները, հիբրիդային պրովայդերը)։

Իրավաբանական իրադարձությունները (արգելափակումը, տվյալների հեռացման արգելքը իրավասությունից)։

Յուրաքանչյուր սցենարի համար նշեք RTO/RPO, DR մակարդակը, պլեյբուկը, ռուսական։

5) Տվյալների ռազմավարությունը (բանալին RPO)

5. 1 Բեքապներ

Ամբողջական + ռուսական + գործարքների ամսագրեր (BD)։

Իմպուտաբային/WORM-105 և օֆլինի պատճենները («air-gapped»)։

Բեքապների կատալոգը մեթաններով և կրիպտոոդներով։ փորձարկման վերականգնումը ըստ ժամանակացույցի։

5. 2 Վերափոխում

Սինխրոն (ցածր RPO, ռուսական լատենտ, պոռնիկի տարածման ռիսկը)։

Ասինխրոն (ցածր ազդեցություն փերֆի վրա, RPO> 0; համատեղել դետեկտորի հետ)։

CDC (Change You Capture) հոսքի և վերակառուցման համար։

5. 3 Պաշտպանություն տրամաբանական պոռթկումից

Տարբերակումը/» ժամանակի կետերը» (PITR) N օրվա պատուհանով։

Invariants ազդանշանները (հավասարակշռություններ, գումարներ, chexumma) «բիթային» տվյալների վաղ մանկությունն է։

«Դանդաղ» վերարտադրման ալիքները (wwww.ay 15-60 րոպե) որպես բուֆեր ակնթարթային պոռնիկի դեմ։

Վերականգնման կետերի ընտրության սկեթը

python def pick_restore_point(pitr, anomaly_signals, max_age):
healthy = [p for p in pitr if not anomaly_signals. after(p. time)]
return max(healthy, key=lambda p: p. time if now()-p. time <= max_age else -1)

6) Հավելվածը, վիճակը, քեշը

Սթեյթլի շերտը մեծացնում և վերարտադրում ենք ցանկացած տարածքում (պատկերը/գծապատկեր/մանիֆեստ Git)։

Վիճակը (BD/kashi/kyu), ճշմարտության աղբյուրը BD-ից մեկն է։ քաշերն ու ինդեքսները վերագրանցվում են։

Idempotention և re-drive - իրադարձությունների կրկնվող առաքումը թույլատրելի է։ օգտագործեք www.box/inbox, dedup և տարբերակները։

7) Ցանցը և մուտքի կետը

GSLB/RF ֆեյլերը 'latency/health-based, կարճ TTL պատահականության պատուհանում։

Anycase/L7-2019 'միասնական IP, տարածաշրջանների առողջության միկրոակտիվացում։

Տարածաշրջանային ֆորումները և միգրացիաների քաղաքականությունը (geo-pinning PII-ի համար)։

Հավաստագրերի ֆեյլերը/KFC 'պահեստային շղթաներ, dox-key։

Կեղծ ֆեյլովեր

python if slo_breach("region-a") or health("region-a")==down:
route. shift(traffic, from_="region-a", to="region-b", step=20) # канарим enable_readonly_if_needed()

8) Վիրահատական մոդել և ավտոմատիզացիա

IaC/GitOps: Երկրորդ տարածաշրջանի ենթակառուցվածքը = կոդը, «միանվագ»։

Policy as Code: Խաղացողը «Ոչ DR մանիֆեստներ/bakas/alerts - ոչ մի մրցաշար չկա»։

Runbooks: կոպիտ հրահանգներ և «կարմիր կոճակ», որոնք նույնական են երկու տարածաշրջաններում։

Գաղտնիքները 'կարճ քրեդներ, OIDC ֆեդեգրաֆիա, փոխզիջման/արձագանքի պլան։

Gate (գաղափարը)

rego package dr deny["Missing PITR ≥ 7d"] {
input. db. pitr_window_days < 7
}
deny["No restore test in 30d"] {
now() - input. db. last_restore_test > 3024h
}

9) Ուսուցումներ և թեստեր (Game Days)

Ստանիսլավ 'BD կորուստ, «բիթանոց» տվյալները, KHL-ի հրաժարվելը, տարածաշրջանի անկումը, հանկարծակի egress-սահմանը։

Հաճախականությունը 'եռամսյակային քննադատական առաքելության համար։ վեց ամիսը մեկ 'մյուսների համար։

Ուսուցման մետրերը ՝ RTA/RPA vs նպատակներ, ավտոմատ քայլերի մասնաբաժինը, ձեռքի միջամտությունների քանակը, պլեյբուկի սխալները։

Chaos-smoke-ը թողարկումներում 'կախվածության քայքայումը չպետք է «կոտրի» DR-ճանապարհները։

Մինի-ուսման օրինակ


T0: cut off the primary database (firewall drop)
T + 2m: GSLB shift 20% of traffic, then 100% at SLO_ok
T + 6m: checking business invariants and lag replication
T + 10m: post-drill: fixing RTA/RPA, playbook improvements

10) Պլեյբուկի (կանոնական ձևանմուշներ)

yaml playbook: "dr-failover-region-a-to-b"
owner: "platform-sre"
rto: "15m"
rpo: "5m"
triggers:
- "health(region-a)==down"
- "slo_breach(payments)"
prechecks:
- "backup_catalog ok; last_restore_test < 30d"
- "pitr_window >= 7d"
steps:
- "Announce incident; open war-room; assign IC"
- "Freeze writes in region-a (flag write_readonly)"
- "Promote db-b to primary; verify replication stopped cleanly"
- "Shift GSLB 20%→50%→100%; monitor p95/error"
- "Enable compensations and re-drive queues"
validation:
- "Business invariants (balances, duplicate_checks)"
- "Synthetic tests green; dashboards stable 30m"
rollback:
- "If db-b unhealthy: revert traffic; engage restore from PITR T-Δ"
comms:
- "Status updates each 15m; external note if SEV1"

11) DR դիտարկման մետրերը

Replica lag (վայրկյան), RPO-drift (տարբերությունը նպատակային և իրական RPO-ի միջև)։

Restore SLI 'սառը/տաք վերականգնման ժամանակը շրջապատում։

Coverage: Ծառայությունների տոկոսը պլեյբուսներով/baps/PITR 24N օրվա ընթացքում։

Systill score 'ավտոմատ քայլերի մասը, RTA բաշխումը, սխալների հաճախությունը։

Իմպուտաբելությունը 'WORM/air-gapped-ի բեքապների տոկոսը։

Իրադարձական մետրերը 'հերթերի երկարությունը/արագությունը re-drive-ից հետո։

12) Արժեքը և փոխզիջումները

CapEx/OpEx: Տաք պատը ավելի էժան է, քան Active/Action-ը, բայց ավելի թանկ է, քան Pilot Light-ը։

Egress: միջտարածաշրջանային/միջմայրցամաքային կրկնօրինակումը արժե գումար։ Քաշ/ագրեսիա/տեղական ագրեգատներ։

RTO/RPO vs դոլար ՝ յուրաքանչյուր «ինը» հասանելիություն և վայրկյան RPO-ն կարժենա շատ ավելի թանկ, ներդաշնակ բիզնեսին։

Կանաչ պատուհանները 'batch-վերարտադրողական' էժան/« կանաչ »ժամացույցի։

13) Անվտանգությունն ու կոմպլենսը

«Հանգիստ» և «տրանզիտում» կոդավորումը, որը բաժանվել է KHL-ենթախմբերը տարածաշրջաններով։

Immutable-bakaps, պաշտպանություն ransomics: «3-2-1» (3 օրինակներ, 2 կրիչ, 1 օֆլինը), MFA-intete։

Իրավասություններ ՝ PII-ի համար geo-pinning, bakas, Legal Hold TTL-ի վերևում։

Հասանելի են ժամանակի համար 'ժամանակային դերեր DR վիրահատությունների համար, խմբագրության ամսագիրը։

14) Anti-patterna

«Գրենք պլանը ավելի ուշ» - DR առանց ուսմունքների։

Առանց տրամաբանական պատնեշից պաշտպանվելու, միգրանտորեն վերարտադրում է սխալը։

Մեկ տարածք KFC/գաղտնիքները անհնար է։

Bakaps առանց վերականգնումների '«Շրեդինգերի» DR։

Տարածաշրջանի միջև սերտորեն կապված սինխրոն գործարքները կասկադային լատենտ/նվազում են։

Առաջնահերթություն չկա 'նույն DR մակարդակը ամեն ինչի համար (թանկ և անօգուտ)։

15) Ճարտարապետի չեկի թերթիկը

1. Որոշե՞ լ են RTO/RPO/RLO ծառայությունները և սցենարները։

2. Դասակարգված տվյալները 'ճշմարտության աղբյուրը, PITR/պատուհանը, WORM/immutable։

3. Ընտրվել է DR (Backup/Restore, Pilot, Warm, A/P, A/A) per ծառայություն։

4. Ցանցը ՝ GSLB/Anycript, հավաստագրեր/բանալիներ պահեստով, դրոշները «read-only»։

5. Հավելված 'idempotention, www.box/inbox, որոնք փոխհատուցում են գործարքները։

6. IaC/GitOps/Policy as Code: մեկ կլիկ երկրորդ տարածաշրջանի դասավորելու համար։

7. Ուսուցումներ ՝ 108, KPI RTA/RPA, post-ուսուցման գործողություններ։

8. Տե՛ ս ՝ lag, RPO-drift, restore-SLI, www.ill-score, իմունաբելային բեքապներ։

9. Անվտանգությունը/համադրումը 'KMS-ուլտրաձայնները, իրավասությունները, Legal Hold-ը։

10. Արժեքը 'egress բյուջե, կանաչ պատուհաններ, տնտեսապես հիմնավորված մակարդակ։

16) Մինի բաղադրատոմսեր և սկետչիներ

16. 1 PITR-ը Postgres-ի համար (գաղափար)

bash base backup daily + WAL archive pg_basebackup -D/backups/base/$ (date +% F)
archive_command='aws s3 cp %p s3://bucket/wal/%f --sse'
restore pg_restore --time "2025-10-31 13:21:00Z"...

16. 2 Պաշտպանություն տրամաբանական վնասից (ձերբակալված կրկնօրինակը)

yaml replication:
mode: async apply_delay: "30m" # window to roll back on corruption

16. 3 Փոխանցումը (կեղծ-API GSLB)

bash gslb set-weight api. example. com region-a 0 gslb set-weight api. example. com region-b 100

16. 4 Ինվարանտների ստուգումը ֆեյլովերից հետո (կեղծ)

python assert total_balance(all_accounts) == snapshot_total assert no_duplicates(events_since(t_failover))

Եզրակացություն

DR-ը տեխնիկական և կազմակերպական լուծումներ կայացնելու ունակությունն է ավելի արագ, քան վնասը։ Ռուսական իրական RTO/RPO, ընտրեք բավարար պատրաստվածության մակարդակը, ավտոմատիզացրեք ենթակառուցվածքները և ստուգումները, պարբերաբար մարզեք և չափեք իրական RTA/RPA։ Այդ ժամանակ պատահարը վերածվելու է ոչ թե աղետի, այլ կանխատեսելի պատահարի։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Telegram
@Gamble_GC
Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։