DevOpsの災害復旧計画

よく設計された災害復旧計画は、リスクを軽減し、障害から迅速に回復するために重要であり、データおよびインフラの整合性を確保します。

DevOpsに関連する神話はありますか?

一部の組織は、まだGitHub、GitLab、Bitbucket、Azure DevOps、またはJiraなどのDevOpsツールに組み込まれた包括的な災害復旧機能を誤って想定しています。しかし、プロバイダーはインフラを保護し、サービスをスムーズに運営する一方で、ユーザーは独自のアカウントデータを保護する必要があるという共有責任モデルを忘れてはいけません。

例えば、Atlassian Security Practicesからの引用を見てみましょう:

Bitbucketでは、データは異なるAWSリージョンにレプリケートされ、各リージョン内で独立したバックアップが毎日取られます。これらのバックアップは、スクリプトを使用して上書きされたフィールドや削除された課題、プロジェクト、またはサイトなど、顧客が発生させた破壊的な変更を元に戻すためには使用しません。データ損失を回避するため、定期的なバックアップをお勧めします。」

このエリアでの誤りは、重要なソースコードやメタデータのデータ損失、信頼性の損失、そして財務的な打撃など、深刻な混乱を招く可能性があります。

DevOpsエコシステム固有の課題

DevOpsスタック向けの災害復旧計画を開発する際に、この視点で直面するDevOpsの課題を考慮する価値があります。

DevOpsエコシステムには常に複雑なアーキテクチャがあり、相互に連携したパイプラインや環境(例: GitHubとJiraの統合)などが含まれます。そのため、破損したアーティファクトやランサムウェア攻撃などによる単一の障害が、システム全体に連鎖的に影響を及ぼす可能性があります。

さらに、DevOpsの迅速な開発によって継続的な変更が生じるため、回復プロセス中にデータの一貫性や整合性の確認が複雑化する可能性があります。

別の問題はデータ保持ポリシーです。SaaSツールは通常、30日から365日までの保持期間を課すことがあります。そのため、たとえば、リポジトリを誤って削除してバックアップコピーを持っていない場合、それを永久に失う可能性があります。

なぜディザスタリカバリがDevOpsにとって重要なのか

データの重要性は重要ですが、組織がディザスタリカバリメカニズムを開発・改善する理由はそれだけではありません。効果的なディザスタリカバリプランは、次のようなことを支援できます:

  • リスクを軽減し、サービスの中断、サイバー攻撃、誤削除などが長時間のダウンタイムやデータ損失をもたらすリスクを低減できます。

事実と統計: 2023年、GitHubユーザーに影響を与えたインシデントは2022年と比較して21%以上増加しました。GitLabに関しては、約32%のイベントがサービスのパフォーマンスに影響を与え、顧客に影響を与えたと認識されました。(DevOps Threats Reportからの統計)。

  • コンプライアンスと規制要件に準拠 — たとえば、ISO 20071、GDPR、またはNIS 2は、組織が堅牢なデータ保護と回復メカニズムを持つことを義務付けています。遵守しないと、重い罰金や法的な結果が生じる可能性があります。

: 2024年12月、EUサイバー耐久性法が施行されました。これにより、2027年12月までに、デジタル製品やサービスを提供し、欧州連合内で運営している組織は、データ保護とインシデント管理を法令要件に合わせる必要があります。

  • ダウンタイムのコストを削減または排除、システムの利用不能時間は収益損失につながります。平均的なダウンタイムコストは1分あたり9,000ドルを超えることがあり、迅速な回復が不可欠です。

ロバストな災害復旧計画を構築するためのベストプラクティス

あなたの災害復旧計画が可能な災害シナリオを事前に予測し、失敗の発生時に素早く対処するための必要な手順を提供することは重要ではありませんか?効果的なDRPの構成要素を見てみましょう…

すべての重要なコンポーネントを評価

DevOpsの最も重要な資産を特定する必要があります。これには、ソースコードリポジトリ、メタデータ、CI/CDパイプライン、ビルドアーティファクト、構成管理ファイルなどが含まれる可能性があります。障害が発生した際に優先して回復するデータを把握する必要があります。

バックアップのベストプラクティスを実装する

よく整理されたバックアップ戦略がなければデータを取得することは不可能です。したがって、障害が発生した場合に重要なデータを復元できるようにするために、サービスの停止、インフラのダウンタイム、ランサムウェア攻撃、誤った削除などのいかなる障害の状況でもバックアップのベストプラクティスに従うことが重要です。

そのため、バックアップソリューションは以下を可能にする必要があります:

  • 最適なバックアップコピー間の適切な間隔でスケジューリングすることにより、バックアップを自動化し、障害が発生した際にデータが失われないようにすること、
  • 長期間または無制限の保持を提供し、任意の時点でデータを復元できるようにすること、
  • 3-2-1バックアップルールを適用し、すべてのストレージ間でレプリケーションを確保し、バックアップ場所の1つが障害を起こした場合でも別の場所からバックアップを実行できるようにすること、
  • ランサムウェア保護、つまりAES暗号化と独自の暗号化キーを使用した不変のバックアップ、復元および災害復旧機能(時間指定の復元、完全および粒状なリカバリ、ローカルマシン、同じアカウント、またはGitHub、GitLab、Bitbucket、Azure DevOpsのいずれか間での復元などの複数の宛先に復元)を適用すること。

復旧メトリクスを定義する

組織がRTOやRPOなどの測定可能な目標を設定することが重要です。

  • リカバリータイムオブジェクティブ(RTO)は、災害が発生した後に企業システムがどれだけ速やかに稼働する必要があるかを指します。たとえば、組織がRTOを8時間と設定した場合、その8時間以内に災害が発生しても通常の業務が再開されるべきです。通常、組織が設定するRTOが低いほど、障害に対してより準備が整っています。
  • リカバリーポイントオブジェクティブ(RPO)は、企業が耐えられるとされるデータ損失を示します。たとえば、企業が3時間分のデータを失っても容易に生き残れる場合、そのRPOは3時間です。RPOが低いほど、組織はより頻繁なバックアップを取る必要があります。

定期的にバックアップと復元操作をテストおよび検証します

定期的なテスト復元を行うことで、バックアップの整合性を確認し、障害が発生した場合でもデータを迅速に復旧できることを保証できます。

さらに、障害をシミュレートする価値があります。これにより、組織はシミュレートされた障害、ランサムウェア攻撃、その他の災害に直面した際のDRPの有効性を評価できます。

チームに教育を施します

災害時にはパニックが最悪です。したがって、チームの各メンバーがそのような状況で何をすべきかを理解しているべきです。復元操作を実行する責任者や、災害について通知する責任者などの役割を設定します。

組織は災害に備えて徹底的に構築されたコミュニケーションプランを持つべきであり、ステークホルダーや他の影響を受ける可能性のある関係者に通知する責任者やその他のテンプレートを明記したコミュニケーション戦略を示しています。

DevOpsにおけるDRPの事例

災害の壊滅的な影響を避けるのにDRPがどのように役立つかを見てみましょう:

サービスの中断

大手のデジタル企業は完全にGitHub(GitLab、Atlassian、またはAzure DevOpsなどの他のサービスプロバイダーがあるかもしれません)に依存しています。突然、企業はサービスプロバイダーが障害を抱えていることに気づきます…しかし、企業はできるだけ早く業務を継続する必要があります— ダウンタイムの平均コストが1分あたり9,000ドルであることを忘れてはなりません。

包括的なDRPを持っている組織は、最新のバックアップコピーからデータをポイントインタイムでGitLab(またはBitbuketまたはAzure DevOps)に復元します。したがって、組織は素早く業務を再開し、データ損失を防ぎ、最小限のダウンタイムを確保します。

ヒント: このような状況では、バックアップソリューションが業務の連続性を迅速に再開するためにデータをローカルマシンに復元できることも重要です。

人為的エラー対インフラストラクチャーのダウンタイム

開発者が間違ったデータをプッシュして重要なファイルを誤って上書きします。この状況が企業のワークフローを麻痺させ、ダウンタイムを引き起こします。

幸いにも、組織のDRPは3-2-1バックアップルールに従ってこのような状況を予測しています。したがって、企業のITチームは別のストレージからバックアップを実行してビジネスの連続性を確保します。

ランサムウェア攻撃

中規模のソフトウェア会社がランサムウェア攻撃に直面し、主要なGitリポジトリが暗号化されました。効率的な災害復旧計画(DRP)を実装しており、自動バックアップやイミュータブルなバックアップなどのランサムウェア耐性機能を備えていたため、企業はデータを元に戻すことに成功し、データが破損していなかった時点からの復元を行いました。

その結果、企業は数時間以内にオペレーションを回復し、数百万ドルに及ぶ身代金要求を回避し、ダウンタイムを最小限に抑えました。

まとめ

災害復旧計画は現代の組織にとって戦略的な必須事項です。データの保護に留まらず、組織がコンプライアンスを確保し、顧客の信頼を築き、財務リスクを軽減するのに役立ちます。

バックアップ戦略は、最も厳格なものでさえ、DRPの包括的な基盤となるべきです。そのため、次のことができる必要があります:

  • 最も厳格なRTOおよびRPO内でバックアッププロセスを自動化するためのバックアップポリシーを設定する、
  • 3-2-1バックアップルールを満たす複数の場所にデータを保存する、
  • 安全なランサムウェア保護メカニズムを備える、
  • データ駆動型ダッシュボード、Slack/email通知、SLA、コンプライアンスレポートなどによるバックアップパフォーマンスのモニタリング、
  • テストリストアを行う、
  • すべてのDRシナリオを予見し、完全なデータ復旧、粒度の細かい復元、時間指定の復元、同じアカウントまたは新しいアカウントへの復元、ローカルインスタンスへの復元などを提供する強力な復元機能を備える、
  • コンプライアンスとサイバー耐性を確保する。

Source:
https://dzone.com/articles/disaster-recovery-plan-for-devops