Disaster Recovery и cold-backups
მოკლე რეზიუმე
DR არის ბიზნესის ფუნქციების აღდგენის შესაძლებლობა დიდი უბედური შემთხვევის შემდეგ. Cold-backups არის „ბოლო თავდაცვის ხაზი“: უცვლელი/იზოლირებული ასლები, რომლებიც შესაფერისია აღდგენისთვის საიტის სრული დეზინფექციით ან კომპრომისზე. სტრატეგია აგებულია RTO/RPO, სისტემების პრიორიტეტი, ყოველწლიური DR ვარჯიშები და მკაცრი ოპერაციული დისციპლინა (კატალოგები, გასაღებები, შემოწმებები).
ტერმინები და მიზნები
RPO (Recovery Point Objective) - მონაცემთა მაქსიმალური დასაშვები დაკარგვა (მაგ., 15 წუთი).
RTO (რეკონსტრუქციის დრო) - მაქსიმალური დასაშვები დრო (მაგ., 2 საათი).
Black start - „ნულიდან“ აღდგენა: რკინა/კასეტა/საიდუმლოებები/მონაცემები/DNS.
Air-gap არის ფიზიკური/ლოგიკური ასლების იზოლაცია (ლენტი/გამორთული ანგარიში/ოფლაინ გადამზიდავი).
Immutability (WORM) - უცვლელი შენახვა (ფირზე/ობიექტი Lock/Retention- ით).
DR მზადყოფნის დონე
ცივი Site - ინფრასტრუქტურა არ არის/გაყინული; RTO: საათი-დღეები; იაფი CAPEX/OPEX.
Warm Site - შაბლონები/სურათები/ნაწილობრივ მზა მომსახურება; RTO: ათობით წუთი-საათი.
Hot Site - აქტიური შენიშვნები; RTO: წუთი; უფრო ძვირი და რთული.
ჰიბრიდი: ბირთვი hot/warm, ყველაფერი დანარჩენი არის ცივი (პრიორიტეტული გაშვებისას).
სადაც cold-backups შეუცვლელია
მასობრივი კრიპტო/დომენის კომპრომისი.
მონაცემთა კორუფცია, რომელიც ყველა რეპლიკზე წავიდა.
რეგიონის/მონაცემთა ცენტრის დაკარგვა, ფორსმაჟორი (ხანძარი, წყალდიდობა).
განზრახ მოცილება/დივერსია პრივილეგირებული ანგარიშებით.
cold-backups ტოპოლოგია
1. მედია/შენახვის კლასები
ფირები (LTO-8/9): იაფი, ნაგულისხმევი საჰაერო ხომალდი, მაღალი კონტეინერი, თანმიმდევრული წვდომა.
ოფლაინ დისკები/NAS: „სეიფის შემთხვევები“ უკავშირდება მხოლოდ bacap/restore ფანჯარას.
ობიექტის საარქივო კლასები (Glacier მსგავსი): დაბალი შენახვის ფასი, ამოღების უფრო მაღალი დრო.
2. განთავსება
კიდევ ერთი პლატფორმა/რეგიონი; განსხვავებული პროვაიდერი/ანგარიში; ინდივიდუალური გასაღებები/ადმინისტრატორები.
3. Immutabelity
Lents WORM/Object Lock (Compliance/Governance) ჭრელი და იურიდიული ჰოლდი.
პოლიტიკა 3-2-1-1-0 (ცივი ფოკუსით)
მონაცემთა 3 ასლი (prod + ადგილობრივი სარეზერვო + ოფსეტური).
2 განსხვავებული გადამზიდავი (დისკი/ფირზე/ობიექტი).
1 ოფსიტი (სხვა პლატფორმა/ღრუბელი).
1 უცვლელი (WORM/air-gap).
0 შემოწმების შეცდომა (checksum/პერიოდული ტესტის აღდგენა).
კატალოგები, მეტამონაცემები და მთლიანობის კონტროლი
Backap- ის კატალოგი: სად, როდის, როდის, ვერსია, გასაღებები, ჩეკის თანხები, ჭრის ვადა.
აქტივების კატალოგი: მომსახურება, რომელიც დამოკიდებულია ტომის/სატანკოზე, პრიორიტეტია.
Checksums და manifest ფაილები: ჩაწერა და აღდგენა.
Canary ფაილები: რეგულარული restore გადამზიდავი პრობლემების ადრეული დეტალებისთვის.
დაშიფვრა და გასაღებები
დაშიფვრა დასვენების დროს (ფირზე/ობიექტში) და ფრენის დროს (კოპირება).
KMS/Vault ორმაგი კონტროლით, ოფლაინ სეიფები სამაგისტრო კლავიშებისთვის, როტაცია.
ცალკეული გასაღებები prod/bacaps/არქივებისთვის (blast რადიუსის შემცირება).
DR- ზე კლავიშებზე წვდომის დოკუმენტირებული პროცესი (მოთხოვნები, როლები, ჟურნალი).
DR გეგმა: პრიორიტეტიზაცია და თანმიმდევრობა
პრიორიტეტული რუკა (მაგალითი):1. იდენტიფიკაცია და წვდომა: IdP (მინიმალური ზონა), Vault/KMS, ქსელის ბირთვი.
2. მონაცემები და მაკონტროლებელი თვითმფრინავები: etcd K8s, კონფიგურაციები, საიდუმლოებები, სურათების რეესტრები, დეპოზიტების არტეფაქტები.
3. გარიგების BD/საფულე: ჟურნალები + უახლესი full/incremental.
4. გადახდის/ინტეგრაციის კარიბჭეები: გასაღებები, სერთიფიკატები, IP/DNS.
5. ვებ/api ფრონტები: კანარის გაშვება, სტატიკური შინაარსი ობიექტიდან.
6. ანალიტიკა/მოხსენებები: ბირთვის დასრულება.
აღდგენის თანმიმდევრობა:1. ინფრასტრუქტურა: ქსელი, DNS/Anycast, IAM ბირთვები, ძირითადი სურათები/მტევანი.
2. საიდუმლოებები/სერთიფიკატები: აღადგინეთ Vault/KMS ცივი ქუდიდან, გადასცეს bootstrap საიდუმლოებები.
3. საკონტროლო თვითმფრინავი: etcd/Control Plane/რეესტრები/საცავები.
4. მონაცემები: განათავსეთ BDS ცივი ქილა + PITR ჟურნალებიდან (RPO მიხედვით).
5. პროგრამები: ხეზე დამოკიდებულების გაშვება ქეში/CDN.
6. ტესტები და შესაბამისობა: ჯანმრთელობის ტესტები, თანმიმდევრულობა, საკონტროლო თანხები.
7. ტრაფიკის გადართვა: DNS/მარშრუტი/დაბალანსება (ეტაპობრივი/კანარის).
8. პოსტების შემოწმება: გაჟონვის/დავალიანების არარსებობა, ლოჯისტიკა და DR- ის მოქმედება.
Cold-restore პროცედურები (ტიპიური)
ფირები: ინვენტარი, დატვირთვა, პარალელური ნაკადები, ფაილების რემონტი, დირექტორიები და აღდგენისთვის; ჩხრეკის დრო და გადახედვა.
არქივების კლასები: მოთხოვნა (minutes-hours), ცხელი საცავის შეტევა, მანიფესტის აღდგენა.
Offline დისკები: read-only კავშირი, checksum შემოწმება და კოპირება.
პრაქტიკა: იზოლირებული „ქვიშის ყუთი“ აღდგენისთვის, შემდეგ გადაყვანა პროდ-გარემოში.
კომუნიკაციები და org. სტრუქტურა DR
Роли: Incident Commander, Tech Lead (Infra), DB Lead, App Lead, Comms, Security.
არხები: სარეზერვო (კორპორატიული დომენის გარეთ), ხმა/ჩატი, SecureDocs.
შეტყობინებების შაბლონები: მომხმარებლები/პარტნიორები/რეგულატორები; აპდეიტის სიხშირე; ერთი „სიმართლის წყარო“.
მოვლენების ერთიანი ჟურნალი: დრო, გადაწყვეტილებები, მფლობელები.
DNS, ქსელები და ტრაფიკი
Split-brain დაცვა: „DR რეჟიმის“ დროშები კონფიგურაციაში; feature flags შეზღუდული ფუნქციონირებისთვის.
DNS სტრატეგია: დაბალი TTL წინასწარ, დამოუკიდებელი DNS პროვაიდერი; ეტაპობრივი ცვლილება A/AAA/CNAME, რომელიც თბება CDN.
მარშრუტიზაცია: Anycast/Geo, BGP განცხადება DR საიტიდან; ACL/firewalls გადაკეთებულია IaC- დან.
SLO DR- სთვის
RPO დაცულია დროის 99% -ზე (ჟურნალების/ჩანაწერების სამიზნე).
RTO Black start (სრული სცენარი) სამიზნე (მაგალითად, 4 საათი) ტესტებზე კვარტალში ერთხელ.
DR ვარჯიშების წარმატება - კრიტიკული დავალებების 100% დასრულებულია ფანჯარაში.
Immutabellity არის becap- ის წილი Retention/Lock = 100% -ით.
მთლიანობის შემოწმება - გრაფიკით 100%; გადამზიდავმა უარი თქვა მიგრაციაზე.
ტესტები და სწავლებები
Table-top: სკრიპტები, როლები, ჩეკი ფურცლები, საკონტაქტო სია.
ტექნიკური: BD/ფაილების/საიდუმლოებების შერჩევითი აღდგენა „ქვიშის ყუთში“, ტესტის თანხების შემოწმებით და თანმიმდევრულობით.
Black start-drill: ერთხელ/კვარტალი (ან ერთხელ/ექვს თვეში) - ბირთვის სრული გაშვება DR ვებსაიტზე.
Post-mortem: ფაქტები, ვიწრო ადგილები, გაუმჯობესების გეგმა (SLO/პროცესები/ავტომატიზაცია).
ავტომატიზაცია და არტეფაქტები
IaC: მტევანი, ბადეები, მინა - კოდით; DR ფილიალები/პარამეტრები.
Runbooks: კომპონენტურად (Vault/KMS, etcd, BD, კარიბჭეები, ფრონტები).
DR პაკეტი: ძირითადი დოქტორების ოფლაინ ასლი (კონტაქტები, სქემები, სეიფის ფრაზის პაროლები), ფიზიკური შემოსავლის ინსტრუქციები.
Canary-restore: ყოველდღიური მცირე restore და checksum- ის შერიგება.
ჭდეები/ეტიკეტები: „DR-critical“, „Warm-only“, „Cold-only“ სერვისებისთვის/ტომებისთვის.
ჩეკის განხორციელების სია
- მონაცემთა კლასები და მათი RPO/RTO შეთანხმდნენ ბიზნესთან; დადგენილია აღდგენის პრიორიტეტები.
- ხორციელდება cold-backups: მატარებლები, იმუნიტეტი (WORM/Object Lock), offsite/air-gap.
- კატალოგები: აქტივები, ზურგჩანთები, გასაღებები; ჩეკის თანხები და ვერსიების კონტროლი.
- შავი სტარტის პროცედურები: ქსელები/DNS, IDP/Vault/KMS, საკონტროლო თვითმფრინავი, მონაცემები, app-fent.
- სწავლებები: table-top კვარტალურად; კანარის ნაკრძალი ყოველდღიურად; Black start ჯერ/კვარტალი ექვსი თვე.
- კომუნიკაციები და მარეგულირებელი შაბლონები; ცალკეული საკომუნიკაციო არხები.
- SLO/მეტრიკა/ალერტები DR- სთვის; მენეჯმენტის მოხსენებები.
- შეთანხმებები პროვაიდერთან (ფირები/არქივები/DNS/CDN), SLA დადასტურებულია.
- ფინანსები: გადამზიდავი/არქივის ბიუჯეტი, ლოჯისტიკა, გადამზიდავების შეცვლა ვადით.
ტიპიური შეცდომები
„არსებობს შენიშვნა - თქვენ არ გჭირდებათ ზურგჩანთა“. ლოგიკური შეცდომა/დაშიფვრა ყველგან წავა.
არ არსებობს იმუნიტეტი/air-gap - ყველა ასლის კომპრომისის ერთი ვექტორი.
კატალოგების/შემოწმების თანხების არარსებობამ აღადგინა „რაღაც“, მაგრამ არა ეს.
TTL DNS ძალიან დიდია - მრავალდღიანი ტრაფიკის მიგრაცია.
გასაღებები/KMS იმავე დომენში/ანგარიშში - ინციდენტის წვდომის დაბლოკვა.
მხოლოდ „ქაღალდზე“ წვრთნები არ არის დადასტურებული.
სპეციფიკა iGaming/fintech
საფულე/გადახდის ბირთვი: მკაცრი RPO (1-5 წუთი) და RTO (15-60 წუთი); ჟურნალები ობიექტში WORM- ით; გამჭვირვალე კომუნიკაციისთვის DR ფუნქცია „read-only ბალანსი“.
PSP/შინაარსის პროვაიდერები: წინასწარ შეთანხმებული DR-IP/დომენი, whitelists, სერთიფიკატები, HMAC/mTLS გასაღებები - ასლები DR პაკეტში.
ანგარიშები/რეგულატორები: შეტყობინებების შაბლონები, უცვლელი არქივები, დადასტურებული მთლიანობა, სამოქმედო ჟურნალი.
მწვერვალები და დამნაშავეები: DR მზადყოფნა შემოწმებულია მთავარ ტურნირებზე/აქციებზე; კანარის restore და დათბობა CDN.
მინი runbook შაბლონები
1) Vault/KMS Black start (კონცეფცია):1. DR კლასტერის ინიციალიზაცია, უწყვეტი კონტროლის გასაღებების დატვირთვა.
2. სცენის ბაფის აღდგენა (ცივი კოპი).
3. პოლიტიკოსის შემოწმება, bootstrap საიდუმლოებების გაცემა CI/CD/K8s- ისთვის.
2) PostgreSQL DR (PITR из cold-backup):1. განათავსეთ ცარიელი ინსტანცია, აღადგინეთ ცივი სრული.
2. განათავსეთ WAL ჟურნალები (ჩანართები) სამიზნე მომენტამდე.
3. შესაბამისობის შემოწმება, რეპლიკაციის ჩართვა, read-only- ის გახსნა, შემდეგ read-write.
3) DNS/ტრაფიკი:1. შეამცირეთ TTL 24-72 საათით დაგეგმილ რისკებამდე (ან შეინარჩუნეთ დაბალი მუდმივად).
2. A/AAAA/CNAME გადართვა სიაში, შეცდომის/ლატენტობის მონიტორინგი.
3. ტრაფიკის თანდათანობითი ზრდა (კანარი 5% - 25% - 100%).
შედეგი
საიმედო DR, რომელსაც აქვს ცივი ქუდების მხარდაჭერა, არის: იმუნური იზოლირებული ასლები, ოფიციალური შავი სტილის პროცედურები, მკაფიო RPO/RTO, რეგულარული წვრთნები, გააზრებული DNS/ქსელის სტრატეგია და გასაღების დისციპლინა. დააფიქსირეთ ყველაფერი IaC- სა და runbook- ში, ავტომატურად შეამოწმეთ მთლიანობა და კანარის ნაკადი - და თქვენ ყოველთვის გექნებათ კონტროლირებადი გზა აღდგენისკენ, თუნდაც ყველაზე უარესი სცენარის შემდეგ.