AWSに苦手意識を持っていたエンジニアがSAA(C03)に合格した話

# はじめに
AWSサービスに対して苦手意識を持っており、苦手意識を克服できればなという思いで、2022年12月4日にSAA(C03)の試験に臨み、合格することができました。
![スクリーンショット 2022-12-17 10.50.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/534229/5ea98d32-f150-76c6-8ed6-24dc548fd69a.png)

振り返りの意味も兼ねて、勉強の過程やSAAの試験を臨む上で重要だと感じた点を記述します。
また、SAAの試験の前段階として、2022年の9月下旬にCLF(クラウドプラクティショナー)も合格することができたので、CLFとSAAのレベルの違いに関しても、記述させていただきます。

CLFやSAAの試験勉強の参考になると嬉しいです！

# 筆者のAWSレベル(CLF受験前時点)
* 普段はアプリケーション開発に従事、S3、RDSなどの主要サービスは業務上確認することはある
* 自分自身でAWSサービスの構築を行なった経験はない
* 一部の主要サービス(ex. VPCやLambda)に関してはサービスの提供内容に対する理解がかなりあやふや

上記の通り、AWSサービスに触れる機会はそこまで多い状態ではなく、主要サービスに関しても理解が追いついていない状況だったので、AWS全体に対して何となく苦手意識を持っていました。

# AWS CLF(クラウドプラクティショナー)に関して
筆者の場合はSAAの受験前に、9月下旬にCLFの試験に臨みました
AWS認定試験の入門レベルに位置するCLFとSAAの両方の試験を比較すると、両試験のレベルにはかなり差があると感じています。
ざっくりと一行で両者の試験に求められるレベルを表すと、下記のような感じになるのかなと思います(個人の解釈です)
* CLFの試験は主要サービスがどのような機能を提供するかをある程度理解することが求められる印象
* SAAの試験は具体的なユースケースベースでどのようなサービスのどのような機能を用いるかまで理解することが求められる印象
    * 求められている要件をただ単に実現するのではなく、「どの方法が最もコスト的に優れているか」、「どの方法が最も高い可用性を発揮するか」というAWS Well-Architected フレームワークの何の柱を重要視するか？という点に対しての理解が求められる設問も多く、AWSサービスの細かい違いまで理解することが必要だと感じました。

筆者のように、VPC、Lambdaといった主要サービスに関する理解があまりできていない状況でSAAの学習を行うとかなり苦戦するのではないか？と思います。
AWSサービスに関しての理解がある程度できている場合を除き、CLFから着実にステップアップしていくのが良いかなと思います。
(ちなみにAWS認定試験に合格すると、次回の試験を半額で受けることができるバウチャーをもらうことができるので、SAAは半額で受験することができました)

# 学習教材
### 概念理解
#### [AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版](https://www.sbcr.jp/product/4815607388/)
通称オレンジ本と呼ばれる参考書です。
SAAの試験で求められる各種AWSサービスの機能を包括的に学習することができました。
一つ一つのサービスに関しての説明はそこまで多くなく、どんどん読み進めることができるので、最初のインプットの学習におすすめです。

筆者はこちらの書籍をまず2周通読を行いました。
ちなみにCode系のサービス(ex. Code Buildなど)に関しても機能の記述がありますが、Code系のサービスはC03試験の試験対象外のようです。(試験直前に気づきました)

https://www.sbcr.jp/product/4815607388/

#### [【SAA-C03版】これだけでOK！ AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座](https://www.udemy.com/course/aws-associate/)
ハンズオン形式で各サービスの機能を学習していくUdemyの講座です。
講座自体の分量が多いので、理解度がいまいちなサービスの箇所のみを視聴するという辞書的な使い方もおすすめできます。
(自分は問題演習を行なっていく中で、理解度がいまいちだったVPCの箇所のみをこちらで学習しました)

丁寧に説明されているので、視聴後VPCの部分に関しては、かなり理解度が上がったと感じました
またハンズオン形式での説明になるので、今後AWSをアプリケーション開発で使う際にも後から見返すことができそうだと感じました。

https://www.udemy.com/course/aws-associate/

### 問題演習
#### [Ping-t](https://mondai.ping-t.com/g)
IT系の資格(ex. LPIC、CCNA)の問題演習ができるサイトです。
SAAに関しては、無料で500問分の問題演習に取り組むことができます。

Ping-tの特徴としては問題に付属する解説文がかなり丁寧な点が挙げられます。
問題演習開始段階では、各サービスの理解がまだまだ足りていなかった状態でしたが、Ping-tの解説文を読むことで、かなり理解を深めることができました。

自分は1周分、問題演習を行なった後で間違えた箇所をノートアプリに整理を行い、まとめて復習するという学習方法をとっていました。
![スクリーンショット 2022-12-17 11.09.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/534229/07f847db-4794-c6a2-1aaf-15de50773f1d.png)

問題の難易度ととしては、この後記述するTechStockの問題よりは少し簡単かな？という印象です。

https://mondai.ping-t.com/g

#### [TechStock｜AWS WEB問題集で学習しよう](https://techstock.jp/)
上記のPing-tだけでは少し問題演習量に不安を感じたので、AWSの試験対策で有名なTechStockの問題演習にも取り組みました。
長い問題文から形成される問題も多く、難易度は本番のAWS試験に近い印象です。

SAAの試験対策問題だけで1000以上の問題があり、自分はその中からセクション81~166の合計600問程度の問題を2周分取り組みました。
こちらもPing-tと同様に、間違えた箇所をノートアプリに整理を行い、まとめて復習するという学習方法をとっていました。

https://techstock.jp/

# 学習スケジュール
自分の場合は学習を開始してから最初の3週間程度で上記のオレンジ本の通読を2周行いました。
概念理解の部分で、各種AWSサービスを完璧に理解するのは難しいと思うので、ある程度の理解ができたら、どんどん問題演習に取り組むのが良いのかなと思います。

その後、1ヶ月程度はひたすらPing-tとTechStockの問題演習に取り組みました。
問題演習の正答率は最初の方は4~5割程度しか正答することができないという状況が続きましたが、問題演習→復習のサイクルを回していくうちに少しづつ正答率が向上していきました。

試験の直前は、今まで問題演習を行なった箇所を全て見直し、各サービスの違いを改めて確認する時間を取りました。

またC03の試験向けに特別な対策(ex. 出題範囲に載っているあまり知らないサービスに関してもサービス提供内容を理解する)を行いませんでした。
合格のためにはサービスをたくさん理解するというよりも、まずは主要なサービスの詳細&他サービスとの違いをで理解することが重要だと思います。

# 試験当日
筆者は試験センターで受験に臨みました。
65問の試験をとりあえず1周解き終えた時点での感触としては
- 6割くらいは自信を持って回答
- 2.5割くらいは多分あっているだろうくらいの感覚で回答
- 残りの1.5割に関しては迷いがある状態で回答

1周解き終えた時点で残り時間は60分もないくらいの状況でした。
自信を持って回答することができていない4割の問題の見直しを行なったところ、130分の試験を全て使うことになったので、時間的にかなり余裕があるというわけではないかと思います。
(CLFの場合は、時間にかなり余裕があったのでここでもレベルの差を感じました。)

なお、C03の試験では試験終了後すぐに試験結果が表示されることはありません。

5日以内に試験結果が通知されると表示されましたが、筆者の場合受験から3時間半程度が経った時点でtraining and certificationの画面で試験結果を確認することができました(この部分は個人差があるかもしれないです)

# 試験を受けた感想
試験を終えて、合格のために重要だったと思う部分を最後に記述します。
### 試験日程を早めに決める
AWSの試験はいつでも受験することができるので、早めに受験日程を設定することでそこから逆算した勉強計画を立てていました。
自分の場合は概念理解の学習がある程度、進んできた段階でSAAの試験を申し込みました。

また試験日程は自由に変更することが可能です。
(自分は最終的に設定していた受験日から1週間早めた日程で試験に臨みました。)

モチベーションの維持のためにも早い段階で試験日程を設定したのは有効であったと思います。

### 問題演習の重要性
SAAの問題は問題文自体が長いことがあり、問題文で説明されていることを理解することがまず大変です。

アウトプットの初期段階では10問程度の問題演習を行うのにも結構時間がかかる上に、正答率も低かったので、自信がなくなっていったのですが、めげずにアウトプットの学習を継続することが重要だと思います。

筆者の場合は問題演習を重ねることで、各サービスの詳細な機能の理解&他サービスとの違いの理解と合わせて、問題形式自体に慣れていったので、次第に正答率や問題演習にかかる時間は減っていきました。

# 今後の目標
AWS SAAの学習を通してAWSに対する苦手意識を払拭することができたので、実際にAWSサービスを利用した個人アプリケーションを作ってみたいと考えています。
あと、CLF→SAAと合格することができたので、SOAとDVAの取得も目指していければと思います。