見出し画像

AWS 認定ソリューションアーキテクトプロフェッショナル問題集サンプル

はじめに

問題集4は20問分の無料サンプルになります。

問題1

EC2インスタンス上でアプリケーションを実行していて、ユーザーが事前署名されたURLを使用してプライベートS3バケットからファイルをダウンロードできるようにしています。URLを生成する前に、アプリケーションはS3にファイルが存在するかどうかを確認しなければなりません。アプリケーションはどのようにAWSの認証情報を使用してS3バケットに安全にアクセスするべきでしょうか?

A. AWSアカウントのアクセスキーを使用して、アプリケーションは、アプリケーションのソースコードから認証情報を取得します。

B. アプリケーション用にS3バケットへの一覧取得を許可する権限を持つIAMユーザーを作成する。そのIAMユーザーでインスタンスを起動し、EC2インスタンスのユーザーデータからIAMユーザーの資格情報を取得する。

C. S3バケット内のオブジェクトへの一覧取得を許可するEC2用のIAMロールを作成する。ロールを使いインスタンスを起動し、EC2インスタンスのメタデータからロールの資格情報を取得します。

D. S3バケットへの一覧取得を許可するパーミッションを持つアプリケーション用のIAMユーザーを作成します。アプリケーションは、アプリケーションの利用者にのみ読み取りアクセスを許可するパーミッションを持つ一時ディレクトリからIAMユーザーの資格情報を取得します。

問題2

あなたの会社は、複数の国のユーザーをサポートするソーシャルメディアサイトをホストしています。あなたは、最近アクセスされたコンテンツや、ウェブサイトのレイテンシーに敏感な部分のために複数のリージョンを活用したアプリケーションの高可用性な設計をするように依頼されました。アプリケーションの中で最も遅延に敏感なコンポーネントは、ウェブサイトのパーソナライゼーションと広告の選択をサポートするために、ユーザーの好みを読み取ることです。アプリケーションを複数のリージョンで実行することに加えて、どのオプションがこのアプリケーションの要件をサポートしますか?

A. S3、CloudFrontからユーザーコンテンツを配信し、各リージョンのELB間でRoute53のレイテンシベースのルーティングを使用。各リージョンのローカルDynamoDBテーブルからユーザー設定を取得し、SQSでユーザー設定の変更を取り込み、各テーブルへの更新を共有する。

B. S3 Copy APIを使用して、最近アクセスしたコンテンツを複数のリージョンにコピーし、各リージョンでS3、CloudFrontの動的コンテンツ、ELBからユーザーコンテンツを提供する。 各リージョンのElastiCacheクラスタからユーザー設定を取得し、SNS通知を利用してユーザー設定の変更を各リージョンのワーカーノードに伝播する。

C. S3 Copy APIを使用して、最近アクセスしたコンテンツを複数のリージョンにコピーし、各リージョンのELB間でS3、CloudFront、Route53のレイテンシベースのルーティングからユーザーコンテンツを提供します。DynamoDBテーブルからユーザー設定を取得し、SQSを活用してユーザー設定の変更を取り込み、DynamoDBの更新を伝播する。

D. S3、動的コンテンツを持つCloudFront、各リージョンのELBからユーザーコンテンツを提供する。各リージョンのElastiCacheクラスタからユーザー設定を取得し、Simple Workflow(SWF)を活用して、中央管理DBから各ElastiCacheクラスタへのユーザー設定の伝播を管理する。

問題3

複数のデータセンターにある既存のオンプレミスのリソースと、S3バケットから提供される静的コンテンツに依存する高可用性のアプリケーションをサポートするために、2つの既存のデータセンターをAWSに仮想的に拡張することを依頼されました。現在の設計では、CGWとVGWの間にデュアルトンネルVPN接続を採用しています。あなたの会社のアーキテクチャのどのコンポーネントが、潜在的な単一障害点を表しており、ソリューションの可用性を高めるために変更を検討すべきでしょうか?

A. 別のAZに別のVGWを追加し、別のデュアルトンネルVPN接続を作成する。

B. 別のデータセンターに別のCGWを追加し、別のデュアルトンネルVPN接続を作成する。

C.
別のAZに2台目のVGWを追加し、別のデータセンターにCGWを追加して、別のデュアルトンネルを作成します。

D.
変更の必要はない、すでに、高可用性なネットワーク・アーキテクチャである。

問題4

ある会社では、eコマースのWebアプリケーションを運営しています。このアプリケーションは、ELB Application Load Balancerの後ろにあるAmazon EC2インスタンス上で実行されています。インスタンスは、複数のEC2が複数のAZにまたがりAuto Scalingグループで実行されています。ユーザーは、会社全体の異なる部門の複数の商品を一括で注文することができます。各商品について、Webアプリケーションは、関連する部門の注文サービスを内部で呼び出しています。注文サービスは、eコマースのWebアプリケーションと同じアーキテクチャパターンを持っています。注文サービスのバグにより、これらのサービスへのリクエストが定期的に失敗します。これらの失敗は、注文全体の失敗の原因となるため、ユーザーエクスペリエンスの低下を招いています。どうアーキテクチャを変更したら購入プロセスをより強固なものにするでしょうか?

A. WebアプリケーションのALBの前にAmazon API Gateway APIを作成します。ウェブアプリケーションへのリクエストをスロットルするようにAPIを設定する。注文サービスごとにAmazon ElastiCacheを設定し、サービスへの呼び出しをキャッシュする。注文サービスを呼び出す前にキャッシュをチェックするようにWebアプリケーションを変更する。

B. WebアプリケーションのAuto Scalingグループの最大台数を大きくする。WebアプリケーションのAuto Scalingグループの起動設定で、インスタンスタイプのサイズを大きくする。注文サービスのロードバランサーをNLBに切り替える。

C. 各注文サービスのためのAmazon SQSキューを作成する。購入のためのすべてのデータを適切な注文キューに送信するようにWebアプリケーションを変更する。サービスをAWS Lambda関数として書き換え、注文キューをLambda関数のイベントソースとして設定する。

D. Auto Scalingグループの最大台数を増やす。バースト可能なEC2インスタンスファミリーに切り替え、Auto Scalingグループの起動設定でインスタンスタイプのサイズを小さくする。注文サービスのロードバランサーをNLBに切り替える。

問題5

あるユーザーがモバイルアプリケーションを作成し、特定のデータを取得するためにDynamoDBを呼び出しています。そのアプリケーションは、モバイルからDynamoDBに接続するために、DynamoDB SDKとルートアカウントのアクセス/シークレットアクセスキーを使用しています。このシナリオにおけるセキュリティのベストプラクティスに関して、以下の記述のうち、正しいものはどれか。

A. ユーザーは、各モバイルアプリケーション用に個別のIAMユーザーを作成し、それを使ってDynamoDBへのアクセスを提供する必要がある。

B. ユーザーはDynamoDBとEC2にアクセスできるIAMロールを作成する必要がある。EC2にロールをアタッチし、モバイルからのすべてのコールをEC2経由でルーティングする。

C. アプリケーションは、Google、Amazon、FacebookなどのIDプロバイダーを使ったDynamoDBへの呼び出しできるWeb IDフェデレーションを持つIAMロールを使用する必要がある。

D. DynamoDBにアクセスできるIAMロールを作成し、モバイルアプリケーションにアタッチする。

問題6

B社は、モバイル端末向けの新しいゲームアプリを発売します。ユーザーは既存のSNSのアカウントを使ってゲームにログインし、効率的にデータの取り込みます。B社では、モバイルアプリからScore Dataという名前のDynamoDBテーブルにプレイヤーデータとスコア情報を直接保存したいと考えています。ユーザーがゲームを保存すると、ゲーム状態のS3バケットに進捗データが保存されますが、DynamoDBやS3にデータを保存するための最適な方法は何ですか?

A. DynamoDBのScore DataテーブルとWebサービス経由でモバイルアプリと通信するGameState S3バケットへのアクセスを提供するEC2ロールで起動されたEC2インスタンスを使用する。

B.
ウェブIDフェデレーションを使用し、Score DataテーブルとGame State S3バケットへのアクセスを提供するロールを引き受ける一時的なセキュリティ認証情報を使用する。

C. Login with Amazonを使用すると、ユーザーはAmazonアカウントでログインすることができ、モバイルアプリからScore Data DynamoDBテーブルとGame State S3バケットにアクセスできるようになる。

D. モバイルアプリで配信するために、Score Data DynamoDBテーブルとGame State S3バケットへのアクセスを提供するロールを割り当てられたIAMユーザーのアクセス認証情報を使用する。

問題7

ある新聞社は、Javaで書かれたウェブサイトを介して、一般の人がその過去の新聞を検索したり、個々の新聞ページを検索したりすることができるオンプレミスのアプリケーションを持っています。古い新聞をJPEG(約17TB)にスキャンし、光学式文字認識(OCR)を使用して商用の検索サービスを作成しています。ホスティング・プラットフォームとソフトウェアは現在寿命を迎えており、この会社はアーカイブをAWSに移行し、コスト効率の良いアーキテクチャを構築しつつも、可用性と耐久性を考慮した設計にしたいと考えています。以下のうちどれが最も適切でしょうか?

A. S3 1ゾーン - 低頻度アクセスを使用してスキャンしたファイルを保存・提供し、EC2インスタンスに商用検索アプリケーションをインストールし、オートスケーリングとElastic Load Balancerで構成する。

B. CloudFormationを使って環境をモデル化する。Apacheウェブサーバとオープンソースの検索アプリケーションを実行しているEC2インスタンスを使用し、JPEGと検索インデックスを格納するために複数の標準EBSボリュームをストライピングする。

C. スキャンしたファイルの保存と提供には標準の冗長性を持つS3を使用し、クエリ処理にはCloudSearchを使用し、複数のアベイラビリティゾーンにまたがるウェブサイトのホストにはElastic Beanstalkを使用する。

D. 検索インデックスを格納するために単一のAZ RDS MySQLインスタンスを使用し、JPEG画像はEC2インスタンスを使用してウェブサイトを提供し、ユーザーが検索できるようにする。

E. エンドユーザのJPEGのダウンロードにCloudFrontディストリビューションを使用する。EC2インスタンスにWebサイト用のJavaコンテナと一緒に現行の商用検索製品をインストールし、DNSラウンドロビンでRoute53を使用します。

問題8

あるソリューションアーキテクトは、データウェアハウスアプリケーションのストレージ層を設計しています。データファイルは大容量ですが、ファイルのインデックスのサイズと配置を記述したメタデータが各ファイルの先頭に静的に配置されています。データファイルは、インデックスサイズ、インデックスの位置、およびデータベースに格納されているデータファイルに関するその他のカテゴリ情報を格納するAmazon EC2インスタンスのフリートによって読み込まれます。このデータベースは、より詳細な分析のためにファイルをグループ化するためにAmazon EMRによって使用されます。このワークフローのために、最もコスト効果が高く、高可用性の高いストレージ・ソリューションは以下のどれでしょうか?

A. データファイルをS3に保存し、Range GETを使用して各ファイルのメタデータにアクセスすることで、関連するデータをインデックス化する。

B. EC2フリートとEMRノードがマウントしたEFSにデータファイルを格納する。

C. データファイルをEBSボリュームに保存し、EC2フリートとEMRが必要な場所にボリュームをマウントしたりアンマウントしたりできるようにする。

D. データファイルの内容を、メタデータ、インデックス、データを独自のキーとしてAmazon DynamoDBのテーブルに格納する。

問題9

あなたの会社はAWSのVPCに新しいドキュメントサーバをセットアップしたところで、非常に重要なクライアント4社にアクセス権を与えたいと考えています。これらのクライアントはAWS上にもVPCを持っていて これらのVPCを介して ドキュメントサーバへのアクセス権を付与しようと考えています。さらに、それぞれのクライアントは、他のクライアントのVPCにアクセスできないようにしなければいけません。以下の選択肢の中から正解を選びなさい。

A. 自社のVPCと各クライアントのVPCそれぞれで重複しないCIDRブロックを設定し、VPCピアリングを設定する。

B. 自社のVPCと各クライアントのVPCの間でVPCピアリングを設定し、クライアントのVPCのCIDRのIPをブロックしてお互いのアクセスを拒否する。

C. 自社のVPCと各クライアントのVPC間でVPCピアリングを設定する。各クライアント間でVPCピアリングを設定し、アクセス時間を短縮する。

D. すべてのVPCを同じCIDRで設定しますが、自社のVPCを集中型VPCにする。

問題10

ある組織では、オンプレミスのシステムのバックアップとリストアのシステムをAWSに設定しています。組織は高可用性(HA)とディザスタリカバリ(DR)を必要としていますが、コストを節約するために復旧時間が長くても構いません。DRだけでなく、コスト削減の目的を最も効果的に達成することができるのはどれですか?

A. 事前に設定されたサーバーを設定し、AMIを作成する。EIPとRoute 53を使用して、オンプレミスからAWSへの切り替えを素早く行う。

B. S3にバックアップデータを設定し、Storage Gatewayを利用して定期的にS3にデータを転送する。

C. 小規模なインスタンスを使用したAutoScalingを設定し、DRの場合はオンプレミスからAWSにトラフィックを振り分ける。

D. オンプレミスDBをEC2に一定間隔で複製し、パイロットライトと同様のシナリオを設定します。

問題11

あなたはファットクライアントアプリケーションのネットワーク接続を設計しています。このアプリケーションは、ホテルの部屋、カフェ、公共のWi-Fiホットスポット、などを使ってインターネットに接続したビジネス旅行者のために設計されています。アプリケーションをインターネット上に公開することは望んでいません。導入コストと運用コストを最小限に抑えつつ、上記の要件を満たすネットワーク設計はどれか。

A. Direct Connectを実装し、VPCへのプライベートインターフェースを作成する。パブリックサブネットを作成し、その中にアプリケーションサーバを配置する。

B. アプリケーションへのバックエンド接続を終端するSSLリスナーを使用して、Elastic Load Balancingを実装する。

C. IPsec VPN接続を設定し、設定の詳細をユーザーに提供する。VPCにパブリックサブネットを作成し、その中にアプリケーションサーバーを配置する。

D. VPCのパブリックサブネットにSSL VPNソリューションを設定し、すべてのユーザーコンピュータにSSL VPNクライアントソフトウェアをインストールし設定する。VPCにプライベートサブネットを作成し、その中にアプリケーションサーバーを配置する。

問題12

あなたの同僚の一人が退職し、あなたは彼が設定したインフラの一部を引き継ぐことになりました。そのセットアップの1つでは、彼は1つのアプリケーションに複数のコンポーネントを作成しており、すべてのコンポーネントはVPCの1つのEC2インスタンス(ELBなし)でホストされています。各コンポーネントごとに2つの別々のSSLを設定する必要があると言われました。次のうち、EC2インスタンスを1つだけ使用しながら、2つの別々のSSLを設定するのに最適なのはどれでしょうか?正しい答えを選んでください。

A. 複数のEIPを持つ複数のネットワークインターフェースを持つEC2インスタンスを作成する。

B. ACLとセキュリティグループの両方がアタッチされたEC2インスタンスを作成し、IPアドレスごとに別々のルールを持つようにする。

C. 複数のサブネットが接続されたEC2インスタンスを作成し、それぞれが個別のIPアドレスを持つようにする。

D. NATアドレスを持つEC2インスタンスを作成する。

問題13

AWS Organizationsであなたの会社のアカウントを階層的に設定しました。今度は、ある組織(OU)から別の組織にアカウントを移動する必要があります。これをできるだけ手間をかけずに行うにはどうすればいいのでしょうか?

A. することはできない。アカウントを削除して、必要な組織にアカウントを再作成する。

B. アカウントに新しい組織への入会をリクエストしてもらう。

C. まず、組織からアカウントを削除し、スタンドアロンのアカウントにする。アカウントをスタンドアロンにした後、別の組織に参加するために招待することができる。

D. 新組織への招待をアカウントに送ってもらう。

問題14

ある企業では、アプリケーションをデータセンターからAWSに移行しています。アプリケーションは現在、サードパーティのサービスのアクセスキーをローカルファイルに保存します。アプリケーションはAmazon EC2インスタンス上にデプロイ予定です。移行の一環として アプリケーションは、API キーをより安全にする必要があります。具体的には各 (開発、テスト、本番などの)環境は、その独自の API キーを使用します。すべての API キーへのアクセスのリクエストは 監査目的でロギングされなければいけません。APIキーは、保管時にはCMKを使用して暗号化されなければいけません。アクセス権限は細かく設定する必要があります。例えば、開発環境では、本番用のAPIキーにアクセスできません。これらの要件を満たすための最も安全な方法は何ですか?

A. APIキーごとにAWS Systems Manager Parameter Storeのセキュア文字列を作成する。KMSのCMKを使用してセキュア文字列を暗号化する。CMKに対してはkms:decryptアクション、環境のAPIキーに対してはSSM:getparameterアクションの権限を持つIAMユーザーを作成する。そのユーザーのアクセスキーを、各Amazon EC2インスタンス上のクレデンシャルストアに格納する。

B. APIキーごとにAWS Systems Manager Parameter Storeのセキュア文字列を作成する。顧客が管理するAWS KMSのCMKを使用してセキュアな文字列を暗号化する。CMKに対してはkms:decryptアクション、適切なAPIキーに対してはSSM:getparameterアクションの権限を持つ各環境用のIAMロールを作成する。適切なIAMロールで各Amazon EC2インスタンスを起動する。

C. AWS KMSのカスタマーマスターキー(CMK)で暗号化したAmazon DynamoDBのテーブルを作成する。各APIキーをテーブル内の別のアイテムに格納する。CMKに対してはkms:decryptアクション、正しいアイテムに対してはdynamodb:getitemアクションの権限を持つ環境ごとにIAMロールを作成する。適切なIAMロールで各Amazon EC2インスタンスを起動する。

D. ユーザーデータを利用して、起動時に各Amazon EC2インスタンスに適切なAPIキーを渡す。各EC2インスタンスに、顧客管理のAWS KMSカスタマーマスターキー(CMK)のkms:encryptとkms:decryptアクションの権限を持つIAMロールを割り当てる。ユーザーデータスクリプトで、CMKを使用してAPIキーを暗号化します。暗号化されたAPIキーを各EC2インスタンスに保存する。

問題15

あなたのお客様はAWS上に動画オンデマンドストリーミングプラットフォームを実装しています。要件は、クライアントデバイスとして、Android、PCなどの複数のデバイスに対応し、標準クライアントプレーヤーを使用し、ストリーミング技術(ダウンロードではない)を使用し、費用対効果の高いスケーラブルなアーキテクチャを採用していることです。

A. オリジンサーバーとしてS3に動画コンテンツを保存し、Amazon CloudFrontディストリビューションにストリーミングオプションを設定して動画コンテンツをストリーミングする。

B. 動画コンテンツをオリジンサーバーとしてS3に保存します。CloudFrontのディストリビューションにダウンロードオプションを設定して、動画コンテンツをストリーム配信する。

C. Amazon Elastic Compute Cloud(EC2)上のストリーミングサーバー(例:Adobe Media Server)を起動し、動画コンテンツをオリジンサーバーとして保存する。Amazon CloudFrontのディストリビューションにダウンロードオプションを設定して、動画コンテンツをストリーミング配信する。

D. EC2上のストリーミングサーバー(例:Adobe Media Server)を起動し、動画コンテンツをオリジンサーバーとして保存します。Amazon EC2上のストリーミングサーバーをエッジサーバーとして起動し、動画コンテンツをストリーミングするために必要な分量を設定する。

問題16

あなたはAuto Scalingを使ったWEBサーバの前にELBを活用したWEBアプリケーションを運用しています。データベースはRDS上で動作しています。このアプリケーションは、技術的な記事とそれに対するコメントを書き込む機能を提供しており、一般的には記事に対する書き込みよりも記事の閲覧数の方が多いです。時には、サイト上の記事の閲覧数が非常に多くなり、その結果、大量のトラフィックが発生し、サイトがダウンする原因となります。このようなイベント時に可用性を維持しながら、インフラへの圧力を軽減するために何ができるでしょうか?(3つ選択してください)

A. 記事の配信にCloudFrontを使用する。
B. リードのトラフィック用にDBのリードレプリカを追加する。
C. 最も頻繁に使われるデータのキャッシングのためElastiCacheを使用する。
D. SQSを使用して、技術的な記事のリクエストをキューに入れ、キューから配信する。
E. Route 53のヘルスチェックを使いS3バケットのエラーページへフェイルオーバーするようにする。

問題17

AWS上に大規模な機密文書のWEBサーバを構築し、そのための文書はすべてS3上に保管しようとしています。要件の一つは、S3に直接パブリックアクセスできないことであり、これを実現するためにはCloudFrontを使用する必要があります。以下のうち要件を満たしているものはどれでしょうか。

A. CloudFront用のIAMユーザーを作成し、そのIAMユーザーにS3バケット内のオブジェクトへのアクセスを許可する。

B.
CloudFront用のOrigin Access identity (OAI)を作成し、そのOAlにS3バケット内のオブジェクトへのアクセスを許可する。

C.
ドキュメントが格納されているバケットごとに個別のポリシーを作成し、その中でCloudFrontのみにアクセスを許可する。

D.
CloudFrontディストリビューションIDをPrincipal、ターゲットバケットをAmazon Resource Name(ARN)とするS3バケットポリシーを作成する。

問題18

あなたの会社はアプリケーションはデータ変換サービスを提供しています。変換するデータを含むファイルは、まずAmazon S3にアップロードされ、その後、スポットEC2インスタンスのフリートによって変換されます。プレミアム顧客から提出されたファイルは、最優先で変換する必要があります。このようなシステムをどのように実装すべきでしょうか?

A. 優先度レベルを定義する属性を持つDynamoDBテーブルを使用する。変換用インスタンスは、テーブルをスキャンしてタスクを探し、優先度レベルで結果をソートする。

B. 優先度の高いタスクを最も近い変換用インスタンスに送信するために、Route 53 のレイテンシベースのルーティングを使用する。

C. 2つのSQSキューを使用する。1 つは高優先度メッセージ用で、もう 1 つはデフォルト優先度用です。変換用インスタンスは最初に高優先度キューをポーリングし、メッセージがなければデフォルトの優先度キューをポーリングする。

D. 単一のSQSキューを使用する。各メッセージには優先度レベルが含まれている。変換インスタンスは、優先度の高いメッセージを最初にポーリングする。

問題19

AWSのお客様が公開ブログサイトを運営しています。サイトのユーザーは月に200万件のブログエントリーをアップロードしています。ブログエントリーの平均サイズは200KBです。ブログエントリーへのアクセス率は公開から6ヶ月後には無視できるほどに低下し、公開から1年後にはほとんどアクセスがなくなります。さらに、ブログエントリーの更新率が高いのは公開後3ヶ月間で、6ヶ月後には更新されなくなる。このお客様は、CloudFrontを使ってユーザーのロードタイムを改善したいと考えています。お客様には、次のうちどれをお勧めしますか?

A. 2つの異なるバケットにエントリを複製し、S3へのアクセスをCloudFrontのIDのみに制限した2つのCloudFrontディストリビューションを作成する

B.
米欧の利用者には「US & Europe」の価格クラスで、残りのユーザーには「All Edge Locations」で別のCloudFrontディストリビューションを作成する。

C. CloudFrontのアイデンティティのみにS3アクセスを制限したCloudFront配信を作成し、ブログエントリーの場所をアップロードした月に応じてS3内に分割してCloudFrontの動作で利用する。

D. Restrict Viewer Access Forward Query Stringをtrueに設定し、最小TTLを0にしたCloudFrontディストリビューションを作成する。

問題20

あなたの会社は東京に本社を置き、世界各地に支店があります。また、日本、ヨーロッパ、アメリカの複数のリージョンで物流ソフトウェアをAWS上に展開しています。この物流ソフトウェアは3層アーキテクチャを採用しており、現在はデータの永続性を確保するためにMySQL 5.6を使用しています。各リージョンは独自のデータベースをデプロイしています。本社が利用しているリージョンでは、すべてのリージョンからデータを読み込み、全オフィスにメールで送信されるクロスリージョンレポートを計算するために、1時間ごとにバッチプロセスを実行しています。このバッチプロセスは、物流を迅速に最適化するためには、できるだけ早く完了する必要があります。この要件を満たすため、どのようなDBのアーキテクチャを構成しますか。

A. 各リージョンのデプロイは、RDS MySQLを使用して、そのリージョンにマスターを配置し、本社があるリージョンにリードレプリカを配置する。

B. 各リージョンのデプロイでは、EC2上のMySQLをリージョン内のマスターとして使用し、毎時EBSスナップショットをHQリージョンに送信する。

C. 各リージョンのデプロイでは、リージョンのマスターのRDS MySQLを使用し、本社があるリージョンに毎時ごとにRDSスナップショットを送信する。

D. 各リージョンのデプロイでは、EC2上でMySQLを使用し、リージョン内のマスターとし、S3を使用してデータファイルを毎時HQリージョンにコピーする。

E. Direct Connectを使用して、すべてのリージョンのMySQLデプロイメントをHQリージョンに接続し、バッチプロセスのネットワーク遅延を削減する。

問題1回答

EC2インスタンスが認証情報を使いAWSサービスを使う際には、IAMロールを使用するのがベストプラクティスです。EC2インスタンスがIAMロールを使うにはインスタンスのメタデータより一時認証情報を取得します。

参考URL:Amazon EC2のIAMロール

A:EC2インスタンスからアクセスキーを使ったAWSサービスの使用はセキュアではありません。アクセスキー情報が漏洩することで不正利用につながります。
B:起動するときにユーザデータを使用し、インスタンスに対象IAMユーザの認証情報(アクセスキー/シークレットキー)をインスタンスにわたすことはできますが、Aと同様に不適切です。
D:こちらもセキュアではないので不適切です。

回答:C

問題2回答

ユーザコンテンツをS3とCloudFrontを使って配信し、各リージョンのELBをレイテンシーベースルーティングのRoute53を使ってアクセスするようにします。ユーザデータは各リージョンのDynamoDBから取得し、ユーザデータの変更がある場合には変更情報をSQSにキューイングし、SQSワーカー(Lambdaなど)を使ってDyanamoDBに反映します。この構成で要件を満たすことができます。

B、C:S3 Copy APIを使用するには、最近アクセスしたコンテンツをS3へ問い合わせる必要があるので処理が遅くなります。
D:中央管理のDBは処理のボトルネックになり得ます。また、SWFはData Pipelineを使って動作することはできますが、適切な選択肢ではありません。

回答:A

問題3回答

Site-to-Site VPNはデフォルトで2つのトンネルが作成されます。AWS側(VGW)はこのトンネルで冗長化されますが、オンプレミス側(CGW)の物理機器は1台になり単一障害点(SPOF)になります。そのため、別のデータセンターともVPN接続を作成することでVPN接続を冗長化することができます。

A、C:VGWはVPCで1つしか持つことができません。
D:オンプレミス側のネットワーク機器が冗長構成である説明がないのでDは不適切と考えられます。

参考URL:AWS Site-to-Site VPN とは

回答:B

問題4回答

SQSはサービス間の疎結合をサポートすることができる耐障害性、拡張性に優れたサービスです。Webアプリケーションから注文サービスへのリクエストが失敗すると、注文自体が失敗しユーザエクスペリエンスの低下を招きます。注文サービスへ直接リクエストするのではなく、SQSへキューイングすることでサービス間を疎結合にし、注文の失敗を避けることができます。

A:スロットリングはAPIへのリクエスト流量を制限する機能になるので、ユーザエクスペリエンスを低下させる可能性があります。
B、D:Webアプリケーションのキャパシティの増強では注文サービスのバグを回避は保証できません。疎結合なアーキテクチャにする方法を検討する必要があります。

回答:C

問題5回答

まず、アプリケーションからDBへアクセスするためにアクセスキー/シークレットアクセスキーを使用することはセキュリティ的に推奨されません。WEBアプリケーションであれば、フロントエンドのEC2などにIAMロールをアタッチします。今回はモバイルアプリケーションということで、一時的な認証情報の発行のためのIAMロールを作成し、OpenIDに準拠したIDプロバイダーで認証することがベストプラクティスとなります。

A:利用者ごとにIAMユーザを個別に作成することになるので推奨されません。
B:不必要にEC2を使っているので不適切です。
D:モバイルアプリケーションに直接IAMロールをアタッチすることはできません。

回答:C

問題6回答

WEB IDフェデレーションを使用しDynamoDBにアクセスできる一時認証情報を取得することができます。設問には記載がありませんが、別途Login with Amazon、Facebook、GoogleなどのOIDC互換のIdpを使って認証する必要があります。

A:モバイルアプリケーションが認証し直接AWSリソースへアクセスできるためEC2インスタンスは必要ありません。
C:Login with Amazonを使用してもAWSリソースへのアクセス権は取得できません。
D:IAMユーザの認証情報を使ったアクセスは漏洩リスクがあるので推奨されません。

参考URL:ウェブ ID フェデレーションについて

回答:B

問題7回答

画像ファイルは耐久性にすぐれ、コスト効果も高いS3に配置します。CloudSearch は AWS におけるマネージド型サービスであり、WEBサイトまたはアプリケーション向けの検索ソリューションを容易かつコスト効率良く設定、管理、スケールすることができ高可用性です。マルチAZ構成のElastic Beanstalkも高可用性です。よって回答はCです。

A:S3 1ゾーン 低頻度アクセスはアクセス頻度は低いが、必要に応じてすぐに取り出すことが必要なデータに適しています。コストは削減できますが、1つのAZにしか保管されないため、可用性、耐久性が低いです。
B:Webサーバを冗長化していないので、可用性が低いです。また、JPEGと検索インデックスをEBSに保管しているためコスト効率も低いです。
D:MySQLはコスト面から検索インデックスやJPEGの保存に適していません。また、シングルAZは可用性の要件を満たすことができません。
E:EC2インスタンスだけでは高可用性ではありません。

回答:C

問題8回答

S3はコスト効果が高く、高可用性なオプションです。Range GETを使うことで、ファイル全体を読み込まなくてもファイルのメタデータへアクセスできます。

B、D:高可用性ですが、コストがかかります。
C:可用性が担保されていなく、コストもかかります。

参考URL:オブジェクトの取得

回答:A

問題9回答

VPCピアリングでクライアントと自社のVPCは通信できますが、クライアント間の通信はできません(VPCピアリングではクライアントから自社のVPCをまたいで別のクライアントへルーティングされない)。また、VPCピアリングでは同じCIDR間の通信はできませんので、重複しないようにします。

B:自社VPCでクライアントのCIDRをブロックするとすべての通信ができません。
C:各クライアント間でVPCピアリングを設定すると、各クライアント間の通信ができてしまうので、要件を満たせません。
D:すべてのVPCを同じCIDRにすると、通信することができません。

回答:A

問題10回答

コスト効果の高いDRを持つことが重要な要件であるため、バックアップと復元の戦略を採用します。復旧時間が長くなりますが、問題文では復旧時間よりコスト効果を優先すると記載があります。DRの問題は頻出ですので、DRのホワイトペーパーは目を通しておくと良いと思います。

A、C、D:B以外はすべて通常時からEC2などのAWSリソースを作成する内容となっており、コストが節約できていません。

参考URL:障害復旧を目的とした Amazon Web Services の使用

回答:B

問題11回答

この問題のポイントはアプリケーションサーバがインターネットから接続できないようにすることです。クライアントからVPCに接続するのにSSL VPNを使うことで、プライベートサブネットに配置したアプリケーションサーバにプライベート通信で接続することができます。
「すべてのコンピュータにSSL VPNクライアントソフトウェアをインストールする」とあるので、他によい選択肢があるように見えますが、他の選択肢はすべてアプリケーションサーバがインターネットからアクセスできるため、消去法的にDが正解です。

A:Direct Connectは運用(ランニング)コストが増えます。また、アプリケーションサーバがインターネットにさらされるので要件を満たせません。
B:ELBのバックエンドにアプリケーションサーバが配置されていますが、ELBを通してインターネットからアクセスできるため不適切です。
C:Aと同様にアプリケーションサーバがパブリックサブネットに置かれ、インターネットにさらされるので要件を満たせません。

回答:D

問題12回答

EC2インスタンスは複数のENIをアタッチすることができ、それぞれのIPアドレスで別々のSSLを使ったコンポーネントを実行することができます。EC2インスタンスに複数のIPアドレスを設定するときのユースケースとしては以下があります。

次のような場合、複数の IP アドレスを VPC 内のインスタンスに割り当てると便利です。
・1 つのサーバーで複数の SSL 証明書を使用し、各インターフェイスに各 IP アドレスに割り当てることで、1 つのサーバーで複数のウェブサイトをホストする。
・各ネットワークインターフェイス用に複数の IP アドレスを持つネットワークアプライアンス (ファイアウォールやロードバランサーなど) を運用する。
・インスタンスでエラーが発生した場合に、セカンダリ IP アドレスをスタンバイインスタンスに再割り当てすることによって、内部トラフィックをスタンバイインスタンスにリダイレクトする。

参考URL:複数のIPアドレス

回答:A

問題13回答

移行する方法は、既存の組織からアカウントを削除し、新しい組織にアカウントを移動します。
注意点としては以下のとおりです。

Organization からメンバーアカウントを削除すると、Organization と統合されている AWS サービスへのメンバーアカウントのアクセスは失われます。場合によっては、メンバーアカウントのリソースが削除されることがあります。たとえば、アカウントが組織から脱退すると、StackSets を使用して作成された AWS CloudFormation スタックは StackSets の管理から削除されます。スタックによって管理されるリソースを削除するか、保持するかを選択できます。

参考URL:AWS Organizations の組織間でアカウントを移動する方法

回答:C

問題14回答

AWS Systems Manager Parameter StoreはKMSと統合されているので、KMSのCMKを使って任意の文字列を暗号化することができます。CMKで暗号化したAPIキーをParameter Storeに保管し、CMKとParameter Storeにアクセスする権限をセットしたIAMロールをEC2インスタンスへアタッチすることで、クレデンシャルをハードコーディングすることなくAPIキーを使用することができます。

A:IAMユーザを使ってアクセスはベストプラクティスではありません。
C:DynamoDBでセキュアなデータを管理するのは推奨されません。
D:ユーザデータはEC2インスタンス起動時に実行されるスクリプトです。ユーザデータでセキュアなデータを管理するのは推奨されません。

回答:B

問題15回答

要件では、複数のデバイス上でオンデマンドにストリーミングできるプラットフォームの構築が求められています。CloudFrontでは、ダウンロードオプションの設定で、動画のストリーミング配信を設定することができます(B)。

参考URL:CloudFront を使用したビデオオンデマンドおよびライブストリーミングビデオ

A:ストリーミングオプションでRTMPによるストリーミングが設定できますが、iOSなどのデバイスで動作しません。なお、2020年末にAdobeがRTMPのサポートを停止したことに伴い、CloudFrontにもこのオプションはありません。
C、D:要件ではコスト効果が高いものとなっており、S3を使用する選択肢に比べこれらはコスト効果が悪いです。

回答:B

問題16回答

本問題のポイントは、コメントの書き込みによるトラフィックは少なく、記事の閲覧に対するトラフィックが多い点で、記事の配信の可用性を高める設計を検討します。
CloudFrontはエッジロケーションから記事を配信できるため、負荷を下げることができます(A)。リードレプリカはRDSに対する読み込みのトラフィックを分散することができるため、要件にあっています(B)。また、ElastiCacheはRDSよりも高速な読み込みを提供できるため、頻繁にアクセスが発生するデータを格納しておくことでRDSのトラフィックを下げることができます(C)。

D:SQSはコンポーネント間を疎結合にしたり、DBへの書き込みを緩衝する場合に使われるので不適切です。例えばコメントの書き込みで過負荷が発生するのであればSQSを採用することも検討できます。
E:エラーページの提供は可用性を高めることにはつながっていないため不適切です。

回答:A、B、C

問題17回答

Origin Access Identityは、ディストリビューションに関連付けられたCloudFrontの特別なユーザーです。Web配信の場合はS3に関連付けられています。OAIを使うことで、S3のコンテンツを公開せずにコンテンツを公開することができます。

回答:B

問題18回答

優先して処理したいファイルとそうではないファイルがあった場合、それぞれの用途の2つのSQSキューを用意し、高優先度のキューから処理していくとで要件を実装することができます(C)。

A:DynamoDBで同様のことは実装できますが、SQSに比べるとコストがかかる点と、DynamoDBのスループットも考慮しなくてはいけないので不適切です。例えば、優先度が10段階になったり他の条件で処理順を変えるなど、要件がより複雑になった場合にはDynamoDBを検討してもよいと思います。
B:優先度の高低でルートを分ける実装はほとんどメリットがないと思われます。
D:SQSから優先度レベルを指定してポーリングすることはできないので不適切です。

回答:C

問題19回答

CloudFrontではアクセスパターンによってキャッシュ動作を変えることができます。例えばパスによってキャッシュ動作を変更すれば直近公開されたものだけをキャッシュされるようにすることができます。これによりロードタイムを改善することができます。

参考URL:Cache Behavior Settings

A:アクセスパターンとそれに応じたCloudFrontのキャッシュに対処していないため、不適切です。
B:こちらもアクセスパターンに応じた動作について言及されていないので不適切です。
D:最小のTTLを0にするとキャッシュしなくなるので不適切です。

回答:C

問題20回答

各支店の各リージョンにデプロイしたRDSのデータを、いかに早く本社のあるリージョンに転送するかを求められています。リードレプリカは読み取り専用のRDSの複製を作成する機能ですが、クロスリージョンでも作成できます。クロスリージョンリードレプリカを使用することで各リージョンのデータを本社のリージョンで参照することができ、レポートを作成することができます。

B、C:スナップショット作成、データ転送、リストアという作業を1時間のバッチ処理ごとに実行する必要があり、時間がかかるため、不適切です。
D:こちらも同様にデータ転送、リストアという作業が発生します。

回答:A

この記事が気に入ったらサポートをしてみませんか?