記事の概要
本記事では、AWSソリューションアーキテクトプロフェッショナル(SAP-C01)について、問題の解き方や観点の考え方に焦点をあてて解説します。
特に問題形式の解説だけでなく、もし観点が変わったらどう回答が変わるかといった点も考えてみます。
なお、勉強方法や参考資料に関しては、多くの方が解説されていますので、本記事では簡単な説明とさせていただきます。
ソリューションアーキテクトアソシエイトに関する記事は下記をご参考ください。
試験で問われるレベルは違いますが、論点の考え方や勉強法は通ずるものがあると思います。
以下の記事では、より効率的に合格する手法を解説しています。
ソリューションアーキテクトプロフェッショナルとは
AWSでは、技術スキルとクラウドの専門知識を評価するための資格制度を設けています。
その中でも、ソリューションアーキテクトプロフェッショナルは、AWSのプロフェッショナルレベルの認定資格として、高難易度に分類されます。
アソシエイトレベルの知識を前提に問われますので、単純な機能などは問われることなく、機能要件だけでなくビジネス要件に関する問題も多くあります。
AWS公式ページでは、以下の能力を有していることが必要であると記載されています。
・AWS で、動的なスケーラビリティ、高可用性、耐障害性、信頼性を備えたアプリケーションを設計し、デプロイする
・提示された要件に基づくアプリケーションの設計とデプロイに適した AWS のサービスを選択する
・AWS で複雑な多層アプリケーションを移行する
・AWS でエンタープライズ規模のスケーラブルな運用を設計し、デプロイする
・コストコントロール戦略を導入する
試験準備
ソリューションアーキテクトの試験では、幅広い分野から出題されます。そのため、広い領域でそれなりの知識を持っておく必要があります。
大きく5つの分野に分かれていますが、複数のサービスが組み合わせて問われますので、多くのサービスを理解する必要があります。
勉強方法は多くの方が解説していますので、軽くしか触れませんが、AWSの各サービスページやBlack Beltの資料や模擬問題、参考書がベースになると思います。
特に、下記参考書は内容の多くが問題形式となっていますので、問題を解きながら理解の足りないサービスを公式のドキュメントで学習すると効率的に学習ができ、かつ問題に慣れるという意味でも適切ではないかと思います。
問題の中には本番試験と同等レベルの問題やかなり本番試験に近しい問題も用意されていますので、一通り解いてみることをお勧めします。
試験対策
ソリューションアーキテクトプロフェッショナルの問題文は、非常に文章量が多くなっています。
その中から必要な情報をピックアップする必要がありますが、重要な部分をピックアップすれば大体文章量を6~8割くらいに減らせるので回答時間短縮へつながります。
特に要件や問題点、最終的に解決したい課題を理解することは重要です。
移行要件やパフォーマンスが足りないのか、コストを最適化したいのかによって選択肢が変わってきます。
何がしたいの??という点は、必ずおさえておきましょう。
また、現行システムではどんなアプリが動いているのか、どういうネットワークが用意されているのか(AWSへの接続はあるのかないのか)を理解することも重要です。
現行システムはオンプレミスだけでなくAWSの場合もあり、AWS上で構成が不十分である場合や、よりコストを最適化したいなどの要件がある場合もあります。
例題
ここでネットワークに関する例題をもとに解説します。
このアプリケーションを世界的に展開するため、別のリージョンでも同様のシステムを構築することとなりました。
このとき、コストを最小限に抑えながら構築する方法はどれでしょうか。
この問題で考えるべきは当然コストです。
アプリケーションはデータセンターの情報を頻繁に参照してるため、性能面とコスト面からおそらくインターネット経由やVPN経由は適切でないだろうと想像できます。
また、別リージョンにDirect Connectをもう1本追加することもコストの観点から適切ではないということから、Direct Connect Gatewayで別リージョンにつなげることが回答ではないかという筋立てができるかと思います。
ではこの問題が以下のように変化した場合はどうでしょうか。
このアプリケーションを世界的に展開するため、別のリージョンでも同様のシステムを構築することとなりました。
このとき、両リージョンで信頼性の高いアプリケーションを提供するためにはどうすればいいでしょうか。
この問題では、コストではなく信頼性が論点となりました。
そのため、極論Direct Connectをもう1本追加しても信頼性が担保できるならコストが上がろうが構わないという考え方ができるようになります。
また、この問題に「特定のリージョンが使用不可となった場合でももう片方のリージョンでシステムを継続する」といったDR戦略のような記述があった場合も同様の考え方ができるかもしれません。
今回はネットワークの問題を取り上げていますが、リージョン拡張に関しては、スケーラブルなシステム構成(ELB+AutoScaling)やリージョン間のストレージの同期などに置き換えた場合も考えられます。
同じような問題でも要件が違うだけでなく、ネットワーク・コンピューティング・ストレージどの観点で問われているのかで選ぶべき選択肢が変わってくるので、重要なポイントは必ずおさえておきましょう。
試験中に気を付けること
最後に、試験中に気を付けると良いかなと思う点をまとめてます。
これは必須というものではなく、こうしたらいいのではないかというアドバイスレベルのものです。
考えがまとまらないときはとりあえず書いてみる
文章が長いこともありますが、読み解けない場合は、配布される紙やボードに構成を書いてみると良いでしょう。
書いてみることで、頭の中だけでなく視覚的に状況を整理することができるかと思います。
3時間解き続けるのは正直きつい
とにかく試験時間が長いので、小休憩することも検討したほうが良いと思います。
試験官に申し出ることでトイレへ行くことはできますので、数分の試験時間を使うことになりますが、思い切って一度離れてしまうのも個人的にはありだと思います。
後で確認するは数問だけにする
試験中、「後で確認する」というフラグを立てることで、全問解き終わった後に確認しやすくなる機能がありますが、ソリューションアーキテクトプロフェッショナルに関しては、時間がそんなに余らないと考えておくほうがベターだと思います。
1問平均3分で解いても全問解くことはできないことを考えると、あとで確認するのは、
・回答に時間がかかりそうだから考えずに最後に回す場合
・不得意な分野や知らないサービスが問題とし出てきた場合
のように絞っておくことをお勧めします。
ただし、時間をかければ解ける問題を後回しにした場合は、絶対にそこへ戻れるようフラグを使って下さい。
まとめ
以上、試験での考え方に焦点を当てて解説しました。
実試験では、問題数が多いうえ、とにかく多くの文章を読まないといけないので受験するだけでも大変ですが、ポイントを絞っていくと消去法で選択肢が絞れることは多々あります。
その前提として各種サービスの理解は必要となりますので、基礎を理解したうえであとは論点に慣れていくことが合格への秘訣かと思っています。