0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【IT業界25年目】ADHDポンコツ鬱エンジニアが人生賭けて運営中の求人サービス『ヴェテラン』でも感じた恐怖「戦争によるリージョン破壊からのデータ消失」について

0
Posted at

皆さんこんにちは!

東京はようやく猛暑が落ち着いて、朝晩は少し秋の気配を感じられるようになってきましたね。
例年に比べると比較的過ごしやすかった気もしますが、いかがでしょうか。
もう9月になりますが、今年も残り4か月、健康第一でコツコツ頑張っていきましょう!

さて、前回までに人生を賭けた求人サービスを構築するために『PHP』『PostgreSQL』『AWS』を選んだ理由や、
セキュアなインフラ構築、ネットワーク分離、最小権限の考え方などについて書かせていただきました。

今回は最近AWS界隈を大きく揺るがした衝撃的なニュースをきっかけに、

『AWSの基礎:リージョン障害に備える!現場でのリージョン・AZ分割とDR設計のキホン』

についてガッツリ語っていきます!


はじめに:クラウドといえど「物理」からは逃げられない

先日、ITmedia等で非常にショッキングなニュースが話題になりました。

中東リージョンのデータセンターがドローン攻撃等の物理的被害を受け、半年の復旧作業の末に一部データが回復不能となったという報道です。

普段AWSを触っていると、「AWSに預けておけば自動で何重にもバックアップされているし、絶対安全でしょ!」とつい信じ込みたくなります。
しかし、AWSの背後にあるのは地球上のどこかに建っている巨大な物理ビル(データセンター)と無数のハードウェア**です。

地震、火災、水害、そして物理的な武力攻撃……。

「クラウドだから安心」ではなく、**リージョンごと消し飛ぶリスクに現場はどう備えるのか?**をセキュリティ観点からあらためて整理しておきましょう。


1. 「リージョン」と「AZ(アベイラビリティゾーン)」の違いを正しく知る

AWS初心者がまず混乱しやすいのが「リージョン」と「AZ」の境界線です。

【東京リージョン (ap-northeast-1)】
┌─────────────────────────────────────────────────────────┐
│                                                         │
│   ┌─────────────────┐             ┌─────────────────┐   │
│   │ AZ-a (データセンター)│ ◀──超高速線──▶ │ AZ-c (データセンター)│   │
│   └─────────────────┘             └─────────────────┘   │
│            ▲                               ▲            │
│            └───────────────┬───────────────┘            │
│                            ▼                            │
│                   ┌─────────────────┐                   │
│                   │ AZ-d (データセンター)│                   │
│                   └─────────────────┘                   │
│                                                         │
└─────────────────────────────────────────────────────────┘

AZ(アベイラビリティゾーン):
数キロ〜数十キロ離れた個別のデータセンター群。電源やネットワーク設備が完全に独立しています。

リージョン(Region):
複数のAZを束ねた地理的エリア(東京、大阪、バージニアなど)。数百〜数千キロ離れています。

「マルチAZ」で守れるもの・守れないもの
守れるもの: 1つのデータセンターの停電、ネットワーク瞬断、単一ラックのハード故障。

守れないもの: 地域一帯の大規模地震、広域停電、戦争・テロ、AWSアカウント全体の誤操作・乗っ取り。

普段の運用では「マルチAZ(東京のAZ-aとAZ-cで冗長化)」で99.9%のトラブルを防げますが、「リージョン全滅」が起きたら共倒れになります。

2. 現場ではリージョンをどう分ける? 4つのDRパターン

「じゃあ今すぐ全システムを東京と大阪のマルチリージョンにしよう!」
……と言いたいところですが、それをやるとコストが2倍〜3倍に跳ね上がり、開発保守コストも激増します。

現場では、サービスの重要度に応じて以下の4段階から現実的な落としどころを選びます。

【低コスト・復旧遅い】                               【高コスト・即時復旧】
バックアップ&リストア ──▶ パイロットライト ──▶ ウォームスタンバイ ──▶ マルチサイト(アクティブ/アクティブ)

① バックアップ&リストア(初心者・個人開発向け)

構成: 本番は東京リージョンのみ。DBのスナップショットやS3のデータを大阪リージョンへ定期転送する。

コスト: 最も安い(ストレージ保管料のみ)。

特徴: 万が一の時は、大阪側でゼロからEC2やRDSを立ち上げるため復旧に数時間〜数日かかるが、「データだけは絶対に失われない」状態を担保できる。

② パイロットライト(現実的な業務システム向け)

構成: 大阪側には「最小限のDB(レプリカ)」だけを起動しておき、アプリサーバー等は起動しない(AMIやコンテナイメージだけ置いておく)。

特徴: 平時のインフラ代を抑えつつ、有事の際はスクリプト(TerraformやCloudFormation)でアプリサーバーを一気に立ち上げて切り替える。

③ ウォームスタンバイ / アクティブ・アクティブ(大規模・金融系)

構成: 東京と大阪の両方でサーバーを常時起動。Route 53のDNSルーティングでトラフィックを振り分ける。

特徴: ダウンタイムほぼゼロで切り替え可能だが、インフラ費用も運用難易度も跳ね上がる。

初心者のうちは、まず「① バックアップ&リストア」から設計するのが現場の鉄則です。

3. 明日からできる「これだけはやっておけ」対策3選

「予算がないからマルチリージョンなんて無理!」という現場でも、最低限これだけは設定しておきましょう。

① S3の「クロスリージョンレプリケーション(CRR)」

ユーザーのアップロード画像や重要なバックアップファイルは、東京リージョンのS3に置くだけでなく、大阪リージョンへ自動複製(CRR)を設定します。


[東京 S3バケット] ────(AWSバックボーンで自動非同期複製)────▶ [大阪 S3バケット]

設定画面のチェックを数箇所入れるだけで、リージョン全損時でもデータ喪失を防げます。

② インフラをコード化(IaC: Terraform / CloudFormation)しておく

コンソール画面でポチポチ作った環境は、別リージョンで再構築する際に「あれ、セキュリティグループの設定どうなってたっけ?」とパニックになります。
コード化されていれば、region = "ap-northeast-3"(大阪)と書き換えてデプロイコマンドを叩くだけで別拠点にインフラが蘇ります。

③ AWSアカウントそのもののバックアップとIAM分離

どれだけリージョンを分けても、「全権を持つルートアカウントやIAMがハックされて全リージョンのリソースを一括削除された」ら終わりです。
重要データは別のアカウントにバックアップを隔離保管(AWS Organizationsの機能等を活用)するのも現代の必須セキュリティです。

4. まとめ:完璧を目指すな、まずは「データ保護」から

・クラウドの裏側は「物理のビル」。物理障害や地域災害はゼロにできない
・まずは「マルチAZ」で日常の障害を防ぎつつ、「別リージョンへのデータ退避」を仕込む
・インフラ丸ごと二重化はお金がかかる。まずは「S3とDBスナップショットの遠隔保存」から!

今回のニュースは、すべてのインフラ担当者にとって「もし明日、東京リージョンが完全に沈黙したら何が起きるか?」を再考する強烈な教訓となりました。
「動いているからヨシ!」で思考停止せず、事業継続のシナリオを少しずつ整えていきましょう。

「単一障害点を作らない」堅牢なアーキテクチャ設計を意識しながら、安心・安全に運営している求人マッチングサービスは以下になります。

エンジニアの方も、企業の採用担当者様も、ぜひ一度覗いてみてください!

▼求人マッチングサービス【ヴェテラン】
https://veteran-work.com/
logo_ol_S.png

「うちでは大阪リージョンのDRバックアップ、こうやってるよ!」
「RPO(目標復旧時点)とRTO(目標復旧時間)の決め方で悩んでる……」
「ディスクにバックアップした方がええやろ!」

など、ご意見や現場のリアルな工夫があれば、ぜひコメントで教えてください!
一緒に考えていきましょう!

本日もお疲れ様でした。
明日もコツコツと頑張っていきましょう!

Gemini_Generated_Image_hqnzfvhqnzfvhqnz.jpg

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?