Amazon Web Services ブログ

2021 メディア業界のお客様向け AWS 勉強会 第七回『アベイラビリティーゾーンを 使用した静的安定性 / AWS におけるマルチリージョン構成の考え方』

2021/09/15 にメディア業界のお客様向けに AWS 勉強会を開催いたしました。第七回では AWS でシステム設計を行う方に向けて、AWS 自身がサービス開発において重要視しているシステムアーキテクチャにおける「静的安定性」を高める工夫について、お客様にも応用頂きたくご紹介する内容を前半で、後半では、AWS におけるマルチリージョン構成の考え方を説明しました。講師を勤めたソリューションアーキテクトの八木の経験として、お客様との議論の中で、システム安定性の議論を行う際、シングルリージョン内での取りうる手段について熟考した上でマルチリージョン構成の議論を行う方が有益だと感じるシーンが多かったため、今回はそれら2つのテーマでご説明させて頂きました。

資料のダウンロードおよび動画の視聴は下記のリンクから無料でご利用頂けますので、合わせてご確認ください。
資料のダウンロード及び動画の視聴リンク
それではここから当日のセッションの内容について簡単にご紹介させていただきます。

アベイラビリティーゾーンを 使用した静的安定性

前半のセッションでは「アベイラビリティーゾーンを 使用した静的安定性」 というテーマで、システムの「静的安定性」を高めるための考え方や手段についてご説明しました。なお本セッションは、The Amazon Builders’ Library の 「アベイラビリティーゾーンを使用した静的安定性」という寄稿を元に作成しています。


このセッションでは、以下の7つの内容でご説明しました。

  1. リージョンとアベイラビリティゾーンのおさらい
  2. 静的安定性とは – AWS の定義
  3. 静的安定性の高いアーキテクチャ例1 – System 1 が System 2 に依存しているシステムのアーキテクチャ
  4. AWS サービスの静的安定性を高める工夫 – コントロールプレーン と データプレーン の分離
  5. 静的安定性のための、AWSサービスのデプロイ方法
  6. 静的安定性の高いアーキテクチャ例2 – 3 AZ アクティブ – アクティブの例: 負荷分散されたサービス
  7. 静的安定性の高いアーキテクチャ例3 – 2 AZ アクティブ – スタンバイの例: リレーショナルデータベース

上記 2にて 静的安定性を、依存関係が損なわれてもシステム全体が動作し続ける性質のこと、と定義した上で、3 にて、Client → System 1 → System 2 という順で依存しているシステムがあった場合、System 1 と 2 が常に同期通信を必要とするアーキテクチャではないアーキテクチャで実装しておくことで、 System 2 に可用性イベントが発生した場合でも System 1 は動作し続けるため、Client が被る可用性イベントの影響を小さくすることができることをご説明しました。また、その考え方が AWS サービスのアーキテクチャにどう応用されているかを 4 で説明しました。 5 では、日々膨大な回数デプロイが行われている AWS サービスのデプロイにおいて、AWS は「アベイラビリティゾーンの独立性」という原則に従い、デプロイ影響が最悪でも 1 AZ に留まるようにしていることを説明しました。6, 7 では、「アベイラビリティゾーンの独立性」をお客様がどう応用できるかについて、例を挙げて説明致しました。

AWS におけるマルチリージョン構成の考え方

後半のセッションでは「AWS におけるマルチリージョン構成の考え方」というテーマで、AWS が整理しているマルチリージョン構成パターンについてご説明しました。


このセッションでは、以下の7つの内容でご説明しました。

  1. RPO, RTO の定義のおさらい
  2. DRにおける考慮ポイント – 想定災害 と RPO/RTO のメトリクス と DR 方式
  3. バックアップリストア
  4. パイロットライト
  5. ウォームスタンバイ
  6. ホットスタンバイ
  7. データベースにおけるDR方式
  8. ホットスタンバイの事例 – Snapchat

上記 2にて 想定災害 と RPO/RTO のメトリクスに対してDR方式をプロットした上で、3-6 にかけて、各方式の概要を説明しました。3.バックアップとリストアとは、RTOに応じて常時バックアップをサブサイトに転送しておき、障害時にリストアを行い復旧する方法です。4. パイロットライトとは、DBなどコアサービスに限定してサブサイトにレプリケーションしたり起動状態しておき、障害時にその他のサービスをリストアして復旧する方法です。5. ウォームスタンバイとは、平常時からメインサイトと同等の機能をもち規模を縮小したサブサイトを運用しておき、障害復旧時にサブサイトにトラフィックをフェイルオーバーさせることで復旧する方法です。6. ホットスタンバイとは、平常時からメインサイトと同等構成のサブサイトを運用しておく方法で、平常時からトラフィックをサブサイトに流しておきRTOを極小化することを目指す手段を取る場合もある方法です。7 にてデータベースにおけるDR方式を上記メトリクスにプロットし、Amazon Aurora / Amazon RDS において使える機能の一部を紹介しました。8 ではSnapchat様の事例を紹介しました。

まとめ

メディア業界のお客様向けAWS勉強会の第七回の開催概要をご紹介させていただきました。内容について詳しく知りたい方はこちらより資料のダウンロード及び動画を視聴いただけますのでご確認ください。今回の内容は、How-to ではなく、システムアーキテクチャの概要設計を行う際に熟考する切り口をご説明した内容だったため、難解に思われた方もいらっしゃったと思います。一方、AWS はサービスをビルディングブロックしてシステム全体を構築するため、アーキテクチャの議論は重要であるため、AWS でシステム設計を行う方にはいつかお役に立てる内容であると思っております。メディア業界のお客様向け勉強会は月に2回のペース(原則、第 1 ・第 3 水曜日の午後を予定)で開催しており、AWS 活用に当たって有益だと思われる情報を提供しておりますので奮ってご参加ください。
また、過去に実施した勉強会についてもブログを公開しておりますので、合わせてご覧ください。
2021 メディア業界のお客様向け AWS 勉強会 第一回「AWS入門」
2021 メディア業界のお客様向け AWS 勉強会 第二回「AWS を活用したリモートワーク入門」
2021 メディア業界のお客様向け AWS 勉強会 第三回「メディア系 AWS 活用事例紹介 ~ 新聞・出版 ~」
2021 メディア業界のお客様向け AWS 勉強会 第四回「メディア系 AWS 活用事例紹介 ~ 放送・配信 ~」
2021 メディア業界のお客様向け AWS 勉強会 第五回「目指せ ! クラウドプラクティショナー」
2021 メディア業界のお客様向け AWS 勉強会 第六回「目指せ ! クラウドプラクティショナー」
このブログはソリューションアーキテクト 八木 達也 が担当しました。