TxKxZxWx's blog

AWS SAA取得に向けて学習

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

例題1:

ELBの背後にAuto ScalingグループのEC2インスタンスウェブアプリケーションを設計している。

EC2インスタンスはS3バケット内の静的コンテンツにアクセスする。

アプリケーションの負荷が指定されたしきい値に達すると、Auto Scalingグループは追加の負荷を処理するために新しいEC2インスタンスをスケールアップする。

Auto Scalingグループを使用して新しいEC2インスタンスがデプロイされた場合、インスタンスがS3バケット内の静的コンテンツにアクセスできるようにする最適な方法は?

 

答え:

Auto Scalingグループを設定して、S3バケットへの読み取り専用アクセス許可を持つIAMロールをインスタンスに付与して起動する。

 

解説:

IAMロールをAuto Scalingに設定できる。

起動されたEC2インスタンスにIAMロールを関連づけることでリソースへのアクセスを許可できる。

 

Auto Scaling グループ内のインスタンス用に、起動テンプレートまたは起動設定を作成し、インスタンスに関連付けるインスタンスプロファイルを選択する必要がある。

インスタンスプロファイルは、インスタンスを起動したときに Amazon EC2 が IAM ロールをインスタンスに渡すことを許可する IAM のコンテナ。

まず、AWS リソースにアクセスするために必要なアクセス権限のすべてを持つ IAM ロールを作成する。

次に、インスタンスプロファイルを作成し、そのプロファイルにロールを割り当てる。

docs.aws.amazon.com

 

 

 

 

例題2:

クライアントは、フルフィルメントサービスに注文を送信する決済処理サービスを構築している。

これらのサービスは、様々なレベルのスループットがある。

クライアントは、これらのコンポーネント間でリクエストを分離して、ホリデーシーズンのピーク時にバーストたらフィックをより適切に処理するために最適なAWSサービスは?

 

※フルフィルメント(Fulfillment)サービスとは、通信販売やECサイトにおいて発生する、受注、決済、ピッキング、配送などの一連の業務を総称する言葉。

 

答え:

Amazon SQSを使用して、2つのサービス間でメッセージを送信する。

 

解説:

Amazon SQSはコンポーネント間のリクエストの分離に役立つ。

SQSメッセージキューイングは、他のAWSサービス(Redshift, DynamoDB, RDS, EC2m Lambda, S3など)とともに使用できる。

これにより配信されたアプリケーションのスケーラビリティと信頼性がさらに向上する。

aws.amazon.com

 

 

 

 

例題3:

アプリケーションは、全てのデータをEBSボリュームに保存している。

全てのEBSボリュームは、複数のAZに渡って永続的にバックアップする必要がある。

ボリュームをバックアップする最も回復力のある方法は?

 

答え:

通常のEBSスナップショットを取得する。

 

解説:

EBSボリュームはAZに固有であり、異なるAZに移動できないため、スナップショットを使用してバックアップする。

docs.aws.amazon.com

 

 

 

 

例題4:

手荷物管理を専門とする会社で働いている。

全ての荷物にGPSバイスを取り付け、1秒毎に荷物の座標を配信している。

これらの座標を複数のソースからリアルタイムで処理する必要がある。

レイテンシーでデータを処理する最適なAWSサービスは?

 

答え:

Amazon Kinesis

 

解説:

Amazon Kinesisは、複数のソースから高頻度でデータを取り込み、低レンテンシーのデータ処理を行うことができる。

aws.amazon.com

 

 

 

 

例題5:

顧客からの注文数が急増する可能性が高いアプリケーションを設計している。

RDSデータベースに書き込まれる前に顧客の注文が失われないようにする最適な方法は?

 

答え:

  • 保留中の注文数に基づいて処理ノードの数をスケーリングする。
  • 注文をAmazon SQSキューに書き込む。

 

解説:

SQSは注文をキューに入れて紛失を防ぐことができる。

また保留中の注文数(キュー)に基づいて処理ノードの数をスケーリングすることで需要に対処できる。

 

※SQSに基づくスケーリング

SQSキューの需要の変化に応じてAuto Scalingグループをスケールできる。

SQSは、分散されたソフトウェアシステムとコンポーネントを統合、および分離することができる、安全で耐久性があり、利用可能なホストされたキューを提供する。

docs.aws.amazon.com

 

 

 

 

例題6:

比較的短文なニュース記事をホストする3層アプリケーションが作成されている。

このアプリケーションは、何百万人ものユーザーにサービスを提供する必要がある。

ニュース速報が発生した場合でも、データベースのパフォーマンスに大きな影響を与えることなく処理する必要がある。

コストを最小限に抑えながら、これらの要件を満たす方法は?

 

答え:

Amazon DynamoDB Accelerator (DAX)を使用して、データベースへの読み取り操作をキャッシュする。

 

解説:

データベースに影響を与えずに大幅に読み込みパフォーマンスを拡張するには、Amazon DynamoDB Accelerator (DAX)を使用する。

コンテンツをキャッシュし、DynamoDBに影響を与えずに高いパフォーマンスを提供する理想な方法。

 

Amazon DynamoDB Accelerator (DAX) は、フルマネージド型高可用性インメモリキャッシュで、Amazon DynamoDB 用に特化している。

1 秒あたりのリクエスト数が数百万件になる場合でも、ミリセカンドからマイクロセカンドへの最大 10 倍のパフォーマンス向上を実現する。

aws.amazon.com

 

 

 

 

例題7:

領収書の画像を保存して経費を追跡するモバイルアプリを設計している。

S3に画像を保存する予定。

ウェブサーバー経由で画像をアップロードすると、大量のトラフィックが発生してサーバーに過大な負荷がかかる。

トラフィックを抑えるために、直接モバイルアプリから領収書の画像をS3へ保存することを考えている。

最も効率の良い方法は?

 

答え:

署名付きURLを使用してS3に直接アップロードする。

 

解説:

署名付きURLは、ウェブサーバーを経由せずに画像をS3バケットに直接アップロードし、それによってサーバーの負荷を軽減するのに役立つ。

 

※ 署名付き URL の作成者がそのオブジェクトへのアクセス許可を持っている場合、署名付き URL を使用して、URL で識別されるオブジェクトにアクセスすることができる。

つまり、オブジェクトをアップロードするための署名付きURLを受け取った場合、オブジェクトをアップロードすることができるのは、署名付き URL の作成者がそのオブジェクトをアップロードするのに必要な権限を持っている場合のみ。 

docs.aws.amazon.com

 

 

 

 

例題8:

AWSリージョン内のデータをネイティブに暗号化するサービスは?

 

答え:

 

解説:

DynamoDBに保存される全てのユーザーデータ は、保管時に完全に暗号化される。

DynamoDBの保管時の暗号化は、AWS KMSに保存された暗号化キーを使用して保管時に全てのデータを暗号化することにより、拡張したセキュリティを提供している。

docs.aws.amazon.com

 

Storage Gatewayを使用して保存されるデータでは、AWSクラウドストレージサービスに組み込まれた耐久性と安全という利点を活用できる。

Storage GatewayAWSに転送するデータは全て、転送時、およびAWSへの保管時に暗号化される。

aws.amazon.com

 

保管されるデータは全て、サーバー側で暗号化される。

Amazon S3 Glacierによって、キー管理とキー保護が自動的に行われる。

aws.amazon.com

 

 

 

 

例題9:

AWS APIを呼び出す必要があるアプリケーションをEC2にデプロイしている。

アプリケーションに認証情報を安全に渡す最適な方法は?

 

答え:

EC2インスタンスのIAMロールを使用する。

 

解説:

EC2インスタンスにIAMロールをアタッチすることで、認証情報を渡すことができる。

EC2 インスタンスで実行されるアプリケーションはそれらの AWS API リクエストに AWS 認証情報を含める必要がある。

開発者は EC2 インスタンス内に直接 AWS 認証情報を保存し、そのインスタンス内のアプリケーションに対してそれらの認証情報の使用を許可できる。

しかし、開発者は認証情報を管理し、ローテーション時になると各 EC2 インスタンスに渡して、各インスタンスを更新する必要がある。

docs.aws.amazon.com

 

 

 

 

例題10:

SSH経由でEC2インスタンスに接続できない場合、接続を復元するためにどの項目をチェックすれば良いか?

 

答え:

接続元のIPからポート22を介してインバウンドトラフィックを許可するために、インスタンスのセキュリティグループを設定する。

 

解説;

SSHポートの番号は22。

セキュリティグループはステートフル。

アウトバウンドルールにかかわらず、許可されたインバウンドトラフィックのアウトバウンドへの通信、またその逆を許可する応答を出す。

したがって正解は「接続元のIPからポート22を介してインバウンドトラフィックを許可するために、インスタンスのセキュリティグループを設定する。