【合格体験記】新卒1年目でAWS SAP (ソリューションアーキテクトプロフェッショナル) を取得した話

# 目次
[1.はじめに](#1-はじめに)
[2.AWS SAPとは？](#2-AWS SAPとは？)
[3.筆者のスペック](#3-筆者のスペック)
[4.学習期間と本番スコア](#4-学習期間と本番スコア)
[5.使用教材](#5-使用教材)
[6.各期間での学習内容](#6-各期間での学習内容)
[7.まとめ](#7-まとめ)

# 1. はじめに
はじめまして、都内の某ITコンサルに勤務する2年目のエンジニアです。
今年の3月にAWS SAPの取得に成功したので、本記事ではその勉強法と意識の持ち方について書きたいと思います。
取得の目的としては仕事でAWSなどのクラウドを扱うことが多く、AWSを通してクラウド全般の知識を体系的に整理することでした。同じような状況にある方の参考になればと思い、本記事を投稿いたします。

# 2. AWS SAPとは？
## 試験概要
正式名称は AWS Certified Solutions Architect - Professional (ソリューションアーキテクト - プロフェッショナル) であり、SAA (ソリューションアーキテクト - アソシエイト) の試験範囲をより広く、かつより詳細にしたものだと考えていただければと思います。
SAAとの差分としては、オンプレからの移行やオンプレと統合したハイブリッドアーキテクチャの構成が挙げられます。加えて、CI/CD環境の構築やコスト管理、さらにはマイクロサービスや機械学習用リソースについても問われます。

受験費用は__￥33,000 (税込)__であり、試験時間は__3時間__です。
申し込みの手順などは[公式サイト](https://aws.amazon.com/jp/certification/certified-solutions-architect-professional/)をご参照ください。

## 難易度
プロフェッショナルレベルの試験だけあって、AWSの認定試験の中では最も難しいとの声が上がっています。(参考：[AWS認定11冠制覇したのでオススメの勉強法などをまとめてみる](https://qiita.com/nakazax/items/20458e146d3d9f2aa615))
公式サイトでも2年以上の実務経験相当の能力を検証すると謳われており、利用経験が不足していると答えにくい内容が問われます。(実務経験が2年未満であっても受験自体は可能です)

また、SAAの上位互換という位置づけであり、SAAとSOA (SysOps Administrator - Associate) の試験範囲を内包しているため、両者を取得してからSAPにチャレンジすることをおすすめします。

# 3. 筆者のスペック
- 保有資格
    - AWS SAA/SOA
    - 基本・応用情報技術者
- 大学では応用数学を専攻
    - 競技プログラミングはほとんどしていない
- 学習開始時の開発経験は2年ほど
    - インターンにて1年、入社後に1年ほど
- AWS経験は半年ほど (使用経験のあったリソースは以下の通り)
    - EC2/S3/Lambda
    - API Gateway
    - CloudWatch Logs/Events
    - StepFunctions etc.

# 4. 学習期間と本番スコア
## 学習期間
1月末から勉強を開始したので、期間としては2ヶ月ほど。
SOAの勉強と併せて行ったので、SAP自体の対策期間としてはもう少し短いです。
平日は1~2h、休日は4~8hほど勉強しました。
各期間での学習内容は後ほど詳述します。

## 本番スコア
883/1000 (合格ライン750点) でした。
一回目の受験で合格することができました。
![SAP_for_Qiita.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/763605/577df3f3-5099-0795-63ff-b8a9ecaa9548.png)
![SAP_for_Qiita2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/763605/6413e355-4be6-bc0d-f079-747bb7154613.png)
（復習すべき箇所が明確です...）

# 5. 使用教材
- [Ultimate AWS Certified Solutions Architect Professional 2021 (Udemy)](https://www.udemy.com/course/aws-solutions-architect-professional/)
- [AWSの薄い本　IAMのマニアックな話](https://booth.pm/ja/items/1563844)
- [AWSの薄い本Ⅱ アカウントセキュリティのベーシックセオリー](https://booth.pm/ja/items/1919060)
- [AWS WEB 問題集で学習しよう](https://aws.koiwaclub.com/)

その他、[公式ドキュメント](https://docs.aws.amazon.com/index.html)や[Classmethod社の記事](https://dev.classmethod.jp/tags/aws/)などにも大変お世話になりました。
また、私は利用していませんが、[AWSの公式模試](https://qiita.com/cumet04/items/abb9b26e2f0293aa9a3b) や [Udemyの模試 (日本語版)](https://www.udemy.com/course/aws-53225/) / [(英語版)](https://www.udemy.com/course/aws-solutions-architect-professional-practice-exams-amazon/)、[AWS Black Belt](https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/) なども有用だと聞いています。

以下、各使用教材についてのレビューです。
### [Ultimate AWS Certified Solutions Architect Professional 2021](https://www.udemy.com/course/aws-solutions-architect-professional/)
基本的に知識の補充にはこちらを使用しました。
講義で使用したスライドを配布してくれている (動画購入者限定) ので、それをiPadで表示してメモしていました。
特に、AssumeRoleやCognitoなどの処理手順の図は重宝しました。
また、__講義自体は英語なのですが、重要なことは基本的にスライドに書かれているので、まずスライドの内容を大雑把に把握してから講義に臨むと理解が容易になると思います__。
ただし、本講義はハンズオンではないので注意が必要です。Kinesis などのチュートリアルを行いたい方は [AWS Certified DevOps Engineer Professional 2021 - Hands On!](https://www.udemy.com/course/aws-certified-devops-engineer-professional-hands-on/) などから掻い摘むことをおすすめします。 (Stephane Maarek氏のステマみたいですが、違います笑)

### [AWSの薄い本　IAMのマニアックな話](https://booth.pm/ja/items/1563844)
佐々木拓郎氏による、IAMのみにフォーカスした書籍です。
マニアックと謳っていますが基本的な内容が多く、IAMに関する体系的な理解を促す書籍だと思います。
もちろん、スイッチロールやIAMポリシーのハイブリッドパターンなど、少々突っ込んだ内容にも触れられていますが、ポリシーの各条件などは書かれていません。したがって、この本で体系的に理解をして公式ドキュメントで網羅するといった位置づけと考えていただければと思います。
値段もお手頃でサクッと読めるので、SAPを受験されない方にもおすすめの書籍です。

### [AWSの薄い本Ⅱ アカウントセキュリティのベーシックセオリー](https://booth.pm/ja/items/1919060)
佐々木拓郎氏による薄い本第二弾です。
こちらではAWSでのセキュリティに関するサービスについて、手広く扱っています。
仕事ではセキュリティまわりのリソースをあまり扱わせてもらえず、Config Rules や Shield Advanced など高価なサービスも多く (どれが高価なサービスかわからず) 個人的利用もしづらいので、この本にはかなり助けられました。
この本を読む前は予防と検知のサービスが分離していることすら認識していませんでしたが、そういった基本的な知識もこの本により補充できた感じます。

### [AWS WEB 問題集で学習しよう](https://aws.koiwaclub.com/)
個人的に問題演習はこのサイトのみで十分だったと感じます。
問題を解き、解説を読んで知識を補充していくことを繰り返しました。
__個人的にまとめを作ることに時間を割きすぎるのは得策ではないと感じているので、演習で得られた知識はメモ程度で済ませて頭の中で整理することを心がけていました__。特に社会人になると学生のときほど学習に時間を充てられないので、取捨選択が肝になってくると思います。
一方で、手を動かして経験を積むことには時間を割いた方が良いと感じます。問題を解いて特に理解できてないと感じる部分 (筆者の場合は Kinesis や Route53 など) については、会社の学習用ユーザーを利用してリソースを触るようにしていました。
ただし、それも理想論に過ぎません。どうしてもサービスを触る時間がない場合は、以下のように__マネージメントコンソールのスクショを撮って、どういう設定が可能かだけを押さえる__のも一つの手だと思います。ご自身のプラン・時間と相談して取捨選択をしていただければと思います。
![config_for_qiita.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/763605/11218f3a-0c7e-a365-8d18-eac86dea49a7.png)

# 6. 各期間での学習内容
## 1月下旬～2月初旬
先述の[Udemy教材](https://www.udemy.com/course/aws-solutions-architect-professional/)で学習を開始しました。
すでにSAAを取得していたため、下準備なしで大丈夫だろうと高を括っていましたが、IAMまわりでいきなり躓くことに。
(個人的にSAAとSAPではセキュリティまわりの難易度にかなり差があるように感じました。)

そこで、Udemy教材による学習を一旦中断し、上記のAWSの薄い本2冊を用いてセキュリティまわりの知識の補充を優先しました。これらの書籍のおかげでセキュリティまわりの理解がかなり進みました。

## 2月中旬～3月初旬
Udemy教材での学習を継続し、[演習サイト](https://aws.koiwaclub.com/)を利用してAWS SOAの演習を行っていました。
Udemyの講義を受ける際は
スライドで粗方内容を把握 → 講義のメモをスライドに書き込む
を繰り返しました。

SOAの演習はSAPの演習を行う前の基礎固めとして有用でした。筆者の場合、SAAを取得してから半年ほど時間が経っていたので、SAAレベルの知識の復習がてらにSOAの勉強をしました。
3月の初めに試験慣れ・会場慣れの意図も込みでSOAを受験し、取得しました。

## 3月中旬～下旬
先述の演習サイトを利用して、SAPの演習を進めました。(SAPの全問題を2回ずつ解きました。)
演習を通して得られた知識も先述のスライドに書き込むようにしていたことで、スキマ時間での復習に役立つのはもちろんのこと、仕事でAWSリソースを扱う際にも有用でした。

また、理解が不十分だと感じるサービスについては、会社の学習用ユーザーを活用して経験を積んでいきました。時間がない場合でも、どのような設定が可能なのかだけは押さえるようにしていました。

## 試験前日・当日
試験前日と当日は脳を休める意味でも先述のスライドを使っての復習のみにとどめました。部分的に公式ドキュメントやクラスメソッド社の記事を利用し、知識をより強固なものにすることに集中しました。

また、このご時世ですが試験会場で受験しました。自宅受験も可能なようですが、クリアデスクが面倒なのと3時間トイレに行けない (らしい) という制約が嫌だったので、しぶしぶ試験会場に赴きました。

試験中での意識についてですが、「__基本的にはわからない問題はあって当たり前、さっさとフラグを立てて次の問題に進む__」という心構えで臨みました。また、前半で集中力を大幅に消費してしまうことを回避すべく、問題文が長いものについてもフラグを立てて飛ばしました。(得意分野の問題に関しては飛ばさずに取り掛かるなどの選択をしても良かったなと思います)
その結果、90分ほどで1周することができ、わからない問題や面倒な問題に時間と集中力を費やせたと感じます。

## 後日
試験の正誤が返ってこないので復習は少ししづらいですが、問題文を読んで曖昧だった箇所はスライドを見直しました。
また、現在 DVA/DOP の勉強を行っていますが、SAPのスライドに追加でメモできることは書き込むように心がけています。復習用リソースの統一は、学習に時間を割きづらい社会人にとって有効な手段になると考えています。(スキマ時間での学習の効果が高まります)

# 7. まとめ
方々から難しいと評される AWS SAP ですが、入社1年目からでもチャレンジ (勉強) する価値は十分あると思います。(受験費用が少々お高めなのがネック)
__実践的知識ゆえに仕事のモチベーションも高まりますし、何より勉強したこと自体が自信・強みになる__と思います。
また、__知識の獲得・定着方法は人それぞれです。自分にあった方法を模索してみてください__。その際、本記事が参考になれば幸いです。
最後に、記事を読んでくださった方々のチャレンジ・合格をお祈り申し上げます。

お読みいただきありがとうございました！