助け合いフォーラム
この問題はプレミアムコンテンツです。
システムへの影響について
以下問題についてです。
問題:
あるシステムは3階層のEC2インスタンス群で構成されている。フロントエンド層とバックエンド層ではそれぞれ異なるEC2インスタンスが動作し、さらにその後ろにPostgreSQLデータベースが動作する別のEC2インスタンスがある。
このシステムをより可用性の高い構成に変更したいとき、システムへの影響が最も少ないものはどれか。
・フロントエンドとバックエンドのEC2インスタンスをAWS Elastic BeanstalkのマルチAZ構成とし、PostgreSQLデータベースをAmazon RDSのマルチAZ構成にする
・フロントエンドとバックエンドのEC2インスタンスをAuto Scalingグループに追加し、ELBの後ろに配置する
・フロントエンドにはAWS Lambdaを、バックエンドはAmazon S3を配置し、データベースはDynamoDBを利用する
・フロントエンドとバックエンドのEC2インスタンスをAWS Elastic BeanstalkのマルチAZ構成とし、PostgreSQLデータベースをAmazon RDSのリードレプリカ構成にする
「システムへの影響が最も少ないものはどれか」が問われていますので
「フロントエンドとバックエンドのEC2インスタンスをAuto Scalingグループに追加し、ELBの後ろに配置する」が正解かと思ったのですが
「フロントエンドとバックエンドのEC2インスタンスをAWS Elastic BeanstalkのマルチAZ構成とし、PostgreSQLデータベースをAmazon RDSのマルチAZ構成にする」が正解でした。
EC2上のPostgreSQLデータベースをAmazon RDSに置き換える点もありシステムへの影響が最も少ないとは思えなかったのですが、どのように考えるべきでしょうか?
「システムへの影響が最も少ないものはどれか」の前に「可用性の高い構成に変更したいとき」があります。
可用性の高い構成に変更できる方法の中から、システムへの影響が最も少ないものを選択する必要があります。
「フロントエンドとバックエンドのEC2インスタンスをAuto Scalingグループに追加し、ELBの後ろに配置する」は、誤答解説にあるとおりデータベースの可用性についての言及がないので、そもそも「可用性の高い構成にする」という要件を満たしていません。
コメント
参考に以下の記述があるので「システムへの影響」は最も少ないと言っても問題ないと思うのですが、どうでしょうか?
一方、稼働中のアプリケーションをバージョンアップするような場合には、一部のインスタンスから段階的にデプロイを行う方式(ローリングデプロイ)や、旧環境は稼働したまま新しい環境にバージョンアップしたアプリケーションをデプロイし、問題ないことが確認できたら旧環境とURLを入れ替える方式などがあります。段階的にデプロイする際に行うELBの切り替えや新規インスタンスの構築などは、Elastic Beanstalkがすべて自動で行います。アプリケーションの開発者にとってはシステムの複雑な設定や切り替え作業を行う必要がなく、開発したアプリケーションを安全に展開できます。
コメント
この投稿に対して返信しませんか?
s shia125
2024/02/29 21:21
ご返信ありがとうございます。 要件が「より可用性の高い構成に変更したい」「システムへの影響が最も少ないものはどれか」でしたので 一番重要な要件はシステム影響であり、可能性向上は次点である(今より上がれば良い)と考えたのですがいかがでしょうか?