AWSソリューションアーキテクトプロフェッショナル資格（SAP）に合格しました

# はじめに

先日（3/29)、かねてからの目標だったAWS Certified Solutions Architect - Professional（SAP）を取得しましたので、いつものように勉強した内容や試験の所感を残しておこうと思います。
（今回に限って言うと、試験自体よりもそもそも試験会場が営業しているかが一番の心配事でした……）

※過去の記事
[AWS SAAに受かった話](https://qiita.com/kkino1985/items/85bcfa50686fcfe69c56)
[AWS SOAに受かった話](https://qiita.com/kkino1985/items/295509d3d94c726ae56a)
[AWS DVA(とCLP)に受かった話](https://qiita.com/kkino1985/items/8f3db5e102876cca47b1)


# 勉強期間

前回DVAを受けたのが3/1なので、SAPとして確保したのは約1ヶ月ぐらいです。
とはいえ、AWSの資格試験は重なる部分も多いので、DVAとその前のSOAも合算すると3.5ヶ月になります。
（そういう理由もあるので、AWSの資格を取る時はあまり間を開けずに次へ次へと目指した方が良いです）

# 獲得スコア

|受験日|スコア/合格点/満点|結果|
|:--|:--|:--|:--|
|2020/3/29|756/750/1000|合格|

問題を解きながら全く手応えが無かったので「今回はアカンかも」と思っていましたが、結果は（ぎりぎりながら）合格。
試験を受けての所感は後述しますが、とにかく問題文の分量が多く、長い試験時間（190分）が足りなくなるほどの大変な試験でした。
（最後の問題を解き終えた時の残り時間は10秒）

# SAP試験の勉強方法

SAPは（上位資格の中では）比較的情報が揃っている方だと思いますが、この試験の難しさは、

- とにかく試験範囲が広い

これに尽きると思います。
（他に挙げるとすれば、「全体的に問題文が長い」でしょうか）

さすがに開発者専用みたいなCode系までは網羅されていませんが、それ以外のOpsworkやAPI Gatewayなどは当たり前のように出ますし、普段の業務ではあまり触らないStorage Gatewayや DMS、SMSみたいなややマイナーのサービスも出てきます。
しかも、それが様々なサービスの複合問題として出題されるため、それぞれがどのような用途で使われるサービスで、どういう構成がベストプラクティスかを問われます。
選択肢が4つあったらその内1つぐらいは明らかに違うものが混じっているのですが、それ以外は「ケースによっては有用」という微妙な選択肢になっていることが多いので、AWSの知識と合わせて国語力（読解力）も試されます。

そういう試験の特性を踏まえた上で、自分がやった勉強は前回のDVAと同じく、

1. サンプルや模擬試験、Whizlabsの問題を解く
2. わからなかった部分や、理解が曖昧だと思ったサービスについて公式ドキュメントで調べたり、チュートリアルをやったりする

という流れ（繰り返し）でした。


あとはAWSの知識ではなく、基本的なインフラの知識（IPSecやVPNなど）もあると問題が解きやすいと思います。
AWSのマネージドサービスは「煩わしい構築や管理の手間を省いて簡単に使える」というのを売りにしていて、一般のユーザー（企業）は気にせず使って良いと思いますが、AWSのソリューションを提供する側はその裏側で何が行われているかをちゃんと理解しないといけないと思いました。


# 学習で使った教材

## AWS公式

今回は基本的にWhizlabsの問題ばかりやっていましたが、その問題をやる中でわからない機能やサービスが出てきたらBlackbeltオンラインセミナーの資料を見て補足する、というのを繰り返していました。
もちろんわからないサービスの資料を端から端まで見ていたら時間がいくらあっても足りませんが、メジャーではないサービスはそこまで出題の範囲も頻度も広く（高く）ないので、早送りでスライドを流して大事なところ、または試験で間違えた部分だけをおさらいするだけでも十分だと思います。
（最低でもOrganizationsとCognito、Cloudfrontは見ておいた方が良いです）

あとは模擬試験も受けましたが、その問題は（記憶にある限りでは）一つも出題されませんでした。
ただ、問題を解く際に使ったサービスの知識（機能やベストプラクティスなど）は実際の試験でも活かされたと思っているので、やはり受けて損はないです。
（これは前も書きましたが、模擬試験を受ける際は合格特典の無料バウチャーを使うのを忘れずに）

それ以外だとAWSトレーニングのSAP試験講座の動画も観ました。こちらは英語（日本語字幕）ですが、AWS Innovate Onlineセミナー2020に登録していれば日本人のソリューションアーキテクトによる解説が聞けます（※4/10ぐらいまで）
この中で紹介されるサービスはあくまで「最低限」ですが、その代わり「必ず出る」と思って良いです。


## 問題集

「WHIZLABS」(https://www.whizlabs.com/)
毎度お馴染みの試験問題を販売している海外のサイト。
会員登録すると頻繁に割引バウチャーがもらえるので有料版も2000円ぐらいで購入でき、80問×6セット解けるのでかなりコストパフォーマンスは良いです。

これも前回同様、問題と答えを丸暗記するというよりは、自分が何をわかっていないのかを洗い出して何度も復習する、というのを意識しました。
模擬試験とはいえ、真面目に解くと一回につき3時間ぐらいかかるので、かなりタフでした。
（そしてそれだけ苦労して終わった後に「Failed（不合格）」と表示されると心が折れそうになります）

# 試験を受けての所感

- 問題数が多く（75問）、加えて全体的に問題文が長いため、時間配分は大事
（自分は半分解いた時点で遅れていると気付いた後ペースを上げて最後はぎりぎりだったので、最初に10問を何分で解くと決めておくと良いかも）
- ユーザーの権限問題はよく出る（OrganizationsのOU階層で違う権限が設定されていた場合、どの権限が有効になるか、等）
- Storage Gatewayの「cache volume」と「stored volume」の違いは説明できるように
- AWSのバックグラウンドの知識（DNSや暗号化など）もわかっていると一つか二つ拾える問題があった（気がする）
- 聞いたことがないサービスの問題は間違いなく解けないので、概要程度でも理解しておくように
- サービスの使い分け問題が多かった（たとえばkinesisとSQSはどう使い分ける？）
- Cloudfrontはよく出る
- 一目でわかる問題はほぼ無かったが、ちゃんと読めば二択ぐらいまでは絞れるので、諦めないように（その意味でも時間配分は大事）
- ECSだかEKSだかの（中身の）問題が出て、あまり準備していなくて「アカン」ってなった（DVAの時から繰り返される過ち）


# 今後の予定

AWS系だと次はDevOps ProfessionalかSecurityだと思っていますが、そろそろ仕事で本格的にAzureを使うことになりそうなのでAzure Administrator Associate（AZ-103）を受けようと思っていました。
過去形になっているのは、どうもAZ-103試験が3月一杯で終了し、新しい試験（AZ-104）に更新されるということを今日知りました。

https://blog.trainocate.co.jp/blog/415_018

とりあえずはAZ-103の問題で頑張ろうと思いますが、受けるのは少なくとも日本語版の試験が配信されてからかなと思っています。

# 2020/3/31追記
AZ-103廃止の件、よくよく内容を読んだら「3月で英語版のベータ試験が公開される」と言っているだけで、3月末で無くなるわけではないんですね。
また、試験のアウトライン（試験範囲）を見ると、4月に新試験が始まった後90日間は受けれられるようです。

https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE3VwUR

別に新しい試験でも良いのですが、差し当たりAZ-103の受験を目指したいと思います（できれば4月中）