AWSにおける高可用性の定義
AWSにおける可用性向上策
- Design for Failure(障害発生を前提としたシステム構築)
- 障害を回避する設計を行うのではなく、障害が発生してもシステムが継続できるように設計すること
◉可用性向上のポイント
◎リソースを冗長化する
- **単一障害点(SPOF:Single Point of Failure)**をなくすことが重要
- 内部的に冗長化しているAWSサービスとユーザー側で冗長構成を設計しなければいけないAWSサービスがある
単一障害点
障害が発生するとシステム全体が使用不能になる/システムの動作結果の正しさを保証できなくなる箇所のこと
◎地理的に冗長化する
AWSの管理画面から設定を行うだけで地理的に離れた場所で即座にリソースを用意することができる
◎システムを疎結合で構成する
- システムやコンポーネントを独立させることが重要
- システムの一部分が故障したり動作不良を起こした場合、その部分だけを切り離して復旧作業を行うことが可能
- システム全体への影響を軽減することができる
・ELBと利用することで、エンドポイントから複数のEC2インスタンスに処理分散できるため、インスタンス同士が干渉しない
・SQS(Simple Queue Service)を利用することで、大量処理の必要がある場合でもSQS側でバッファリングしてインスタンスへ処理を並列化できる
参考