AWS認定ソリューションアーキテクトアソシエイトを取得するためにやったこと(2018年2月リリース版)

# はじめに
2019年2月末にソリューションアーキテクトアソシエイトを取得しました。
スコアは753点（1000点満点）、合格ラインが720点だったのでかなりギリギリでした。

# この記事でわかること

- 資格取得に必要と思われる前提知識
- 具体的な勉強方法

資格を取りたくていろいろ調べたけど具体的な情報が少なくて何をどうやって勉強すればよいのかわからない人（わたしもそうでした）にとってお役に立てる記事になれば幸いです。

# 取得にかかったコスト
- 公式の模擬試験：2,100円
- 本試験：16,200円
- 問題集：16ドルくらい（Whizlabs）※後述します


# 必要な前提知識は2つ
ソリューションアーキテクトアソシエイトはAWSのサービスの概要に関する問題がほとんどで、いわゆる合格対策本もサービスに関する説明に重点が置かれていると思います。
しかし、各サービスの知識を勉強する前に、対策本には載っていないであろう**2つの前提知識**が必要だとわたしは思っています。

資格を取得するためにこういう勉強をしたという記事は多く見かけますが、その前にこういう前提知識が必要だと説明している記事はあまり無く、身に着けないままAWSの各サービスの勉強しても「よくわからない」となってしまうのではないでしょうか。

## 1. 自分のデバイスからQiitaのこの記事を表示するまでに何が起きているかを理解する
これが言えるためにはIT基礎知識、特にインフラに関する知識が必要だと思います。

- プライベートIPアドレス
- サブネットマスク
- デフォルトゲートウェイ
- NAT
- グローバルIPアドレス
- 名前解決
- ルーティング
- プロトコル（HTTP）
- サーバ（たとえばWeb、DB）の役割

これらは過去からあまり変わっていない技術なので[3分間ネットワーキング](http://www5e.biglobe.ne.jp/aji/3min/)を見るとよいです。

## 2. システム構成をイメージできる
問題文を見たときに、どういうシステム構成なのか頭のなかでイメージできることが大事だと思います。
たとえばELBがあってその下にEC2が2台接続されているという文があった場合に頭の中で構成が浮かぶかどうかです。
こちらはAWSの各サービスに関する知識が増えると自ずと図が書けるようになると思います。

参考：[デザインパターン](https://aws.amazon.com/jp/cdp/)


ハードル高い！と感じる人がいるかもしれませんが、この2つの理解があると、資格取得が随分と楽になると思いますし、特にインフラエンジニアにとっては基本的なスキルなので、もしまだスキルが無いということであればこのタイミングで身につけてしまうのが良いと思います。



# 勉強方法

## 試験ガイドを読む
[試験ガイド](https://d1.awsstatic.com/training-and-certification/docs-sa-assoc/AWS%20Certified%20Solutions%20Architect%20-%20Associate_Exam%20Guide_v1.5b_FINALJA.pdf)の得点配分を見て「なんのこっちゃわからないけどこれが問われるのか」と思うくらいでOKかと。

| 分野 | 試験における比重 |
|:-----------------|------------------:|:------------------:|
| 分野 1: 回復性の高いアーキテクチャを設計する| 34%|
| 分野 2: パフォーマンスに優れたアーキテクチャを定義する|24%|
| 分野 3: セキュアなアプリケーションおよびアーキテクチャを規定する|26%|
| 分野 4: コスト最適化アーキテクチャを設計する|10%|
| 分野 5: オペレーショナルエクセレンスを備えたアーキテクチャを定義する|6%|

## 各サービスの資料をひたすら読む
AWSはサービスが多くて全部覚えるのは厳しいのでわたしはサービスをかいつまんで資料を読みました。
（全て試験に出るというわけでなく、これで十分かどうかもわかりません）

- EC2
- EBS
- VPC
- ELB
- AutoScaling
- S3
- DynamoDB
- SQS
- SNS
- Route53
- ECS
- RDS
- Aurora
- Redshift
- Kinesis
- Cloudfront
- API Gateway
- Lambda
- EFS
- スポットインスタンス

AWSが[コチラ](https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/)にサービス別の資料をまとめてくれています。


## 問題集を解く
試験の感覚をつかみたかったのでwhizlabsという海外のサイトで問題集を購入しました。
[AWS CERTIFIED SOLUTIONS ARCHITECT ASSOCIATE – PRACTICE TESTS](https://www.whizlabs.com/aws-solutions-architect-associate/practice-tests/)
クーポンを自力で探すと$16くらいで購入できました。

問題集の概要は以下のとおりです。
>
1. 7 Full length mock exams (605 unique questions)
2. Set of 6 quiz with 65 questions in each quiz for CSAA February 2018 version
3. Section Tests – 7 objective/topic-wise quiz for February 2018 version (120 unique questions)
4. An exhaustive explanation for every question
5. Reports to assess strengths & weaknesses
6. Unlimited Access

問題数がとにかく膨大です。問題にはフラグを立てられるのでわからない問題、間違えた問題にフラグを立てておくとあとから見直しもしやすいです。
問題は英語ですがとても簡単な単語で構成されているので、翻訳しなくても大丈夫なレベルです。
わからない単語は調べましたが、同じ単語が何度も出てくるのでその内覚えました。

この問題集のよいところは、各設問の詳しい解説（正解と不正解の理由）と参照する公式ドキュメントのリンクが提示されているところで、理解がぐっと深まります。
なお、公式ドキュメントなので、言語選択で日本語を選ぶと日本語ドキュメントが表示できます。

いきなりお金かかるのはちょっと･･･という方は無料のテストがあるのでこちらを解いてから購入するかを決めると良いと思います。
[AWS CERTIFIED SOLUTIONS ARCHITECT ASSOCIATE – FREE TEST](https://www.whizlabs.com/aws-solutions-architect-associate/free-test/)

本試験の日本語訳が微妙という情報をちらほら見かけますが、当日の本試験では日本語問題を英語に切り替えることができるので、whizlabsで英語問題になれておくと良いと思います。

## 公式の模擬試験を受ける
日本語の試験感覚をつかみたかったので模擬試験（2,100円）を受けました。
Web試験です。合否通知のみで回答の解説は無し、どこが間違ったかは教えてくれません。
88点（100点満点）だったので本試験を受ける決心をしました。

## 本試験
模擬試験後に本試験の日程を決めて本番当日を迎えました。
Whizlabsで間違えた問題を再度解いて理解を深めてから臨みました。

# さいごに：資格取得の目的とは？
モチベーションを維持するためにぶれない目的が大事だと思ったので、わたしは資格取得の目的を以下のように設定しました。

- 資格取得そのものが目的ではなく、AWSを使ったソリューションを提示できるようになりたいから。
- それには数多あるAWSのサービス概要や使いどころを理解する必要があるから。