【まもなく終了！】【合格メモ】AWS認定ソリューションアーキテクト - アソシエイト(SAA)

# はじめに
AWS認定(SAA-C01)（以下、旧試験）に無事合格したので、忘れないうちにやってきたこと投稿します。
なお、本試験は2020/3/22で終了し、新試験(SAA-C02)に移行されます。※本記事執筆時点では、残り1週間。。。
#### 想定読者
- 新試験移行前の駆け込みで試験に申し込み、3/20-22の3連休での受験予定の方
- 新試験を受験予定であるが、申し込み前で勉強法を検討中の方

似たような記事が既にたくさん存在するため、なるべくオリジナルな記事になるよう努めています。

似たようなラーニングパスの方の自信となれば幸いです。


## テスト概要（新旧比較）


 項目 | 旧試験(C01) | 新試験(C02) |
|:-----------:|------------|:------------|
|回答タイプ| 選択問題と複数選択問題| 同左|
|合格基準|720点(100〜1000)| 同左|
| 出題分野１(配分) |回復性の高いアーキテクチャを設計する(34%)|レジリエントアーキテクチャの設計(30%) |
| 出題分野2(配分) | パフォーマンスに優れたアーキテクチャを定義する(24%)| 高パフォーマンスアーキテクチャの設計(28%)|
| 出題分野3(配分) | セキュアなアプリケーションおよびアーキテクチャを規定する(26%)| セキュアなアプリケーションとアーキテクチャの設計(24%)|
| 出題分野4(配分) | コスト最適化アーキテクチャを設計する(10%)| コスト最適化アーキテクチャの設計(18%)|
|出題分野5(配分)|オペレーショナルエクセレンスを備えたアーキテクチャを定義する(6%)|

表現が一部変わった程度で、大きな変更はないように見えます。

CloudWatchを始めとするモニタリングやログの運用方法等に関する範囲が削除されているため、おそらく受講者の業務領域や役割の実態に合わせて見直しされたと想定。(AWS 認定 SysOpsとの住み分けも関係あるかも)

## 合格基準と項目反応理論
100〜1000点中、720点が合格点なので、65問中、概ね44問程度に正答すれば良いかというと、そうではありません。
また、勉強方法としても、例えば「回復性」に関する問題は出題範囲が広いので、広く浅く学習しておけば良いと考えてしまうのはあまり良くありません。難易度の高い問題が解けずに、正答数の感触の割には点数が低いということになりかねません。

これは、項目反応理論(IRT)と呼ばれるテスト理論により、問題の難易度に応じて得点分布や出題範囲を事前にコントロールされているためです。

偏差値のように、受講生同士の学力の位置づけを測るだけであれば、例えばセンター試験の難易度が急に上がったとしても、全員が同じ条件で受講しているため、能力を測ることができます。
逆に、全員が同じ条件でなくても能力を測るには、この理論により、誰がいつ受験しても、人によって問題が異なっていたとしても、正しく能力がスコアリングされます。

それを踏まえた上で、、、
例えばAWSソリューションアーキテクトの書籍を読んだだけでは、幅広い知識をつけることは可能ですが、読者の能力をあげるような工夫はされていないため、結果的に本番では簡易な用語で判断できる問題しか回答できません。
(TOEIC試験に対して、英単語を覚えただけでは解けない状態と同じです)

## おすすめの学習方法
### 1. まずは広く浅くサービスを網羅した知識をつける
書籍を1冊読み込みます。自分は黒本([徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書](https://www.amazon.co.jp/%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5-AWS%E8%AA%8D%E5%AE%9A-%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88-%E2%80%93-%E3%82%A2%E3%82%BD%E3%82%B7%E3%82%A8%E3%82%A4%E3%83%88%E6%95%99%E7%A7%91%E6%9B%B8/dp/4295005495/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88&qid=1584205164&sr=8-2))を1冊買いました。
実際の試験と目次構成は同じでしたが、前述の通り、これを読んだだけで実践に近い問題に対応するには情報量が足らず、むしろ部分的に読み返すには探しにくい構成でした。

サービスごとにまとまっている書籍 + [AWS公式のサービス別資料集](https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/)(AWS Black Belt)で学習することをおすすめします。

とくにAWS Black Beltの「動画」はわかりやすく、網羅的でかつベストプラクティスに沿ったポイントが説明されており、効率的に学ぶにはとても良い学習教材です。


### 2. 実際に手を動かし、パターン別の構築方法を身につける
書籍で一通り基本を抑えられれば、今度は構築パターンを身に着けます。

実際の問題では、「サーバからインターネットにアクセスする」要件や、「インターネットからサーバにアクセスする」要件など、要件ベースの出題が多く、「セキュリティグループとは何でしょう」というような直接的な知識は問われません。

例えば、
「インターネットからのhttpsアクセスのみを許可し、Webサーバを負荷分散したうえでプライベートサブネットに配置し、配下のAPサーバからインターネットへのアクセスできる構成」
を実際に構築しようとすると、
VPC、サブネット、インターネットゲートウェイ、セキュリティーグループ、ELB、NATゲートウェイ(インスタンス)といった機能やサービスを知っていないと構築できません。

(少なくとも試験対策用の)書籍では、上記のような実現したい構成に沿った記載はないため、チュートリアル等を通して、必要な設定やサービスをイメージしやすくする必要があります。

Udemyの教材([これだけでOK！ AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座（初心者向け22時間完全コース）](https://www.udemy.com/course/aws-associate/))は、ハンズオン形式の構成になっており、かつ小テストで復習可能であるため、ちょうど良い教材かと思います。

また、個人のAWSアカウントを持っていれば、実際に画面を操作して感覚を掴むことができます。基本的に「使った時間課金」なので、試しに作って削除すれば、コスパ良く学習できます。

自分は実務でEKS（少なくとも旧試験では登場しないサービス）を少し触っていたため、Udemyは模試のみしかやっておらず、個人アカウントでAWSを触ることも特にやってません。


他には、[「AWS Summit」](https://aws.amazon.com/jp/summits/tokyo-osaka-2019-report/)や「AWS Innovate Online Conference」などで事例動画を見たり、「AWS 認定 - 試験対策オンラインセミナー」など、AWSで定期的に[配信されているセミナー動画](https://aws.amazon.com/jp/about-aws/events/webinars/)を参考に、パフォーマンスや可用性を高めるために組み合わされたサービスの構成パターンを数多くインプットすると、実際の問題のイメージをつかみやすくなります。


### 3. 実際の問題に近い形式の問題を数多くこなす
上記までを全ての分野で理解できるようになれば問題ありませんが、実際にはそんな時間は取れない場合が多いかと思います。手を動かすにしても、環境や予算の制約もあるかと思います。
その場合は、模擬試験を含めた、実際の問題形式に「慣れる」ことで、得点を底上げすることは可能だと思います。
例えば、「Amazon Redshift」や「Amazon DynamoDB」「Amazon SQS」を組み合わせたシステムなどは、自身で構築するには限界があります。
これらはユースケースが限られているため、ある程度問題を解くだけで、問題のパターンとして覚えてしまうことができます。
自分は、試験1週間前に初めて模試で問題を解き、Udemy教材の模試×3と、黒本の特典である模試1回分を活用しました。

## これまでやってきたことと自身の得点率
- 実務でEKSを中心に、ELB、AutoScaling、RDSを触る。（付随してサブネットやセキュリティグループも）
- AWS公式動画を20本くらい見る
- 黒本を1週
- 公式模試試験を受講(試験1週間前)：スコア68%

本番の問題形式を初めてやったのが上記のタイミング。
模擬試験よりも「本番は難しい」といろんな記事で書かれていたため、若干焦りを感じました。

***
<img width="521" alt="AWS公式模擬試験スコア.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/210323/445d0178-d2ca-54f3-10ba-0ed6272ba41f.png">
***
パフォーマンスやコストが弱点分野だと明確に出たので、以降は重点的に学習しました。

多くの合格記事を書いてる人が使っていた[WEB問題集](https://aws.koiwaclub.com/)は、4000円ということもあり購入をやめました。そのかわり、[無料のWeb問題集](https://aws-exam.net/saa/saa_question.php)を125問解き、[Udemyの講座](https://www.udemy.com/course/aws-associate/)をキャンペーン価格の1500円で購入しました。（キャンペーンは常にやっている気がします。。。）

この時点で1週間前なので、Udemyの22時間の講座はスキップしました。

- 無料のweb問題集125問
- Udemy模試1：66%
- Udemy模試2：68%
- Udemy模試3：70%

Udemyの模試は、本番で似たような問題が出たものも多数あり、やっておいて良かったと思います。
ただ、たまに誤字があったり、答えそのものが誤っている問題も1問くらいあった気がします。

- 黒本の特典の模試試験(試験前日)：74%
- 本番：836点

本番は、見返す用のフラグを付けた問題が20問程度あり、サービス・機能がわからない問題が3問ほどありました。

70分程度経過した段階で、フラグを付けた問題の見返しに入り、問題文から「高可用な」「スケーラブルな」「パフォーマンスが高い」「コストが最適な」「頻度(○回/日など)」「特定の時間帯」などの条件を読み取り、選択肢を消去することで、ほぼ2択には絞り込みました。

その後、時間いっぱいまでフラグを付けていない問題も再確認しましたが、選択肢は何も変更せずに終了。

その場で合格の通知がされ、半日経過したくらいで受験したアカウントに試験のスコアが掲載されました。

***
<img width="1066" alt="AWS(SAA)試験結果.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/210323/0683dc7f-5216-ecf4-3399-0eb60ae34184.png">
***

## 実際の本番の難易度はどの程度？
非公式の問題集や模擬試験と比べて、本番はどの程度難しかったかというと、体感はやや難しかったです。
というのも、問題集ではほとんど出てこなかったサービスや機能が出てきました。それでも、今までの模試よりもスコアが高かったのは、問題の難易度によるものとも考えられます。
知らないサービスが出てくると難しくは感じますが、逆に知っていれば解ける問題は難易度（配点）が低いため、人によって感じ方が異なるのだと思います。


## 受験タイミングについて
模擬試験で6〜7割程度のスコアが取れてきたタイミングで、余裕をもったスケジュールで受験日を決めることをおすすめします。他の試験と異なり、誰がいつ受けても同じようにスコアリングされるので、準備ができてから受けるべきです。
それでも、今回のように試験内容が切り替わるタイミングを迎えた場合、最後の1週間の追い込みだけでも、得点率は確実にあがるので、問題のパターンを叩き込むのも一つの手法です。


## その他、意識したこと
- 受験時間帯は午前中を選ぶ（一日で最も集中できる時間）
- 本番と同じ時間帯に模試を受ける
- 公式動画は倍速で視聴し、試験範囲の箇所のみ見返す（だいたい前半に多い）
- 模試で得点が伸びなかった分野を重点的に再学習する

## おすすめ公式資料集
以下は、個人的に2週ずつくらい視聴しておくべき内容をピックアップしたものです。

Amazon EC2
https://youtu.be/P5zX4DdlYOE

Auto Scaling
https://d1.awsstatic.com/webinars/jp/pdf/services/20170315_AWS-BlackBelt-AutoScaling.pdf

AWS Elastic Beanstalk
https://d1.awsstatic.com/webinars/jp/pdf/services/20170111_AWS-Blackbelt-Elastic-Beanstalk.pdf

Amazon Elastic Block Store (EBS)
https://youtu.be/ffND-tX1Qxs

Amazon Simple Storage Service (S3)
https://youtu.be/oFG5kMZjKtc

AWSの16あるデータベースを使いこなそう
https://youtu.be/0y4Py1_Nfe0

Amazon DynamoDB
https://d1.awsstatic.com/webinars/jp/pdf/services/20170809_AWS-BlackBelt-DynamoDB.pdf

Amazon ElastiCache
https://d1.awsstatic.com/webinars/jp/pdf/services/20171214_AWS-Blackbelt-ElastiCache.pdf

Amazon Relational Database Service (RDS)
https://youtu.be/nDme-ET-_EY

Amazon Redshift
https://d1.awsstatic.com/webinars/jp/pdf/services/20160720-AWS-BlackBelt-Redshift-public-v02.pdf

Elastic Load Balancing (ELB)
https://youtu.be/4laAoK-zXko

Amazon Virtual Private Cloud (VPC) Basic
https://youtu.be/aHEVvsk6pkI

Amazon CloudFrontの概要
https://youtu.be/mmRKzzOvJJY

Amazon CloudFront AWS Lambda@Edge
https://d1.awsstatic.com/webinars/jp/pdf/services/20170927_AWS-BlackBelt-CloudFront-LambdaEdge.pdf

Amazon Route 53
https://d1.awsstatic.com/webinars/jp/pdf/services/20160113_aws-blackbelt-route53-public.pdf

Amazon EC2 Auto Scaling and AWS Auto Scaling
https://youtu.be/o01IOnVvRxM

Amazon CloudWatch
https://youtu.be/gOaZeJpb0Y4

AWS CloudFormation
https://youtu.be/HU47ZAM3mtw

AWS Config
https://youtu.be/vnqX0gMj6jw

Amazon Simple Queue Service (SQS)
https://youtu.be/avfc0gQ7X0A