TxKxZxWx's blog

AWS SAA取得に向けて学習

AWS SAA取得に向けて 80日目 練習問題

例題1:

VPCのワークロードは、着信リクエストを6つのEC2インスタンスのフリートに分散するELBで構成されている。

各EC2インスタンスは、DynamoDBテーブルからデータを保存および取得する。

このワークロードの高可用性を保証する最適な方法は?

 

※EC2 フリート は、オンデマンドインスタンス と スポットインスタンス のグループ。

EC2 フリート は、フリートのリクエストで指定したターゲット容量を満たすために必要なインスタンス数の起動を試みる。

 

答え:

EC2インスタンスを、1つのリージョン内の最低2つのAZに均等にプロビジョニングする。

 

※プロビジョニングとは、必要に応じてネットワークやコンピューターの設備などのリソースを提供できるよう予測し、準備しておくこと。

 

解説:

1つのリージョン内の2つのAZにインスタンスを配置することにより、アプリケーションの可用性を高めることができる。

docs.aws.amazon.com

 

 

 

 

例題2:

2つのパブリックサブネットと2つのプライベートサブネットを含むVPCを作成した。

企業のセキュリティポリシーは、全てのEC2インスタンスをプライベートサブネットで起動する必要がある。

一方で、ポート80および443でApacheを実行しているEC2インスタンスをプライベートサブネットで起動すると、外部のインターネットからのトラフィックApacheを実行しているEC2インスタンスに届かない。

問題を解決させる最適な方法は?」

 

答え:

EC2インスタンスをエンドポイントとして、インターネットに面したALBを起動する。

外部のDNS解決がALBに向けられるようにする。

 

解説:

インターネットに面したALBは、ALBを指す外部DNSを使用して、基盤となるEC2インスタンスを公開するのに役立つ。

 

 

 

例題3:

3層のアプリケーションを設計している。

アーキテクトは、データベース層へのアクセスを制限して、アプリケーションサーバーからのトラフィックのみ受け入れたいと考えている。

ただし、これらのアプリケーションサーバーはAuto Scalingグループに属しているためサーバーの数は変動する。

要件を満たすための最適なデータベース構成方法は?

 

回答:

アプリケーションサーバーのセキュリティグループからデータベースのトラフィックを許可するようにデータベースのセキュリティグループを構成する。

 

解説:

データベースのセキュリティグループをアプリケーションサーバーのセキュリティグループからのトラフィックを許可するように構成できる。

 

 

 

 

例題4:

コールセンターのアプリケーションは、Auto Scalingグループを使用する3層アプリケーションで構成され、必要に応じてリソースを自動的にスケーリングする。

システムは毎朝午前9:00から約15分間非常に遅くなる。

コールセンターのほとんどのスタッフは、午前9:00に仕事を開始しているため、Auto Scalingのスケールアウトが間に合わない。

問題を修正する最適な方法は?

 

回答:

Auto Scalingスケジュールに基づくスケーリングを作成して、毎朝午前8:30に必要なリソースをスケールアウトする。

 

解説;

Auto Scalingのスケジューリングに基づくスケーリングは、既知の需要パターンの計画とスケーリングに役立つ。

毎朝午前8:30にスケーリングを開始すると、9:00に急増する需要に対応するのに十分な時間があるため問題を解決できる。

 

スケジューリングに基づいたスケーリングにより、予想可能な負荷の変化に対する独自のスケーリングスケジュールを設定できる。

docs.aws.amazon.com

 

 

 

 

例題5:

会社はテレビ番組のオンライン投票システムを運営している。

ブロードキャスト中に、数分以内に数十万票が送信され、フロントエンドの自動スケーリングされたEC2インスタンスのフリートに送信される。

EC2インスタンスは投票をRDBMSデータベースに渡す。

一方でデータベースはフロントエンドの接続要求に対応できない。

投票がタイムリーに処理されることを保証する最も効率的で費用対効果の高い方法は?

 

回答:

各フロントエンドノードは、投票をSQSキューに送信する必要がある。

ワーカーインスタンスをプロビジョニングして、SQSキューを読み取り、メッセージ情報をRDBMSデータベースに処理する。

 

解説:

SQSは疎結合を提供し、データベースのバッファーとして機能する。

また、スパイクは一時的なものであるため、RDBMSを拡張する必要はない。

 

 

 

 

例題6:

VPCのワークロードは、カスタムAMIから起動される単一のウェブサーバーで構成される。

セッション状態はデータベースに保存される。

ワークロードを変更して高可用性とスケーラブルの両方を実現する最適な方法は?

 

答え:

ウェブサーバーのイメージのAMI IDを使用して起動設定を作成する。

新しく作成された起動設定と、複数のAZを使用した2つのウェブサーバーの希望する容量を使用して、Auto Scalingグループを作成する。

ALBを使用してAuto Scalingグループ全体でトラフィックをルーティングする。

 

解説:

起動時にAuto ScalingとALBを備えたAMI IDを使用した起動設定は、需要に応じてスケーラビリティを有効にできる。

また複数のAZで構成されたAuto Scalingは高可用性を提供する。

 

Auto Scalingグループでロードバランサーを使用するロードバランサーは、Auto Scalingグループへの全ての受信ウェブトラフィックの1つの通信先として機能する。

グループにインスタンスが追加されたら、ローバランサーにそのインスタンスを登録する必要がある。

登録しないとそのインスタンストラフィックがルーティングされない。

グループからインスタンスが削除されたら、ロードバランサーからそのインスタンスを登録解除する必要がある。

解除しないとそのインスタンストラフィックが引き続きルーティングされる。

docs.aws.amazon.com