AWS Certified Cloud Practitioner 無料問題 1 / 10 ・ 分野3: クラウドテクノロジーとサービス
Web アプリの EC2 インスタンスを、すべて同じアベイラビリティーゾーン(AZ)に置いている。その場所が障害を受けても、アプリを使い続けられるようにしたい。EC2 のページの説明に合う対処はどれか。
- 追加のインスタンスも AZ の指定を AWS に任せ、空きのある場所に置かせる
- インスタンスを大きいインスタンスタイプに変え、1台で余裕を持たせる
- インスタンスを複数の AZ に分け、落ちた AZ の分を別の AZ で受ける
- 同じ AZ の中でインスタンスの台数を増やし、1台の故障に備える
正解と解説を見る
正解: C
正解の理由
ページは、EC2 インスタンスを複数の AZ で起動すれば、リージョンの中の1つの場所の障害からアプリを守れると書く。さらに、インスタンスを複数の AZ に分散しておき、あるインスタンスが障害を受けたら、別の AZ のインスタンスが代わりに要求を処理するようにアプリを設計できる、と説明している。AZ はリージョンの中の複数の分離された場所なので、1つが障害を受けても別の AZ で処理を続けられる。
違う選択肢
「追加のインスタンスも AZ の指定を AWS に任せ、空きのある場所に置かせる」… AZ の選択を AWS に任せるよう勧めているのは初回の起動のときである。追加のインスタンスについては、既存のインスタンスの近くに置く、または離して置く必要があるときに AZ を指定するよう書かれている。離して置きたいなら指定が要る。
「同じ AZ の中でインスタンスの台数を増やし、1台の故障に備える」… ページは、AWS のデータセンターでもまれに障害は起こり、同じ場所のインスタンスに影響すると書く。すべてのインスタンスを1つの場所に置いていてその場所が障害を受けると、どのインスタンスも使えなくなる。台数を増やしても場所が同じなら同じ障害を受ける。
「インスタンスを大きいインスタンスタイプに変え、1台で余裕を持たせる」… 大きいインスタンスタイプにしても、置いている場所は変わらない。ページが言う「1つの場所の障害でどのインスタンスも使えなくなる」状況は残る。
押さえどころ
サブネットは1つの AZ の中に収まり、AZ をまたげない。インスタンスを複数の AZ に置くには、AZ ごとにサブネットを用意する。試験ガイドの 3.2.S2(複数の AZ で高可用性を実現する方法)の基本の形であり、Auto Scaling グループに複数の AZ を指定する、ロードバランサーで複数の AZ のターゲットに振り分ける、といった形で実際に組む。