Disaster Recovery Plan
1) Նշանակումը, տարածքը և սկզբունքները
Նպատակը 'ապահովել IT պլատֆորմի ժամանակին վերականգնումը աղետից հետո (այդ, կիբեր, վենդորական, աշխարհաքաղաքական) առանց խաղացողների կարգավորող պահանջների, պայմանագրերի և ակնկալիքների խախտման։
Տարածքը ՝ արդյունավետ միջավայրեր (խաղային լուծումներ, վճարումներ, KYC/AML, հակաֆրոդներ, MSH/BI վիտրիններ), կոդեր (PMS, KYC, CDN, ստուդիաներ/ագրեգատորներ), ենթակառուցվածքներ (ամպեր/K8s, ցանցեր, գաղտնիքներ/բանալիքներ), տվյալները (Bիքներ, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, ֆայլեր, լոգներ)։
Սկզբունքները ՝ safety-first, RTO/RPO նվազեցումը, ավտոմատիզացումը և վերարտադրումը (IaC), «լռելյայն ապացուցելը», ուսուցումները։
2) Համակարգի դասակարգումը և վերականգնման նպատակները
2. 1 Քննադատության մակարդակներ
Tier-1 (կենսական նշանակություն) 'վճարումներ/կասաուտներ, նախկին խաղեր, լոգին/վավերացում, KUS/սանկցիաներ։
Tier-2 'իրական ժամանակի վերլուծություն, մարքեթինգը/CRM, CPH հաշվետվությունները։
Tier-3 'ներքին պորտալներ, ռուսական ծառայություններ։
2. 2 Ստանդարտ ցուցանիշներ
RTO (Recovery Time Objective): ժամանակը մինչև մրցույթի վերականգնումը։
RPO (Recovery Point Objective) 'ժամանակի տվյալների թույլատրելի կորուստ։
RTA (Recovery Time Actions )/RPA (Recovery Point Actions), իրական արժեքներ, գրված են զեկույցներում։
MTO/MBCO: արագության առավելագույն ժամանակ/նվազագույն ընդունելի հաճախականության մակարդակը (degraded mode)։
Նպատակների օրինակ (ուղեցույցի համար)
Tier-1 - RTO 3530-60 րոպե, RPO 3515 րոպե; Tier-2 — RTO ≤ 4 ч, RPO ≤ 1 ч; Tier-3 — RTO ≤ 24 ч, RPO ≤ 24 ч.
3) DR ռազմավարությունը և ճարտարապետությունը
3. 1 Տեղաբանություն
Active-Active (մուլտֆիլմ) 'նվազագույն RTO/RPO, պահանջում է կոնսիստենտություն և հակամարտություն-ռեզոլվա։
Action-Standby (տաք/տաք/սառը) 'ծախսերի/արագության հավասարակշռություն։
Տվյալների և տվյալների Geo-բաժանումը 'KFC/HSM per-region, BYOK, ինքնուրույն վերարտադրման ուղիներ։
3. 2 Տվյալներ և բեքապներ
PITR (point-in-time recovery) 'գործարքների ամսագրեր, pro 5-15 րոպե Tier-1 համար։
Snepshots/full-bakaps: Ամենօրյա/ժամացույցներ, պահեստավորում համաձայն 3-2-1 սխեմայի (3 օրինակ, 2 կրիչ, 1 օֆլին/օֆսայթ)։
Իմպուտաբելությունը 'WORM/օբյեկտի լոկներ, ստորագրություն/hash-շղթաներ արտեֆակտներ։
Վերականգնման կատալոգը 'Բեքապների կիսագունդը, ամբողջականությունը, ժամկետի ժամկետը, թեստային գաղտնագրումները։
3. 3 Ծրագրեր և առաջարկներ
Steitles-ծառայություններ 'արագ միացում IaC/CI-ի միջոցով։
Steitfull բաղադրիչները '108 կճեպեր, գործարկման հաջորդականության նվագախումբ։
Մոսկվա (PFC/KYC/ագրեգատորներ) 'կրկնակի քրեդենշլա, fallback-endpoints, ստորագրված webhuks, ռուսական առաքման վերահսկողություն (idempotenty)։
4) Վերականգնման կարգը (ընդհանուր runbook)
1. DR-սցենարի հայտարարությունը նշանակեց DR Incident Commander (DR-IC), war-room արձակումը։
2. Վնասվածքների գնահատումը 'վնասված տարածքները/ենթահամակարգերը, որոնք համապատասխանում են RTA/RPA-ին, ֆեյլերի ակտիվացման որոշումը։
3. Մեկուսացում/տարանջատում 'ռուսական պատճառների արգելափակում (ցանցային ACL, գաղտնիքները, պրովայդերի անջատումը)։
4. DR-ի նախաձեռնումը
Ցանցը/գաղտնիքները/KFC 112
BD/2019/kash 2019
API/ծառայություններ ռուսական ռազմաճակատի/CDN-ը նշանակվում է արտաքին։
5. Ամբողջականության ստուգումը հետևյալն է։ գումարներ, «չոր» հարցումներ, health-փորձարկումներ։
6. Ֆինանսական/խաղերի reconciliation 'վճարումների, վճարումների, հավասարակշռությունների, գործողությունների գաղափարական կրկնությունը։
7. Հաղորդակցություն 'կարգավիճակ-էջ, խաղացողներ/գործընկերներ/կարգավորիչներ; timline-ը։
8. Դիտարկումը և կայունացումը 'դեգրադացիայի ապակայունացումը, երբ նորմալացվում է։
9. Փոստի մորտեմը ՝ RCA, CAPA, CPP նորարարություն։
5) Մասնագիտացված runbooks (բեկորներ)
5. 1 Հիմնական տարածաշրջանի կորուստ (Acctive-Standby no Standby)
yaml trigger: "loss_of_region_primary OR quorum_fail >= 5m"
prechecks:
- "secondary region green"
- "replication_lag <= 15m"
steps:
- DR-IC approves region_failover
- Platform: GSLB switch → secondary
- Data: promote replicas, enable PITR streams
- Apps: redeploy with region vars; warm caches
- QA: smoke tests (login, deposit, bet, payout)
- Comms: status-page + partner notice rollback: "switch-back after 60m stability window"
5. 2 BD կոռուպցիա/վերականգնումը PITR-ից
yaml trigger: "data_corruption_detected OR accidental_drop"
steps:
- Freeze writes (feature flag), snapshot evidence
- Restore to timestamp T (<= RPO)
- Reindex/consistency checks
- Replay idempotent events from queue (from T)
- Reopen writes in throttle mode validation: ["checksum_ok", "balance_diff=0", "orders_gap=0"]
5. 3 PSA դեգրադացիա DR ռեժիմում
yaml trigger: "auth_rate_psp1 < baseline-3σ for 15m"
steps:
- Route X%→psp2, cap payouts, enable manual VIP
- Reconciliation plan T+0, alerts Finance
- Notify players in cashier; vendor escalation
6) Տվյալների ամբողջականությունը և reconciliation
Ֆինանսներ 'դեպոզիտներ/105/105, ծանուցումների և վեբհուկի երկրորդ ուղարկումը դեդուպլիկացիայով (idempotency-keys)։
Խաղային փաթեթ ՝ տուրքերի կարգավիճակի վերականգնում, կրկնօրինակման/հաշվարկի պաշտպանություն։
Ամսագրեր/աուդիտ 'WORM լոգարանների համեմատություն «մինչև/հետո», ազդանշաններ/հեշեր, ոչ հակասական զեկույցներ։
DPO/complasence զեկույցը 'PII-ի վրա ազդեցության դեպքում' մասշտաբի, թայմլինի և ծանուցումների ամրագրում։
7) DR հիմնական տեխնոլոգիաների համար (օրինակներ)
ՍՈՒԲԴ (ռեալիզացիա) 'սինխրոն/ասինխրոն կրկնօրինակումը, WAL արցունքները, fox-promote, տաք stendbay։
SQL/kashi 'multiclaster, TTL հաշմանդամություն, սառը լրացում, cross-region write-ից հրաժարվելը առանց կոնֆլիկտային ռեզոլվա։
Հերթերը/strims: Հայելային տեղանուններ/108, տեղաշարժման վերահսկողություն, սպառողների դեդուպլիկացիա։
Օբյեկտի պահեստ 'տարբերակումը, կրկնապատկումը «բունկերում», օբյեկտների և քաղաքականության պաշտպանիչ։
CI/CD/արտեֆակտներ 'կիսագնդի կրկնօրինակներ, արտեֆակտների ստորագրություն, կրիտիկական բեռնարկղերի օֆլայնային պատճեններ։
Գաղտնիքները/բանալիները ՝ KMS per-region, անկախ արմատային բանալիներ, break-glass, ամսագրերով և TTL-ով։
8) Անվտանգությունը և մասնավորությունը DR-ում
Ամենափոքր իրավունքների սկզբունքը 'DR-հասանելի է առանձին դերերով/պրոֆիլներով (JIT/PAM)։
Իմպուտաբելային bakaps: offline/օֆսայթ, վերականգնման և գաղտնագրման թեստ։
Կարգավորող պատուհանները 'իրադարձությունների ամրագրումը և ծանուցումների լուծումը (կարգավորող/բանկ/PSA/օգտագործողներ) Legal/DPO-ի հետ միասին։
Հետադարձ կապը 'DR-թիմի գործողությունների ամբողջական ամսագիր, թայմլայնի ստորագրություն։
9) Ուսուցումներ և թեստերի տեսակներ
Walkthrough/Review: փաստաթղթի/դերերի/կոնտակտների ստուգում (եռամսյակային)։
Tabletop: Progon-ը «չոր» է հակամարտությունների լուծման հետ։
Medical partial-ը 'առանձին տերմինալի/BD վերականգնումը։
Fox failover/switch-over 'փոխանցումը և տվյալները պահեստային տարածք։
Chaos-օրեր (վերահսկում) 'ձախողումներ/ձախողումներ ստուգելու համար ավտոմատ։
Յուրաքանչյուր թեստ բացատրում է RTA/RPA-ի զեկույցը, շեղումների ցուցակը, CAPA-ը և CPP-ի նորարարությունը։
10) Մետրիկի (KPI/KRI)
RTA/RPA vs RTO/RPO (Tier-1) ՝ 2495 տոկոսը։
DR Test Coverage: 352 ամբողջական DR-թեստ/տարի + 230 մասնակի։
Time-to-First-Status: 3515 րոպե DR հայտարարությունից հետո։
Reconciliation Zero-Diff: Բոլոր դրամական և խաղային շրջանակները առանց անհամապատասխանության։
Backup Integrity: Ընտրության վերականգնումների 100 տոկոսը հաջողակ է թաղամասի համար։
Drift: 0 dreaff primary/secondary (IaC համեմատություն) միջև։
Intel in DR: 100% DR գործողություններ ամսագրի և հաստատման հետ։
11) RACI (uprunic)
12) Չեկ թերթերը
12. 1 Պատրաստակամություն DR
- Նորարարվել են DR-թիմերի/գողերների/կարգավորիչների շփումները։
- Վերափոխումը կանաչ է, PITR-ն միացված է, բեքապների փորձարկման վերծանումը։
- JIT/PAM, «break-glass» -ը ստուգված է
- Failover-Pleybuks-ը և Walidna շրջապատը
- Կրկնակի քրեդենշլի/webhuks PMS/KYC, այլընտրանքային երթուղիներ
- Կարգավիճակը-էջ/հաղորդագրությունների ձևանմուշները պատրաստ են
12. 2 DR-ի ժամանակ
- Նշանակվել է DR-IC, բացվել է war-room, timline իրադարձությունների
- Պատճառների մեկուսացում, սցենարի ընտրություն, runbooks գործարկում
- Ամբողջականության ստուգում, health-թեստեր, smoke-թեստեր
- Առաջին հանրային ապդեյթը 15 րոպե է։ ծանուցումներ/կարգավորողներ SLA-ում
- Արտեֆակտների գրավումը հետաքննության համար
12. 3 DR-ից հետո
- Փողի/խաղերի և ամսագրերի ամբողջական փաթեթ
- Post Mortem, RCA, CAPA ամսաթվերով և սեփականատերերով
- DRP/BIA/կոնտակտների/IaC թարմացում/
- Ֆիքսների փորձարկման պլանը
13) Ձևանմուշներ (բեկորներ)
13. 1 քարտը (DR անձնագիր)
yaml service: payments-api tier: 1 dependencies: [auth, ledger-db, psp1, psp2, kms-eu]
rto: "45m"
rpo: "15m"
backups: {pitr: true, snapshots: "hourly", immutability: "7d"}
failover: {mode: "active-standby", regions: ["eu1","eu2"]}
runbooks: ["rb_failover_region", "rb_psp_degradation"]
health_checks: ["/healthz","/readyz"]
13. 2 DR թեստի զեկույցը (կանգնել)
yaml test_id: DR-2025-10 scope: "Full switch-over eu1→eu2"
rta: "27m"
rpa: "11m"
issues:
- id: CAPA-117, desc: "долгое прогревание кэша", due: 2025-11-20, owner: SRE
- id: CAPA-118, desc: "устаревший webhook PSP#2", due: 2025-11-12, owner: Payments reconciliation: {finance: "ok", games: "ok"}
management_signoff: "2025-11-02"
13. 3 Նատրիումի հաղորդագրություն
[UTC+02] Идет аварийное переключение в резервный регион. Игры доступны, выводы временно ограничены. Средства игроков в безопасности. Следующее обновление через 15 минут.
14) Ճանապարհի քարտեզը (6-8 շաբաթ)
Շաբաթներ 1-2: Ծառայությունների և կախվածության բուլարիզացիան, Tier դասակարգումը, RTO/RPO նպատակները, տեղաբանության ընտրությունը, DR անձնագրերը։
Շաբաթներ 3-4: 105 baps/PITR/իմունաբելություն, գաղտնիքների կրկնօրինակումը/KFC, runbooks և կարգավիճակի պատրաստումը։
Շաբաթ 5-6: մասնակի այդ թեստերը (BD/kash/հերթը), tabletop-ը PFC/KYC/տարածաշրջանը։
Շաբաթ 7-8: fast switch-over (հնարավորության դեպքում), RTA/RPA, CAPA-ի զեկույցը, CPP նորարարությունը և թեստերի պլանը։
15) Ինտեգրումը wiki այլ հատվածների հետ
Կապել 'BCP, International Resional, PCI DSS, RBAC/Least Privilege, PRT 27001/27701, SOC 2, PCI DSS, Փոփոխությունների/թողարկումների կառավարումը։
TL; DR
Աշխատանքային SNP = պարզ RTO/RPO Tier-ի վրա տեղադրվում է Active-Action/Standby + իմութաբելային beakaps/PITR-ի ճարտարապետությունը, որը վերարտադրվում է runbooks և failover proncilation/խաղեր։ Այդ ժամանակ ցանկացած մեծ ձախողում վերածվում է կառավարվող ընթացակարգի, որը կանխատեսելի է վերականգնման և զրոյական անակնկալների համար կարգավորողների և խաղացողների համար։