【2021年版】AWS ソリューションアーキテクト - アソシエイト(SAA)合格のための学習方法

先日 AWS ソリューションアーキテクト - アソシエイト(以下、SAA)を取得しましたので、私の学習方法について記載します。
学習開始前の情報収集は重要だと思いますので、これから学習する方にとって、少しでもお役に立てれば幸いです。
ちなみに、点数は `795/990` で、ギリギリでもなく余裕も無いくらいのそこそこの結果でした。

## 私について

私のざっくりした開発経験です。

- WEB エンジニア 2 年目
- サーバーサイドがメインでたまにフロントエンドも担う
- 業務で AWS を触る経験はほとんどない(Cloud Wacth Logs を見たり、Systems Manager からインスタンスに接続する程度)
- 個人ではハンズオン中心にいくつかの AWS サービスを触ったことがある(EC2, ECS, S3, Cloud Front, Lambda, etc...)

業務で開発しているアプリケーションのインフラが AWS であるため、インフラ についてもしっかり理解したい、と考えたのが AWS SAA 受験の動機でした。

ちなみに、SAA に合格するための学習内容や学習量は学習する前の事前の業務経験によって大きく変わります。
感覚レベルでは、次の順で必要な学習量が増えていくイメージです。私は インフラ業務経験のない WEB エンジニアであるため、必要な学習量は比較的多め(60 時間程度)でした。

```
# 下にいくほど必要な学習量は多いと予想
インフラエンジニア(クラウドエンジニア)
インフラエンジニア(オンプレミス)
WEB エンジニア
IT 業界未経験者
```

## 学習について

### 学習方針

- メインで利用する学習教材は書籍1冊と Udemy の模擬試験に絞りこみ、何周もすることで基礎知識の定着と応用力の獲得を目指しました
- その他の資料や教材はあくまでもサブと位置づけ、あまり時間は割きませんでした
- 資格取得を目指す前にハンズオンの経験はあったので、資格勉強としてのハンズオンはしませんでした


## 学習計画を立てる

**所要時間: 3 時間**

実際に学習を始める前に、下記の方々の記事を見て、使用する学習教材と必要な学習時間を見積もり、3 週間後の試験日の予約をしました。

- [AWS 初心者が AWS 認定ソリューションアーキテクト – アソシエイト資格試験に合格した時の勉強法](https://qiita.com/fkooo/items/e5284a4ed3c3466ffd41)
- [【22 時間で合格】 SAA-C02 AWS 認定ソリューションアーキテクト-アソシエイト合格 NRTA【多分これが一番早いと思います】](https://qiita.com/saito_ry/items/80d2bbfd895bbc94bf5b)
- [【未経験】【資格】AWS ソリューションアーキテクト（SAA） 合格までの勉強方法(約 50 時間)](https://qiita.com/x5dwimpejx/items/0b9b7e7b502d8bd255e9)


### AWS の主要サービスの概要を知る/知識を深める

**所要時間: 15 時間**

書籍: [AWS 認定アソシエイト 3 資格対策～ソリューションアーキテクト、デベロッパー、SysOps アドミニストレーター～](https://www.amazon.co.jp/gp/product/B07TT1N73K)

- 学習の始めに、AWS の各サービスの概要を知るするために書籍を 3 時間程度で一通りざっくりと読みました
- Udemy の模擬試験を通して不正解だった設問を起点として、周辺知識を覚えることで体系立てて記憶しました
- 試験前日は 6 時間程度で一通り見直しました

### 大量の問題を解く

**所要時間: 30 時間**

Udemy: [【SAA-C02 版】AWS 認定ソリューションアーキテクト アソシエイト模擬試験問題集（6 回分 390 問）](https://www.udemy.com/course/aws-knan/)

- 問題を解き解説を読む、理解できなければ書籍で確認する、それでもわからなければ[AWS サービス別資料](https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/)や[クラスメソッドさんのブログ](https://dev.classmethod.jp/)を読むというサイクルを回しました
- 丁寧に解説を読むと、初回は試験 1 回につき 4 時間程度を要しました
- 正解の選択肢だけでなく、選択しない選択肢についても理由をつけることで、体系的な知識の獲得を効率的にできるようになりました
- Udemy の模擬試験は本番試験と同等レベルの内容、かつ本番試験と同様の内容が多くで質がかなり高いです

参考までに私の模擬試験の結果は下記の通りです。私の結果とご自身の結果を比較することで、現時点での合格可能性をある程度予測できるのではないかと思います。

|                      | 1 回目 | 2 回目 |
| -------------------- | ------ | ------ |
| 基本問題の模擬試験 ① | 67%    | 92%    |
| 高難易度の模擬試験 ② | 46%    | 70%    |
| 高難易度の模擬試験 ③ | 56%    | 83%    |
| 高難易度の模擬試験 ④ | 44%    | 80%    |
| 高難易度の模擬試験 ⑤ | 60%    | 87%    |
| 高難易度の模擬試験 ⑥ | 56%    | -      |

### AWS サービス別資料を読む(通称: Black Belt)

**所要時間: 3 時間**

[AWS サービス別資料](https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/)

- 苦手かつ頻出な内容(S3, Route53, etc...)についてのみ、PDF や YouTube を見ました
- 試験の合格という目標を達成する上では復習がしづらい点が難点なので、割く時間は最小限にしました
- 業務ではかなり役立ちそうなので、今後はさらにお世話になりそうです

### クラスメソッドさんのブログ

**所要時間: 1 時間**

[クラスメソッドさんのブログ](https://dev.classmethod.jp/)

- `AWSのサービス名`でググると上位に表示される記事を中心に読みました
- 馴染みのないサービスについての記事を多く扱ってくださり、かつ平易な言葉で説明してくださっているので、サービスの概要を理解するのに助かりました


### AWS WEB 問題集で学習しよう

**所要時間: 3 時間**

[AWS WEB 問題集で学習しよう](https://aws.koiwaclub.com/)

合格者の方で利用頻度が多い問題集なので Udemy の模擬試験の前に利用を開始し、有料プランに申し込みましたが、下記の点から利用をやめました。
ちなみに有料の 90 日間のベーシックプランに申し込みました。(4,708 円を支払いました)

- 1 度解いた問題の正解/不正解を記憶する機能がなく復習がしづらかった
- 解説が公式ドキュメントをベースにしている点は良い一方で、設問と解説に乖離があるように感じ理解が追いつかなかった

### 補足: ハンズオンをする

SAA の資格取得を目指す前に、いくつかの AWS サービスのハンズオン経験がありました。資格取得を目標とする上では必須ではないですが、業務で利用できることを目指すならばハンズオン経験が役立つと思います。

参考までに、以前私が利用した AWS のハンズオンの資料・教材を記載します。

- [AWS ハンズオン資料](https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/)
- [Amazon Web Services 基礎からのネットワーク＆サーバー構築](https://www.amazon.co.jp/dp/B084QQ7TCF)
- [コンテナ時代の Web サービスの作り方](https://booth.pm/ja/items/1316133)
- [実践 Terraform AWS におけるシステム設計とベストプラクティス](https://www.amazon.co.jp/dp/B07XT7LJLC)

## 本番試験についての感想

- 予想よりかなり難易度が高かったです(Udemy の模擬試験と同等レベル)
- 明らかに日本語訳がおかしい問題が多く、焦りました(初見ではとりあえず回答し、見直し時に英語を表示して確認しました)
- 同じような出題と回答の組み合わせが数パターンありました

## 受験した感想

- AWS の知識を体系的に得られてよかったです
- 業務の AWS インフラの構成について理解できました
- オンプレミス用のサービスなど、今後自身は使わない可能性の高いサービスの細部を覚えるのは少し辛かったです

## さいごに

お読みいただきありがとうございました。
少しでもいいね、と思っていただいたら「LGTM」していただけると嬉しいです。