おっさん社内SEエンジニアの勉強ブログ

勉強記録のブログとなります。

AWS認定学習記録-模擬試験-模擬試験1回目-RDSの復習

ここ最近大分体調的に参ってしまい更新が滞り、久しぶりの更新となります。

単元ごとに設問と回答および解説の復習で見直しノートとなります。
実際の問題などは講座を購入しチャレンジしてみて下さい。

今回のテーマ:模擬試験1回目-RDSの復習

RDS

設問(No2):

あなたはソリューションアーキテキトとして、
AWSを利用した情報共有の仕組みを検討しています。
ストレージとしてはSMBプロトコルによるデータ転送を実施することが必要です。

回答:

解説:

Amazon EFS:

S3:

EBS:

  • EC2と共に使用するブロックストーレージサービスで、単一サービスではデータ転送時に利用できないため対象外

設問(No6):

ある企業は自社の物流センターでモノの流れを把握するために、IoTセンサーに基づいたデータ分析を行っています。
データはデフォルト設定でKinesisストリームに送信されて、ストリームデータは数日かけてS3に送信されます。
しかしながら、処理は正常に動いているにもかかわらず、S3の保存されているデータを確認すると、
IoTセンサーから取得されているデータが全て送られていませんでした。
IoTセンサーからのストリーミングデータは取得されているようです。

考えられる理由を選択してください。

回答:

  • デフォルトではデータレコードがKinesisストリームに投入されてから24時間以内までアクセスできるように設定されている

解説:

  • データレコードはKinesisストリームに加えられからデフォルトは24時間以内までアクセスができる設定
  • 問題文の構成上ストリームデータは処理のため数日かけてS3へ送信
  • 24時間経過したデータにアクセスできず、すべてのデータが送られていない状況
  • IoTセンターからストリーミングデータは取得されており、IoTデータの取得範囲設定は無関係

設問(No9):

ある会社のアプリケーションはバックエンドのデータレイヤーにDynamoDB、
フロントエンド開発にJavascriptを使用するように構築されています。
アプリケーションの使用中に、データレイヤーのDynamoDB領域に一時的なアクセス集中があることが分かりました。

費用効果が高くスケーラブルなアーキテクチャを提供する構成を選択してください(2つ選択してください。)

回答:

  • SQSメッセージからDynamoDBに書き込む高2連携し、一時的なアクセス集中に対応できるように構成する
  • DynamoDBにAutoScalingを適用し、一時的なアクセス集中に対応できるようように構成する

解説:

  • SQSを使用するとクラウドアプリケーションにおコンポーネントを分離し調整が可能で費用帯効果がよくなる
  • SQSを利用することでキューイングによってDynamoDBへの負荷処理を下げる
  • DynamoDBにAuto Scalingを設定し一時的な負荷に対しスケーリングすることで高負荷に対応可能

Amazon SQS(サーバーレスアプリのためのメッセージキューサービス)| AWS

補足:

  • DynamoDBをマルチAZ構成で起動する機能は存在しない
  • DynamoDBはグルーバルセカンダリーインデックスを付与すると複雑なクエリ処理が可能
  • 単純なスケールアップは利用料が高額なのでSQSを活用しコスト最適化を考慮

設問(No10):

B社の開発グループではAWSで構築しているアプリケーションで負荷テストを行っています。
RDS MySQL DBインスタンスをテストしている間、100%のCPU使用率に達すると、アプリケーションは応答しなくなることが分かりました。
このアプリケーションは読み取り処理が重いようです。

この問題を解決するためにデータ層を拡張する最適な方法はどれですか(2つ選択してください)。

回答:

  • RDS DBインスタンスにリードレプリカを追加し、アプリケーションの読み込み負荷を分散する
  • 複数のRDS DBインスタンスを構築し、データをShardingする

解説:

  • リードレプリカ
    ・データベースインスタンスのパフォーマンスと耐久性を強化
    ・読み取りが多いデータベースワークロードに対し、単一のDBインスタンスの容量制限以上に弾力的なスケールアウトが容易

  • Sharding
    ・データベース内の複数テーブルを分割
    ・リクエスト増加などで単一のマスターDBの運用で限界があるとき一定のアクセスに従いデータを複数DBに振り分けをする

  • RDSストレージに対するAuto Scaling
    ・データベースのワークロードに応じてストレージ容量がダウンタイムなしで自動的に拡張可能
    ・問題はCPUの負荷に対する対策のため考慮外

  • マルチAZ構成
    ・一方のAZのRDSが停止した際もう一方へ移行ができる冗長構成
    ・もしもの時(F/Oなど)はシステムを停止する構成
    ・問題は、読み取り速度に対する対策のため考慮外

設問(No11):

ある会社はELBから結合されたログファイルを分析できるようにアプリケーションを構築しています。
あなたはソリューションアーキテクトとして、AWS環境でログを収集し、
ログファイル分析を実施するための構成を検討しているところです。

この要求に最適なサービスを選択してください。

回答:

  • S3に対しELBログファイルを収集し、EMRでログ解析をする

解説:

  • ログファイルの場所はS3が適切
  • Amazon EMR
    ・動的にスケーラブルでEC2全体で膨大なデータ処理を簡単・高速・費用対効果の高いマネジードHaddopフレームワークを提供
    ・WEBインデックス作成、データマイニング、ログファイル分析、機械学習などデータ集約型のタスクを実行
  • Kinesis Analyticsはストリーミングデータを標準SQLでリアルタイムなデータ処理を行う

設問(No21):

B社は主にスマホ向けのゲームアプリケーションを開発しているゲーム専門のアプリ開発業者です。
現在開発中のゲームではAWSのEC2インスタンスにサーバーをホストして構築しています。
あなたはソリューションアーキテクトとして、最適なデータベース処理を設計する必要があります。
要件としてゲームユーザー行動データの解析処理を高速で最小の待ち時間で実現することが求められています。

次のうち、どのサービスを選択するべきでしょうか。

回答:

  • ElastiCacheによるキャッシュ処理

解説:

  • ElastiCacheはマネージド型でインメモリDB
  • OSSのRedisやMemcached互換のインメモリデータストアをシームレスにデプロイ、運用、スケールが可能
  • 高速スループットで低レイテンシーのDBなのでインメモリ型のDBが要件

設問(No32):

ある企業のWEBアプリケーションは、一連のEC2インスタンスのWebサーバーとRDSで構成されています。
このアプリケーションは読み取り集中型のアプリケーションです。
最近の障害でアプリケーションの応答時間が長くかかり、処理に多くの時間がかかるという事象が発生しました。
あなたは運用担当者として障害を解析すると、ユーザーからの読み取りリクエストの増加によるRDSインスタンスの負荷増加によって、
アプリケーションの応答時間が長くなっていることがわかりました。

この問題を解決するための方法を選択してください(2つ選択してください)

回答:

  • RDSのリードレプリカを作成
  • RDSインスタンスタイプを高性能なものに変更する

解説:

  • 応答時間が長くなる=読み取り専用を設けてパフォーマンスを改善
  • インスタンスの負荷増加=スペックアップによるパフォーマンス改善

設問(No33):

あなたはデータベースエンジニアとして、
現在社内で利用されているデータベースをAWSクラウド環境に移行できないか検討しています。
データベースの候補として、Aurora/RDS with PostgreSQL/DynamoDBが挙げられており、
用途に応じてデータベースを選択することになりました。

DynamoDBを利用すべきユースケースを選択してください(2つ選択してください)。

回答:

  • セッションデータやメタデータの蓄積
  • Kinesisストリームが処理した一連のデータ蓄積

解説:

Amazon DynamoDB
・数ミリ秒でパフォーマンスを実現するKVSおよびドキュメントデータベース
メタデータ、セッションデータや一連のストリームデータを蓄積する際に活用

設問(No37):

ある企業はRedshiftをDWHとして利用しています。
何らかの理由でRedshiftクラスターがダウンした場合に備えて、障害回復メカニズムを用意する必要があります。
要件としては、プライマリクラスターがダウンした場合にクラスターをすぐに利用できるようにすることが求められています。

次のうちどの方法を選択するべきでしょうか。

回答:

解説:

Amazon Redshift
・高速でシンプルかつ費用対効果の高いDWHのサービス
・小規模利用からペタバイト単位の構造化データまで複雑な分析クエリ実行を分析できスケールアプトも容易に可能
・ノードという単位でリソース構成しグループという単位でクラスターを構成
・AZ構成はシングルAZ配置のみサポート ・Redshiftクラスターのクロスリージョンスナップショットを利用し、プライマリークラスターがダウンした場合、即時復旧が可能

設問(No41):

ある企業はS3に蓄積したデータをRedshiftに連携してBIソリューションとして利用するデータ解析アプリケーションを構築しています。
自社のセキュリティポリシーに準拠すると、VPCのプライベートサブネット内でのデータ利用に限定して利用する必要があります。

この要件に合致するセキュリティ設定はどれですか(2つ選択してください)。

回答:

  • Amazon Redshiftの拡張VPCルーティングを設定
  • RedshiftからS3にVPCエンドポイントからアクセスする

解説:

  • Redshiftの拡張VPCルーティングを設定することでVPC内にデータ移動を制御することが可能
  • VPCエンドポイントを利用したS3アクセスもVPC内のみにデータ移動を制御することが可能

設問(No44):

ある企業は現在利用している大規模なデータ処理の仕組みをAWSに移行したいと考えています。
現在利用しているデータベースは数百万行データという大きなデータボリュームがあり、
その内容を列集計して定期的に解析してレポーティングに利用しています。

回答:

  • Redshift

解説:

  • Redshiftは列志向データベースであり列主計に優れたDWHとした利用可能
  • レポーティングやBIなどで利用される

設問(No64):

あるソリューションアーキテクトは、
WebサーバーとなるEC2インスタンスに対してELBとオートスケーリンググループを設定して、
ステートレスなアプリケーションを構築しています。

セッションデータを格納するためのデータベースとして最適なサービスはどれですか。

回答:

  • DynamoDB

解説:

  • Amazon DynamoDB
    スキーマレスなNoSQLデータベースでありセッションデータを大量に保存する場合適している
    ・DynamoDBは裏側でAZ跨ぎのレプリケーションが自動で実行されるためデータ損失はありません
    ・I/Oスループットを調節することができるため、高付加なWebアプリケーションにも対応可能