AWS資格試験こんにちは。職業柄、AWSについても研究含めて勉強しています。Professional(ソリューションアーキテクトプロフェッショナル)の取得も目標にしているのですが、海外のサイトで模擬試験の問題とそれに対するディスカッションが普通におこなわれていました。模擬試験の問題が表にでているのはどうかとも思いますが、38問見つけたので、それぞれのリンクと簡単な個人のコメントを書きましたので、勉強しているよという人はぜひ参考にしてみてください。私のコメントは完全に個人的なもので、あやまりも多いと思います。見つけた方は教えてくれるとたすかります。ディスカッションでは答えが割れているものも多いです。ディスカッションの内容も読んでみると良い勉強になると考えています。その後の合格勉強法の記事はこちらです。問題はこちら負荷テストを行う環境をCloudFormationで作っていて、テストが終了したらスタックを削除するが、RDBに入れた結果は保持しておきたい、という要望に応える方法についての問題。DeletionPolicy属性のretainあるいはsnapshotを利用することでリソース保持ができる。問題はこちらまず前提の知識としてRPOとRTOについてしっておくとよい。次にRDSのレプリケーション方式について、押さえておく。Multi-AZのマスタースレーブのレプリケーションは同期レプリケーション。ReadReplica機能では非同期レプリケーション。AWSではリージョンをまたいでリードレプリカを作成することが可能。問題はこちらオンプレを拡張する形でAWSを使い始めたが、マネジメントコンソールへのアクセスをさせるためにIAMユーザを発行したくない場合、どのように対応するのがよいか。以下のスライドのP40がわかりやすいが、オンプレ側の認証機能を使ってマネジメントコンソールへログインするとよさそう。問題はこちらKinesisを利用してソーシャルメディアの情報を収集しているアプリケーションで、Kinesisのデータのロストを防ぐためにどうしたらよいか。Library(KCL)を利用してS3へアーカイブを作成しましょう、というものだと思う。問題はこちらファイル共有サービスで、ファイルをS3に保存しているが、その各ファイルのタイトルや説明文、公開可否などのパラメータをどう管理するとよいか。この例とは異なるがこちら参考。問題はこちらオンデマンドストリーミングかライブストリーミングかで実現方法は変わる。オンデマンドストリーミングの場合S3のファイルから実現することが可能。ライブストリーミングの場合は別途配信サーバの準備が必要。問題はこちらめずらしく非常に簡単な問題。一般的なWebアプリケーションでの可用性高める方法を理解していれば問題ない。問題はこちらCloudFormationを使ってシステムの構築を自動化した。それを1つのリージョンだけでなく、他のリージョンでも動作させたいと考えている。その場合に対応すべき項目をこたえる問題。リージョンによって変化するものを抑えておく必要がある。AZの数、イメージID、キーペアあたりは要注意である。問題はこちらグローバルに拠点を持つ会社でのインフラデザインに関する問題。この問題ではとくにCloudFrontの適用可否やActiveDirectoryをどう扱うかなどが問われている。Proの試験では案外ADに関する問題は多いので、触ったことない人も概念や構成などは覚えておくといい。Directory構築がわかりやすいので読んでおくと参考になる。問題はこちらまたしても、ADに関する問題。オンプレの変更を最小限にしつつ、AWS上のアプリケーションがADを利用できるようにするアーキテクチャを問われている。10の問題の参考資料が役に立つ。AWSのVPC上にドメインコントローラを配置するのがよいと考える。問題はこちらアーカイブしたいファイルの特徴や取り出しに必要な時間などの条件があり、あてはまる方式を考える問題。めったに取り出すことはなく、24時間以内に取得できればいいそうで、まずGlacierを利用していくでよいだろう。次は、Glacierにどのようにファイルを保存して、取り出すかが観点。自分は知らなかったのだが、Glacierではデータのレンジを指定してデータの1部を取り出すことが可能のようだ。これを使うとよさそうと考えている。問題はこちらまずはOpsWorksを簡単でいいので触って用語と概念を抑えるといい。Deploymentsの概念とそれぞれで何ができるか確認した。OSのイメージは後から変更することができず、Instanceを作るときに指定するしかない。そのため、基本的に新しいインスタンスを作って古いインスタンスを消すというのが王道になるだろう。Dは近いが、ダウンタイムをなくすために新しいインスタンスを作るのが先というので答えではないと考えている。問題はこちら観点は2つ。DBの扱いと単一障害点のサーバの扱い。レプリケーションよりは、RDSへ移行してしまったほうがいいと思う。そのつぎに単一障害点サーバだが、これを高可用にする時間がないとのことなので、なんとかself-healing(日本語だと自動復旧?)できるようにする必要がある。EC2のAutoScalingの異常なインスタンスの置き換え機能でしのぐしかないと考える。問題はこちら比較的Easyな問題。ELB経由かEIP付与で接続できるよっていうはなし。問題はこちら読解力が必要な問題。CloudFrontの利用。AWSの考えによれば、オリジンへの負荷が下がるので、コストが下がることになる。あとはS3のRRSクラスの利用。オリジナルのファイルはGlacierに保存していると書いてあるので、RRSを使っても大丈夫と見える。最後は、最大ズームの時の画像サイズのw/hを上げれば利用する画像の量が減るのでコスト削減になるのでは、と考える。問題はこちらよくありがちなユースケースで、ネットワーク管理者とアプリケーション管理者が分かれており、それぞれの管理者がCloudFormationwo持って管理している。その場合の注意事項について。ネットワーク管理者が作るVPC内にアプリケーションをのせるので、VPCを削除する場合にはアプリケーションが依存しているのでアプリケーション側を削除しないといけない。問題はこちらまずはEMRのアーキテクチャを覚えておくとよさそう。Nodeの3種類で構成されており、それぞれの役割を抑えよう。そのうえで、どのノードでオンデマンドインスタンスやスポットインスタンスが利用できるか考えるとよい。下記にずばりまとまっている。問題はこちら有料会員と無料会員にのあるストレージアプリケーションで、利用者のストレージ容量が閾値を超えたらアラートしたい。実装するかという問題。答えが割れているが、まずS3のメタデータを使う方式は難しいと思う。何十億というレベルで置かれているオブジェクトの1つ1つのメタデータを取り出して集計するのは現実的でないと考える。RDB自体を使うことはよいと思うが、Bの選択肢ではRDBで都度計算するように見える。それよりは、DynamoDBとユーザの利用料をカウントアップしていく仕組みのほうがベターとみえる。問題はこちら問題文から、モバイル環境でコンテンツのアップロードとダウンロードを高速化したいことがわかる。CloudFrontはCDNとして一般的に認知されており、ダウンロードについての高速化については言うまでもないと思う。Accelarationを利用するとCloudFrontを利用してコンテンツのアップロードも最適化できるという。CloudFrontがあるエッジロケーションからS3のあるリージョンロケーションまでは、最適化されたネットワーク経路があるから実現できるのだという。問題はこちら答えが割れているが、ピークロード時に1つのAZが利用できなくなることを考えると、spotインスタンスより安定的に利用できるオンデマンドでスケーリングできるBではないかと思う。問題はこちら答えから考えると、C,Dでどちから迷うが、おそらくDと思う。SSL証明書の管理だが、CloudHSMを利用することでこの問題を解決できると思う。ELBに保存やboot時にEC2に取り込むでは解決できない。ちなみに、CloudHSMを使ったSSL/TLSのオフロードは下記がわかりやすい。現状、ELBとは連携しておらず、ロードバランサを利用している場合は、LBをL4レイヤー(TCP)にして、EC2のL7レイヤーで設定する必要がある。https://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/ssl-offload-overview.html次にログの管理だが、アプリケーションからS3へ直接書き込むのはよいとは言えない。それはオブジェクトストレージの構造上、ストリームで書き込むのに適していないからだ。なると、EC2のストレージに暗号化で保存するのがよさそうだが、エフェメラルディスクに書き込むというのがひっかかるポイントではある。問題はこちらELBの証明書管理をセキュリティオフィサーのみができるようにしたいという要望。ELBではHTTPSのリスナーを作る際にどこからSSL証明書をインポートするか指定できる。推奨はACMというサービスからの呼び出しになるのだが、セキュリティオフィサーにだけACMの権限を与えることで実現できそう。問題はこちらDynamoDBのキーに関する基礎知識を抑えていれば大丈夫そう。問題はこちらオンプレミスで動作しているアプリケーションをAWSへ移行しようとしたが、セッションの共有をマルチキャストで行っていることに気づいたという場面。AWS上でどのようにセッションを共有するかという問題。Redisに保存と考える。VPC内では基本的にはマルチキャストは利用できないが、メッシュVPNを張ってマルチキャストできるようにするという案もあるが、ここは素直に。問題はこちら以下のURLが参考になる。署名付きURLは発行できても、実際にアップロードできるかどうかは発行者の権限次第となる。問題はこちら自分の読解力、知識不足なのか、問題の意図がよくわからず答えが選べない。フロントエンドとバックエンドの両方の前にELBを挟むことで効率的なデプロイができるようになるので、C,Dは答えと思われる。問題はこちらビデオ素材を配信している会社で、ユーザごとにダウンロード回数を設けており、ダウンロード回数を超えた際のアクションを考える問題。問題はこちらふたつの既存のDCがあるということで、もう片方のDCへのVPNコネクションをはることで冗長化できそう。問題はこちらWebで一般公開している以上、オリジンはCA認証のSSLを使うべき。CloudFrontでデフォルトのURLを利用するのであれば、デフォルトで準備されているSSL証明書を利用することもできる。問題はこちらシステムの要件からスケーラブルにする必要があるので、RDSよりDynamoDBのほうが向いてそうにみえる。そのうえで、処理が多いのが一時的なことであるので、RIよりはスポットインスタンスなどで対応したほうがよさそう。Import/Exportが利用できるという話。レポートの取得がピーク時1000万~1500万リクエストほどくるとのことで一番よい方法を考える。S3にレポートを置いてCloudFrontで配信するのが、いちばんオリジンに負荷がかからずよさそうである。問題はこちらVPC内のネットワークの制御に関する問題。重要なのは、セキュリティグループで制御しましょうというのと、サブネットのルーティングテーブルでサブネット同士の通信の制御をしましょうということ。問題はこちら答えわからず。偉い人教えてください。問題はこちらマルチAZ構成の場合に、どのようにインスタンスを配置すればいいかという問題。Aは構成としては間違っていないが、オーバスペックすぎるのでBが正解と思う。問題はこちらS3へアクセスできるようにするためには、どこの設定が必要かという問題。Posts「捉」2019年振り返り「LeanとDevOpsの科学」を読んで。