AWS Certified Solutions Architect – Professional Level サンプル問題を解いてみる

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

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

いよいよ始まりました。AWS認定SAのプロフェッショナルレベルです。毎度のことクラスメソッドを代表して人柱として受験してきたいと思います。事前情報全く無い状態でいきなり英語文章問題を解くわけですが、過去3回の試験を全てカンピュータで合格してきましたので今回もがんばるぞー!

まずはサンプル問題を解く

とはいえ、今回はプロレベルですから今までのようにノリと気合いでは合格しません。そこで、まずはサンプル問題を解いてみようと思います。解答例を載せていますが、直感で書いているので間違っている可能性が非常に高いです。間違いありましたらお気軽にご指摘くださいw

問1:オンプレからDR

あなたの会社は以下のようなオンプレの仕組みを持っています。

  • JBoss APサーバ
  • OracleDB 通常バックアップはRMAN(リカバリマネージャ)を使ったS3バックアップ
  • 静的コンテンツはAPサーバのiSCSI接続したStorage Gatewayボリューム(ゲートウェイストア)

DR対策として、RTO(目標復旧時間)を最小にする方法は?

選択肢

  • A. EC2上にOracleとJBossを配備する。RMANを使ってS3からOracleDBをリストアする。 Storage Gatewayから静的コンテンツEBSボリュームを生成し、JBossサーバにアタッチする。
  • B. RDSにOracleDBを配備する。EC2上にJBoss配備する。RMAN使ってGlacierからバックアップをリストアする。 Storage Gatewayから静的コンテンツEBSボリュームを生成し、JBossサーバにアタッチする。
  • C. EC2上にOracleとJBossを配備する。RMANを使ってS3からOracleDBをリストアする。 EC2上で動くStorage Gatewayにより静的コンテンツをリストアしてから、JBossサーバにiSCSIボリュームとして使う。
  • D. EC2上にOracleとJBossを配備する。RMANを使ってS3からOracleDBをリストアする。 Storage GatewayのVTLボリュームから静的コンテンツをリストアしてEC2に載せる。

考察

  • A. ○ 間違ったこと言っていない。
  • B. ☓ Glacierと書いてあるが前提で使っていない。
  • C. ☓ ストアボリュームとキャッシュボリュームが混ざっている
  • D. ☓ VTLは裏でGlacier使っている。

RMANを使ってS3にバックアップされたデータをEC2上で復元しています。また、Glacierは取り出しに時間が掛かるため、RTOを最小にするような要求には向きません。

解答

A

問2:VPC環境

AWSマーケットプレイスから起動したBI層を含む分析システム用にVPC環境を構築しています。 分析者は、オンデマンドでBIツールとRedshiftクラスターを含む新しい分析スタックを、ネットワーク要員無しで、起動できるようにする必要があります。 このVPCのために、どのトポロジーが最も柔軟でしょうか?

選択肢

  • A. BIとRedshiftに1つのサブネットを用意する。
  • B. BIに1つのサブネット、Redshiftに別のサブネットを用意する。
  • C. AZ毎にBI用のサブネットと、Redshift用に別のサブネット
  • D. AZ毎にBI用のサブネットと、AZ毎にRedshift用のサブネット

考察

  • A. ☓ BIは外部に公開し、RedshiftはBIのみから接続できるようにするべきで、同じサブネットにすべきではない
  • B. ○ AWSマーケットプライスから簡単に使うなら、これが妥当なラインかな
  • C. ☓ BIのクラスタリングは工夫が必要
  • D. ☓ BIのクラスタリングは工夫が必要。RedshiftをMultiAZで構築するには工夫が必要

解答

B

問3:セキュリティ

複数のリージョンを使った多くのAWSサービスを使いたい会社で働いています。 しかし、セキュリティ制御上、オンプレからインターネットへの接続時には個別にホワイトリスト形式のファイアウォールに登録しなければなりません。 セキュリティ上の懸念に対処しながらどのようにAWS APIのエンドポイントへのアクセスを許可するか?(2つ選択)

選択肢

  • A. FIPS 140-2認定のus-east-1エンドポイントのAPIを使う。
  • B. 企業内に信頼されたゾーンとしてDMZを用意しインターネットトラフィックを制御しない。
  • C. EC2によるプロキシを用意し、企業ネットワークからのアクセスを許可する。そして、企業ファイアウォールにEC2のIPを許可する。
  • D. プログラムでGetEndpoint APIを使って全てのAWSエンドポイントを取得し、企業ファイアウォールに追加する。

考察

  • A. ☓ FIPS 140-2認定って、Gov Cloudのことだと思うのでマルチリージョンでは使えない。
  • B. ○ 企業側で対応する方法としてアリかなと
  • C. ○ EC2を固定IPにして踏み台とするのもアリかなと
  • D. ☓ エンドポイントはホスト名でしか取得できないのでIPは可変でダメかな。

解答

B,C

問4:データベース

オンライン・マーケティング会社は、他の企業がSEO対策として、キーワード提案のAPIを呼び出すことができ、これをWebAPIとして提供したいと考えています。 ランキングはEMRで分析し、結果は読み込み専用のDBに入ります。 12億レコード(計3TBの生データ)は、6テーブルにほぼ均等に格納されています。各Webサービスは1つのデータベース問合せを発行します。 Webサービスは同時100リクエストをサポートし、1.5秒以内に応答する必要があります。 これらの要件を満たすデータベースは以下のどれか?(2つ選択)

選択肢

  • A. 良好な分布を持つ8XLのRedshiftクラスタを用意して、テーブルにソートキーを設定する。
  • B. 良好な分布を持つ4XLのRedshiftクラスタを用意して、テーブルにソートキーを設定する。
  • C. それぞれ1TBのストレージを持つ、6台にシャードしたRDSを用意する。
  • D. 読み込みプロビジョン10ユニットとローカルセカンダリーインデックス指定した、6つのテーブルをもつDynamoDBを用意する。
  • E. 8台の1TB EBSボリュームで構成されたRAID-10の論理ボリュームを1台のEC2上に付けて、MySQLを用意する。

考察

  • A. ○ これならイケる。SQL使える。最大同時接続は500。
  • B. ☓ 4XLというノードは存在しない。
  • C. ○ 均等に負荷分散
  • D. ☓ 分析用の複雑なクエリーには向かない。
  • E. ☓ RAID-10はミラーリングとストライピングだから性能が落ちる。

解答

A,C

問5:クラウドでDR

ERPアプリケーションを1リージョンで複数のAZで動かしています。障害発生時、RTO(目標復旧時間)は3時間未満、RPO(目標復旧時点)は15分にする必要があります。 顧客が、1.5時間前に障害によるデータの欠損を確認したとして、この種の障害が発生した場合に、このRTOとRPOを達成するためのDR戦略はどれですか?

選択肢

  • A. 15分毎にDBバックアップをGlacierに入れる。5分毎にトランザクションログをS3に入れる。
  • B. 2つのAZを使ってDBをマスタースレーブ構成にして、同期レプリケーションを行う。
  • C. 1時間毎にS3にバックアップを取る。5分毎にトランザクションログをS3に入れる。
  • D. 1時間毎にEC2のインスタンスストアにバックアップを取る。5分毎にトランザクションログをS3に入れる。

考察

  • A. ☓ Glacierはデータの取り出しが遅いから間に合わない。
  • B. ☓ 同期レプリケーションされているが、データの欠損を確認できているのであればダメ
  • C. ◯ バックアップから2時間前まで戻して、S3にあるトランザクションログから15分前までの状態に戻せるはず
  • D. ☓ インスタンスストアは再起動時にデータが消える。

回答に自信がない。。。orz

解答

C

問6:セキュリティ

気密性の高い情報を送信するWebサイトを構築しています。サイトのトラフィックは知られていて変動もしないと予測されています。このサイトはSSLを使いますが、秘密鍵の扱いが非常に気になっています。キーが誤って流出しないか懸念しています。また、アクセスログには気密性の高い情報も保管されているため暗号化の上、従業員のみ暗号化を解除できるようにします。これらのアーキテクチャを満たすのはどれですか?

選択肢

  • A. ELBを使ってトラフィックを分散します。SSLの秘密鍵の保護するために鍵をアップロードして、SSLトラフィックをオフロードします。ランダムに生成されたAESキーで暗号化されている一時的なボリュームには、Webサーバーのログを書き込みます。
  • B. ELBを使ってトラフィックを分散します。TCP負荷分散を使用して、EC2起動時に秘密鍵をS3からロードします。S3のサーバー暗号化を使って、ログを書き込みます。
  • C. ELBを使ってトラフィックを分散します。TCP負荷分散を使用して、SSLトランザクションのためにCloudHSMを使います。 S3のサーバー暗号化を使って、ログを書き込みます。
  • D. ELBを使ってトラフィックを分散します。TCP負荷分散を使用して、SSLトランザクションのためにCloudHSMを使います。 ランダムに生成されたAESキーで暗号化されている一時的なボリュームには、Webサーバーのログを書き込みます。

考察

  • A. ☓ 一時的なボリュームは再起動で消える。
  • B. ☓ 秘密鍵をS3に置くのは良くない
  • C. ○ CloudHSMはアプリから利用する。
  • D. ☓ 一時的なボリュームは再起動で消える。

解答

C

問7:VPC

顧客向けにAWS上でHPCを実行したいと思っています。数千のサーバーを頻繁に使っていて、時には5000インスタンスになることもあります。シミュレーションの性質上、クラスタ内のワーカーは、低い遅延で、インスタンス間で高いスループットを要求されています。クラスタの管理用にマスターインスタンスがあり、企業内からアクセスができるようにします。セキュリティ上、ワーカーインスタンスに対してインターネットからのアクセスは受け付けません。一方で、出力結果はS3に保存します。最小のコストでこの要求を満たす設定はどれか?

選択肢

  • A. VPCを使い、192.168.0.0/20サブネットにワーカーインスタンスを置く。192.168.1.0/20プライベートサブネットにマスターインスタンスを置き、VPN Connectionでカスタマーゲートウェイと接続する。192.168.2.0/28パブリックサブネットをNATインスタンス用に設定し、ワーカーインスタンスのアウトプットをS3に保存するために利用する。
  • B. VPCを使い、192.168.0.0/16プライベートサブネットにワーカーインスタンスを置き、プレイスメントグループとする。192.168.1.0/28パブリックサブネットにマスターインスタンスを置き、VPN Connectionでカスタマーゲートウェイと接続する。192.168.2.0/28パブリックサブネットをNATインスタンス用に設定し、ワーカーインスタンスのアウトプットをS3に保存するために利用する。
  • C. VPCを使い、192.168.0.0/20と192.168.1.0/20のプライベートサブネットにワーカーインスタンスを置く。192.168.2.0/24パブリックサブネットにマスターインスタンスを置き、セキュリティグループを設定して企業ネットワークからマスターインスタンスに接続できるようにする。パブリックサブネットをNATインスタンス用に設定し、ワーカーインスタンスのアウトプットをS3に保存するために利用する。
  • D. VPCを使い、192.168.0.0/20と192.168.1.0/20のプライベートサブネットにワーカーインスタンスを置き、プレイスメントグループにする。192.168.2.0/24パブリックサブネットにマスターインスタンスを置く。セキュリティグループを設定して企業ネットワークからマスターインスタンスに接続できるようにする。プライベートサブネットのインスタンスが直接インターネットゲートウェイを通じてS3に接続できるように、ルートテーブルを設定する。

考察

  • A. ☓ ワーカーインスタンスがプライベートかどうか言及されていない。
  • B. ○ プレイスメントグループで低遅延にしているし、ネットワーク的にも問題なさそう。
  • C. ☓ ワーカーインスタンスが複数のサブネットに分かれていて遅延が発生する可能性あり。
  • D. ☓ NAT設定をルートテーブルのみで行うことはない。

解答

B

まとめ

サンプル問題を解いてみて思ったことですが、各製品の特徴をしっかり把握することはもちろんのこと、エンタープライズ分野を強く意識したセキュリティやネットワーキングについての知識が求められているようです。この資格を取得することができればイケてるエンジニアとして周囲に自慢できると思います!

参考資料

AWS Certified Solutions Architect – Professional Level Sample Exam Questions