10日で大丈夫！AWS認定ソリューションアーキテクト アソシエイツの勉強法！

## AWS使っていますか？

AWSは深く知れば知るほど技術者としてのパラダイムシフトを感じ、これからはこの技術で食っていきたいと感じさせるほど素晴らしい仕組みだと思います。

そして、昨年末に以前から興味のあったAWS認定ソリューションアーキテクト アソシエイツの資格を取得しました。

業務多忙な時期でしたので実際の勉強期間は10日ほどしか取れませんでしたが、実際の試験では正答率9割超で合格することが出来ました。

この記事では私が10日間でAWSソリューションアーキテクトの知識を付けるために行った学習方法を説明します。

## AWS認定ソリューションアーキテクトとは

以下、[AWS公式サイト](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)からの転記です。

> AWS 認定ソリューションアーキテクト-アソシエイト試験は、AWS プラットフォームでの分散アプリケーションとシステムの設計経験がある個人を対象としています。
この試験では以下について理解していることが求められます。
　・ AWS におけるスケーラビリティ、高可用性および高耐障害性の設計とデプロイ
　　 　既存のオンプレミスアプリケーションの AWS への引き上げおよびシフト
　・ AWS とのデータの送受信
　　 　データ、コンピューティング、データベースまたはセキュリティ要件に基づく適切な AWS の各種サービスの選択
　・ AWS アーキテクチャのベストプラクティスの適切な使用の識別
　・ AWS のコストの予測とコストコントロールメカニズムの識別

つまり、一言でまとめると、AWSを利用したシステムを構築する上でのベストプラクティスを理解し、適正なコストで最大限のメリットを得るための設計・構築・運用が可能であることを認定するための資格となります。

## 受験時点でのスペック

40代前半。JavaやPHPなどでの業務WEBアプリの設計・コーディングや環境構築、コンサル・PM・提案・要件定義など幅広くやっています。

業務でのAWS使用歴は約半年。
EC2,RDS,S3,Route53,Lambda,CloudWatchあたりを使っています。

個人的には2年ほど前にAWSアカウントを取得して、技術ブログを参考にEC2やS3を若干さわっていたレベルです。

## 勉強内容

### AWS公式サイトの試験概要を理解する

まずは、試験内容・試験範囲を知ることからスタートしましょう。

AWSは新しいサービスがどんどん追加・機能追加され、試験範囲についても随時アップデートされています。
[公式サイト](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)に最新の試験ガイドがありますので、そちらを確認してください。

| 分野 | 試験に占める範囲 |
|:--|:-:|
| 1.0　高可用性、コスト効率、対障害性、スケーラブルなシステムの設計 | 60% |
| 2.0　実装/デプロイ | 10% |
| 3.0　データセキュリティ | 20% |
| 4.0　トラブルシューティング | 10%  |
| 合計 | 100%  |


### 公式サイトのサンプル問題にチャレンジ

次にどのような問題が出るのかを知るために[AWS公式サイト](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)の試験サンプル問題にチャレンジでいてみましょう。

こちらのサンプル問題も試験範囲のアップデートに伴って定期的にアップデートされますが、５問〜８問程度のサンプル問題があります。

この時点で問題の答えが分からなくても、まずはどのような形式の問題が出るのかを理解するようにしてください。
出題形式は以下のような種類となります。

* 択一問題
選択肢の中から設問の答えとして正しいもの、または記述を完成させるものを1つ選んで回答する。
選択肢が画像の中に埋め込まれている場合は、受験者が選んだ部分に「カーソルを合わせてクリック」することで設問への回答とする。

* 複数選択問題
選択肢の中から、設問の答えとして正しいもの、または記述を完成させるものを複数選択して回答する。

* 状況把握問題
説明文または設問を読み、選択肢の中から与えられた情報を正しく表しているもの、または適切な解決であるものを選んで回答する(複数選択可)。


### 試験対策の勉強をしよう

さあ、いよいよ具体的な学習をスタートさせましょう。

[AWS公式サイト](https://aws.amazon.com/jp/)の各サービスの概要・製品の詳細を読み込んでいく方法が主流の勉強法だと思いますが、試験対策本での学習をお勧めします。

AWSの試験はアップデートが早いため対策本は難しいのですが、「[要点整理から攻略する　『AWS認定ソリューションアーキテクト-アソシエイト』](https://amzn.to/4j5IbMz)」がオススメです。AWS設計におけるベストプラクティスにのっとった基本的な考え方や主要サービスの説明がのっており、バランスの取れた良い内容だと思います。また、紙版だけでなく、電子書籍版（kindle版）も販売されていますので、どこでも学習可能です。

<a href="https://amzn.to/4j5IbMz"><img src="https://m.media-amazon.com/images/I/81U8QQkEZFL._AC_UL640_FMwebp_QL65_.jpg" width="200" height="200" /></a>

私はこちらの本を購入し、毎日通勤時間の1時間は目を通すようにしました。
この本の内容を理解することで、試験全体の８割はカバー出来ていたと感じます。


### 練習問題をたくさんこなそう

試験対策本の各章の最後に練習問題も有りますが、各章で1〜2問しか有りませんので練習問題をもっとこなす必要があります。

そこで、有料ではありますが「Udemy」で問題集を実施することをオススメします。

[Udemy - AWS認定ソリューションアーキテクトアソシエイト](https://www.udemy.com/courses/search/?src=ukw&q=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%E3%82%A2%E3%82%BD%E3%82%B7%E3%82%A8%E3%82%A4%E3%83%88)

いくつか試験問題集が表示されますので、利用者が多く評価の高い問題集を購入することをオススメします。
対策本を２回読み終えたぐらいのタイミングからは、Udemyで問題集を購入して、ひたすら問題を解きまくりました。


### 模擬試験を受けよう

[AWS公式サイト](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)から模擬試験を受けることが出来ます。

こちらは、本番の試験と同じシステムを使った試験となりますので、試験形態に慣れる意味合いでも受けることをオススメします。

１回２１６０円で模擬試験をオンラインで受けることが出来ます。
模擬試験の時間と問題数は本試験の半分程度のボリュームになりますが、問題内容はおそらく本試験と同じものを使っていると思われます。

１つ模擬試験の注意点ですが、模擬試験では何が正解だったか不正解だったかの回答は表示されず、各セクション別の正答率が何％だったか、全体の正答率が何％だったかしか表示されません。

オンラインでの試験でしたので、画面キャプチャを取りながら、試験後に自分で自己採点を行いましょう。


私の場合は、試験の3日前に模擬試験を受けて、結果は85%でした。
模擬試験のセクション別の点数が、トラブルシューティング部分が極端に低かったので、残りの2日は公式サイトの主要サービスの「よくある質問」部分を繰り返し読むようにしました。

### 本試験を受けよう。

模擬試験と異なり、本試験は試験会場での受験となります。

試験では、時間配分を考えながら、わからない問題は後回しにするなど、残り時間を考えながら解いていきましょう。
問題はランダムな順序で出されますので、１つの問題に時間をかけすぎるとイージーな問題を落とすことに繋がります。少し考えて分からないような難しい問題は捨てても良い覚悟が大事だと思います。

あとは、問題により、チェックを１つだけ付ける問題、複数チェックをつける必要がある問題などがありますので、そこを間違えないようにしましょう。

試験結果は、試験終了後すぐに分かります。

## まとめ

これらの勉強法で、９０％超の正解率で合格することが出来ました。

単純にケースを記憶するのではなく、何故そのような考え方になるのかを理解していくことが大事だと思います。

今後もAWSを使い続け、より理解を深めてプロフェッショナルを取得したいと思います。