障害復旧を目的としたAWS利用

 

f:id:lyrisist-lily:20210226205923p:plain


 

障害復旧を目的としたAWS利用

信頼性

ディザスタリカバリ(システム障害が発生した際に、システムを迅速に復旧するための仕組み)を用意することも、信頼性向上のためには必要だ。構成パターンとしては、大きく4つの方法がある。

 1つ目は、「バックアップ&リストア」という方法だ。バックアップファイルのみを別のリージョンに退避しておく考え方である。2つ目は、「パイロットライト」という方法。これは、停止した状態のサーバーを別のリージョンに用意しておき、障害発生時に立ち上げるというものである。

 非常時の際に、サービスを迅速に別のリージョンに展開したい場合には、「ウォームスタンバイ」という方法が効果的だ。これは、平常時は最小限のリソースでサーバーを起動しておき、非常時にサーバーをスケールさせるというものである。また、より信頼性を高めるには、常時複数のリージョンを用いてサービスを提供する「マルチサイト」という方法が用いられる。

優れたアーキテクチャを生むAWSベストプラクティス。運用者が守るべき5つの柱 (1/2):CodeZine(コードジン)

ディザスタリカバリはトレードオフを理解した上での選択が重要

 

 

パイロットライトを実装するのは以下の通り。

(1)アドレスをインスタンスに紐づけるまたはElastic Load Balancingを利用してトラフィックを複数のインスタンスに分散させる。

(2)CNAMEでEC2インスタンスやElastic Load Balancingを指定するようにDNSレコードを更新する。

 

※CNAMEレコードは正規ホスト名に対する別名を定義するレコード。
特定のホスト名を別のドメイン名に転送する時などに利用します。
※正規ホスト名はAレコードが登録されている必要があります。
※特定のファイルやサブディレクトリを指定する事はできません。
※ホスト名なしのCNAMEレコードは登録することができません

【ドメイン】CNAMEレコードとは | ホームページ作成なら Z.com WebHosting

 

 

パイロットライト環境では定期的に変更されるデータベースをレプリケートする必要がある。このため本番データベースをRDSに継続的に複製する。

https://aws.koiwaclub.com/wp-content/uploads/2018/09/AWS_Disaster_Recovery_01242012.pdf#page=11

※Lambda関数はデータベースの変更をレプリケートするのに信頼性が低い。