Upgrade to Pro — share decks privately, control downloads, hide ads and more …

コスパを考慮したDR設計について考えてみる

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 コスパを考慮したDR設計について考えてみる

Avatar for NRI Netcom

NRI Netcom PRO

March 24, 2024
Tweet

More Decks by NRI Netcom

Other Decks in Technology

Transcript

  1. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 4 4 自己紹介 - Introduction - ・社会人3年目 西本悠馬 ・NRIネットコム株式会社 クラウド事業推進部 〇基本情報 ・2023 Japan AWS All Certifications Engineers ・2023 Japan AWS Jr. Champions 〇AWS Award ・2017-2021年は大学でデータサイエンスを学習 ・2021年に新卒入社 ・配属後、AWSを活用したWEBシステムの構築・運用をメインで担当 ・今日で登壇は4回目 〇経歴
  2. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 6 発表概要 - Overview - ・拡張性や耐障害性 ・セキュリティ ・コスト ・RPO、RTO ・etc... 〇AWSでインフラ基盤を構築するうえで考えていること ・RPO…目標復旧時点 ・RTO…目標復旧時間 〇RPO、RTOについて (引用) AWS でのディザスタリカバリ (DR) アーキテクチャ、パートI:クラウドでのリカバリの戦略 https://aws.amazon.com/jp/blogs/news/disaster-recovery-dr-architecture-on-aws-part-1-strategies-for-recovery-in-the-cloud/
  3. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 7 発表概要 - Overview - ① 2021/09/02 Direct Connectに関連する障害(https://aws.amazon.com/jp/message/17908/) ・Direct Connect接続と東京リージョン間でのネットワークにトラブルが生じたもの ・Direct Connectを冗長化していたとしても復旧方法がなく、対応策を打てなかったところも ② 2019/08/25 EC2, EBSに関連する障害(https://aws.amazon.com/jp/message/56489/) ・東京リージョンの単一AZでEC2,EBSで起きた障害(EC2の停止や関連してRDS等にも影響があった模様) 〇AWSで起きた過去の大規模障害について(東京リージョン) ②のような単一のAZ障害については設計次第で防げる可能性も高い??
  4. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 8 発表概要 - Overview - ① Multi-AZ構成 ・単一AZではなく、複数のAZでシステムを稼働させる ② DR構成 ・リージョン単位での障害時に別リージョンでシステムを稼働させる 〇AWSにおけるAZやリージョン単位での障害を回避するための戦略 本日は②に焦点を当てた話をしていきたい
  5. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 9 発表概要 - Overview - ① WEBシステムの構成例を元に、いろんなDR方式について考えてみる ② それぞれのDR方式でのメリット・デメリットを理解し、 コストを削減しつつDR環境を構築するうえで便利な機能を3つ紹介 〇今日のテーマ ・アカウントAにおけるap-northeast-1aはアカウントBにおけるap-northeast-1aとイコールとは限らない 〇豆知識
  6. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 10 発表概要 - Overview - 〇AZ名とAZ ID何が違う? ・AZ名はあくまで、アカウント内での識別子であり、AZ ID はすべてのアカウントにわたる一意の識別子 ・ドキュメントによると、特定のazにリソースが集中してし まうのを防ぐ目的とのこと(az-aを選びがちですよね) ・システムを設計する際は、AZ IDについて必ず確認してお きましょう
  7. Copyright(C)NRI Netcom, Ltd. All rights reserved. 本題 Main Topic Contents

    ・Multi-AZ構成について ・DR構成を構築するうえで役立つ機能 ・DR構成について ・コストを減らすための取り組み ・考慮すべき点について
  8. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 12 12 本題 – Main Topic - ▷単一AZ構成例 障害が起きたら・・・ ・システム停止 ・ログのロスト ・DBのデータロスト 〇単一AZ構成をまず見てみる
  9. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 13 13 ▷Multi-AZ構成例 〇Multi-AZ構成について簡単に紹介 本題 – Main Topic -
  10. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 14 14 ▷単一AZでの障害が発生 単一AZ障害であれば、システム 稼働は可能(ダウンタイムが発生 する可能性はあり) 〇Multi-AZ構成について簡単に紹介 本題 – Main Topic -
  11. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 15 15 ①異なるAZ間での若干の通信速度の差 →経験上異なるAZ間での速度は同一AZ間での速度よりも若干遅くなる →→性能試験等で速度が極端に遅い場合はこの辺りも疑ってみるといいかも 〇Multi-AZ構成をとるうえで考慮しておくべきこと 本題 – Main Topic - ②冗長化によるセッションの管理方法 →サーバ内のメモリでセッションを管理していると冗長化時にうまくいかない場合がある(あるある) →→どうしてもサーバ内のメモリで管理しないといけないような場合はスティッキーセッション等検討 ③何AZで稼働させるか →2AZで稼働させたとしても、その2AZで障害が起こればシステムは稼働できない。であれば3AZで稼働させ る?って話になるかもしれませんがそれはそれでコストが発生する ④複数アカウントにまたがるシステムの場合 →冒頭で話した通り、割り当てられてるAZ IDは異なる場合があるので、それぞれのアカウント単位でのリカ バリ手順の整備を前提に作って置く必要がある(たまたま割り当てが同じ時もある)
  12. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 16 16 〇DR構成について考えてみる ▷Multi-AZ構成において リージョン障害が起こると、 システムは停止 バックアップのタイミングに よってはデータロストも 本題 – Main Topic -
  13. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 17 17 〇DR構成についていくつかパターンを紹介 ▷DR構成例: 本題 – Main Topic -
  14. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 18 18 〇DR構成を構築するうえで便利な機能(Aurora) ▷Aurora ・グローバルデータベース 別リージョンにデータを通常1秒未満のレイテンシーでレプリケートできる機能 プライマリでの障害時に別リージョンへのフェイルオーバーも可能 (引用) Amazon Aurora Global Database の使用 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html 本題 – Main Topic -
  15. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 19 19 〇DR構成を構築するうえで便利な機能(S3) ▷S3 ・クロスリージョンレプリケーション(CRR) S3に格納されているオブジェクトを別リージョンのS3にレプリケーションできる機能 ログのバックアップや、アプリで使用するファイルをDRリージョンに同期させておくことができる 本題 – Main Topic -
  16. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 20 20 〇DR構成を構築するうえで便利な機能(DynamoDB) ▷DynamoDB ・グローバルテーブル 別リージョンにレプリカテーブルを構築し、そのテーブルに対して読み取りや書き込みが可能な機能 特にフェイルオーバー等も不要 本題 – Main Topic -
  17. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 21 21 ▷Active-Active: Active-Activeでの構成例 東京並びにオレゴンリージョン でシステムを常時稼働させる デメリット: コストが単純計算で倍になる 本題 – Main Topic - 〇DR構成についていくつかパターンを紹介
  18. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 22 22 ▷ウォームスタンバイ: DBのデータは同期 システム自体はオレゴンリージョン については非稼働 東京での稼働が不可になった場合、 瞬時にオレゴンに切り替え 本題 – Main Topic - 〇DR構成についていくつかパターンを紹介
  19. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 23 23 ▷パイロットライト: DBのデータは同期 システム自体はオレゴンリージョン については非稼働 東京での稼働が不可になった場合、 停止しているEC2等を立ち上げ システムを再稼働させる ここまで紹介した方式のなかでは、 最も低コスト 本題 – Main Topic - 〇DR構成についていくつかパターンを紹介
  20. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 24 24 〇前のページのパイロットライトの方式をとった場合のコスト見積もり(オレゴンリージョンで想定) ▷Aurora ・db.r6g.largeでスペックの想定をするとサーバがあるだけで月当たり$200(計算はざっくりになります) →加えてストレージサイズに応じたコストも追加になり、年間$2400以上かかってくることになる 日本円だと36万円ほど($1 = 150円で計算) ▷NATGateway ・通信は基本的に発生しないと仮定して、1台あたり0.045USD/時 月当たり$32.4、年間$388.8(58,320円)になり、DRリージョンで必要な分置いておくだけでもそれなりの料 金になってしまう ▷DynamoDB ・レプリカテーブル数分の書き込みキャパシティに対応する料金やデータ転送料金が発生 また、CloudTrailのイベントもそれなりに増えるため、間接的にCloudTrailの料金が跳ねることも 本題 – Main Topic -
  21. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 25 25 〇パイロットライトの方式をとったとしてもコストを最小限にしたい… コストを減らすための工夫 費用が高いリソースのDRでのバックアップ方法を再検討する 本題 – Main Topic -
  22. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 26 26 〇パイロットライトの方式をとったとしてもコストを最小限にしたい… ▷RPO,RTOを再度確認する ・冒頭で触れたRPO, RTOを確認して、復旧時間や復旧目標時点を確認する ▷コストが高くなっているリソースを中心にコスト削減できないか検討 ・今回はシンプルな構成例を挙げていますが、Aurora, NATGateway, DynamoDBの料金がそれなりに高く なるような構成になっている。ここの削減について、次のページで紹介する。 本題 – Main Topic -
  23. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 27 27 〇Auroraのコスト削減方法 ▷ヘッドレス構成 ・インスタンスは通常時構築せず、費用を削減。一方でClusterは存在するためデータのレプリケーション自体 はしておく構成 本題 – Main Topic -
  24. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 28 28 〇Auroraのコスト削減方法 ▷ヘッドレスのメリット ・インスタンス起動分の費用を削減。一方でClusterは存在するためデータのレプリケーション自体は実施して おくことが可能 ▷ヘッドレス構成のデメリット ・DR発動時、フェイルオーバー先となるインスタンスの立上げがまず必要になるため、通常の構成よりはダウ ンタイムが長くなること ▷ヘッドレス構成におけるちょっとした豆知識 ・ヘッドレスクラスターにインスタンスを追加する際は画面UI上からは不可 ・インスタンスが無い状態で、バージョンアップデートはできないなど 本題 – Main Topic -
  25. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 29 29 〇NATGatewayのコスト削減方法 ▷通常時は削除(作成しない) ・DR発動時には多少システム再開時間はプラスにはなってしまうが、RTOを確認し時間に問題なければ DR発動時に構築する方がコスト的にはうれしい ▷考慮すべきこと ・当然、NATGatewayがない状態ではRouteTable等についても完成された状態で置いておくことはできない そのため、DR発動用のリソースについてもIaC化しておくのがいい ・ElasticIPについても費用がかかるためDR発動時でもいいかもしれないが、IP制限のある外接システムを使っ ている場合はElasticIPを先に確保しておくなどの工夫も必要 ▷NATGateway以外にも・・・ ・VPC Endpoint(Interface)なども意外とコストが膨らむ原因になったりもする 本題 – Main Topic -
  26. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 30 30 〇DynamoDBのコスト削減方法 ▷バックアップ・リストア方式をとる ・RTO、RPO次第ではあるが、PITR(Point In Time Recovery)やオンデマンドバックアップを使用して、 DRリージョンにリストアする方式をとることでコストの削減にはつながる ※東京リージョンのすべてが落ちてしまった場合は、バックアップを使用することができない可能性はあるか もしれない(ドキュメントではどこで保管されるかが明示されていないため) ▷考慮すべきこと ・常に同期しているわけではないので、データロストの可能性はあり(PITRは直近5分前までの間で復旧可 能) 本題 – Main Topic -
  27. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 31 31 〇コスト削減後のDR構成について簡単に紹介 ▷コスト削減後のDR構成 本題 – Main Topic -
  28. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 32 32 〇DR方式をとるうえでの検討は他にも ▷Jenkinsや使用しているGitがそもそもシステムと同リージョンで稼働していないか ・AWSが広く使われるようになっている関係で、他システムについても同リージョンで稼働していることがあ る 本題 – Main Topic - ▷手順の整備、試験は必須 ・初めに作った手順でうまく切り替えまでいける。ということはまずないかと思われる。必ずテストをし、手 順の整備並びにRPO, RTOを満たせる結果になったかを確認する必要がある
  29. Main Topic Introduction Overview 2024/02/20 tech & study Copyright(C)NRI Netcom,

    Ltd. All rights reserved. 33 33 33 〇まとめ ▷まずは、リージョン内でのDR構成(Multi-AZ構成など)を検討 まとめ – Summary - ▷RPO、RTOを遵守しつつ、不要コストの削減を検討(システム再稼働を早くすることだけが目的ではない) ▷DRに便利な機能をつかいつつも、コストを考えて設計をする