暗記が苦手な人間が「AWS認定ソリューションアーキテクト - アソシエイト」に5日間で合格した話

AWS(Amazon Web Service)は言わずと知れたシェアNo.1のクラウドコンピューティングサービス[^1]です。そのAWSの認定の中でも屈指の人気を誇る「AWS認定ソリューションアーキテクト - アソシエイト」を5日間の勉強で合格することができました。本当に月曜日に思い立って試験の申込みをして勉強を開始し、その週の土曜日の朝一の試験で合格しました。本記事はその合格に至るまでの体験談になります。

[^1]: AWSは主にIaaS(Infrastructure as a Service)を提供しています。

(本記事は[自分のブログ](https://hinastory.github.io/cats-cats-cats/2019/08/20/aws-solution-architect-associate/)からの転載記事です。)

# はじめに

最初にお断りしておきますが、[AWS認定プログラムアグリーメント](https://aws.amazon.com/jp/certification/certification-agreement/)の規約により、認定試験を含む試験関連資料の内容については他言してはいけないことになっているので、その辺はAWSが公開している情報に準拠します。そして試験やAWS自体も今後変わっていくと思われるので、実際に受ける際には最新の情報を確認するようお願いします。

また、本記事は筆者の体験談になりますので、以下の条件に合わない人の参考にはならないかもしれないのでご注意ください。

- 「AWS認定ソリューションアーキテクト - アソシエイト」に短期集中型かつ実践重視で合格したい中堅エンジニア
  - ITの基礎知識(OS、DB、ネットワーク、セキュリティ)があり、ソフトウェアの開発経験あり
  - AWSのサービスに関してEC2、VPC、S3くらいには触ったことはあるが、それ以外は自信がない
  - 書籍よりもハンズオンで実践的にAWSを使う技術を身につけたい
      - ぶっちゃけ暗記が苦手もしくは嫌い
  - 夏休み等のまとまった連休を使って一気に資格を取りたい

# 「AWS認定」とは

まずは簡単にAWS認定についてどういったものなのかを説明したいと思います。すでにご存知の方はこの章は飛ばしてください。
AWS認定は簡単に言えば「AWSの専門家」を認定するためのもので、特徴としてはAWSの実務経験を強く意識した試験になっていると思います[^2]。

<blockquote><p>
AWS 認定は、業界で認められている資格情報を使用してクラウドの専門知識を認証することで、学習者が信頼性と自信を築くことと、組織が AWS を使用してクラウドを主導していくスキルのあるプロを識別することに役立ちます。
</p><br><strong>AWS認定 https://aws.amazon.com/jp/certification/</strong></blockquote>

[^2]: 実際に実務経験の有無を確認されるわけではありません。あくまで実務経験が必要なレベルだということだと思います。AWS認定のQ & Aにも認定に際する前提条件はないことが書かれていました。実際に「AWS認定ソリューションアーキテクト - アソシエイト」を合格された方の中には実務経験の無い方やAWSを触ったことが無い方もおられるようです。

## 「AWS認定」の全体像

AWS認定は3つののレベルと専門領域から成り立っています。自分が合格した「AWS認定ソリューションアーキテクト - アソシエイト」は、その3つのレベルの認定のちょうど中間の「アソシエイト」レベルのもので、1年間のAWSを使った実務経験がある方が対象となっています。「ソリューションアーキテクト」とは、実際にAWSを使った安全かつ堅牢なソリューションを設計できる人材を指しています。

<img width="800" src="https://hinastory.github.io/cats-cats-cats/gallery/daily/cloud/aws/AWS-Certification-Current-Roadmap-May2019.png"></img>

***[AWS 認定](https://aws.amazon.com/jp/certification/)より引用***

アソシエイトレベルには他にも「AWS 認定デベロッパー – アソシエイト」と「AWS 認定システムオペレーション (SysOps) アドミニストレーター – アソシエイト」があり、それぞれAWSを使った「開発」と「運用」の分野のプログラムになっています。上位レベルの「プロフェッショナル」には、「ソリューションアーキテクト」はそのまま上位認定がありますが、「開発」と「運用」は統合されて「AWS 認定 DevOps エンジニア – プロフェッショナル」という認定になっています。「プロフェッショナル」レベルは2年間の実務経験たある方が対象になっています。また、アソシエイトの下には「AWS 認定クラウドプラクティショナ」という基礎レベルの認定もあります。このレベルは特に区分けはされておらず半年の実務経験が想定されています。

3つのレベルの外には5つの専門領域があって、それぞれ「セキュリティ–」、「ビッグデータ」、「高度なネットワーク」、「機械学習」、***「Alexa スキルビルダー」***になります。うーん、何か一つだけとてつもなく浮いている認定があるのですが、これは突っ込みどころなのでしょうか・・・ Alexaのスキル開発を**「専門領域」**と呼ぶには他の領域と比較してもニッチすぎる気が・・・ どうしてもAmazonが押したいのは理解できますが、せめてネーミングだけでも「音声自動化」とか汎用的なネーミングの方が違和感がなかった気がします(笑)。

## 「AWS認定ソリューションアーキテクト - アソシエイト」の認定試験について

「AWS認定ソリューションアーキテクト - アソシエイト」の認定試験の概要は以下のとおりです。以下はアソシエイトレベルの試験では共通しています。合格ラインに関しては720固定ですが、スコア自体はTOEICのように試験問題の難易度に応じて調整されるようです。

- 試験時間
  - 130分間
- 問題数
  - 65問
- 回答タイプ
  - 択一選択問題: 選択肢には 1つの正解と3つの不正解
  - 複数選択問題: 5つの選択肢のうち、2つが正解
- 合格ライン
  - 100～1000点の範囲のスコアでレポート
  - 最低合格スコアは720
- 受験料金
  - 15,000 円（税別）/ 模擬試験 2,000円（税別）
- 試験言語
  - 英語、日本語、韓国語、中国語 (簡体字)
- 認定期間
  - 3年
  - 再認定時は同じ試験を50%割引で受けられる

試験範囲は以下のとおりです。

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

ご存知の方もいるかも知れませんが上記の分野は「[Well-Architectedフレームワーク](https://aws.amazon.com/jp/architecture/well-architected/)」に沿って決められているので、まずは「Well-Architectedフレームワーク」がどういったものかをざっくり理解してから試験に取り組んだほうがよいかと思われます。

# スペック

さて、いよいよ本題の体験談に入っていきたいと思います。まずは試験を受ける前の自分の力量を以下に簡単に書き出してみました。

- 基礎知識
  - OS、ネットワーク、DB、セキュリティの基本的な知識あり
- クラウド関連
  -  AWS
     - EC2関連、VPC、S3に関しては「開発」、「テスト」で利用するには問題ないレベル
     - その他の基本的なサービスに関しては名前と機能を知っているか若しくは軽く触った程度で、雑な知識と経験しかない
  - GCP,Azule
      - 少しだけ触ったことがある程度
  - Docker, Kubernetes
      - 利用経験あり
- 開発経験
  - ミドルウェアやWebアプリを中心にいろいろ

まぁ、上記のとおりなので「初心者が5日間でとった！」みたいな衝撃的な内容ではないです。また、AWSに関してもEC2関連とVPC、S3といったAWSのキモは押さえており、その点だけでもかなり有利なのであまり参考にならない体験談かもしれません・・・

# きっかけと動機と衝動

AWS認定試験を実際に受けようと思ったきっかけは「[【未経験でも挫折しない】40時間でAWS認定ソリューションアーキテクトアソシエイトを取得する方法 - Qiita](https://qiita.com/rexiaxm7/items/c5b361ce14c55c19b13a)」という記事を読んでからでした。実はAWS認定自体は以前から知っていましたが、試験勉強よりも手を動かす方が好みなのでスルーしてきました。しかしこの記事では[Udemy](https://www.udemy.com/)[^3]の以下の講座がオススメされており、しかしちょくちょくセールもやっているということだったので覗いてみたら、見事にセール中だったので釣られてしまいました・・・

- [これだけでOK！ AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座（初心者向け21時間完全コース） | Udemy](https://www.udemy.com/aws-associate/)

とりあえずこのときは買っただけで満足して放っておいたのですが、夏休み中に急に天からとある言葉が降ってきたのです。`「そうだ、AWS認定を受けよう」`

[^3]: Udemy（ユーデミー）は、世界で2,400万人が利用する世界最大級のオンライン動画学習サービスです。

# 試験の申し込み

思い立ったが吉日、さっそく試験の申込みをしました。試験日は自分の実力と確保可能な時間から考えて最短で合格できる期日を設定しました。そうすれば、最短の合格に向けてモチベーションを維持しやすくなると思ったからです。自分はちょうど夏休みで勉強時間が確保できる見込みがあったので、試験日を申込日(8/12)から5日後の8/17(土)にしました。ちなみに、試験は24時間以上前なら無料でキャンセル可能であり、試験の延期も可能なので試験を受ける気になったら申し込みを躊躇する理由はありません。

試験の申し込みは以下のページからアカウントを作成して申し込む必要があります。

- [AWS 認定 | AWS トレーニングと認定](https://www.aws.training/Certification)

試験のプロバイダーにはPSIと[ピアソンVUE](https://www.pearsonvue.co.jp/)があるのですが、まずはピアソンVUEで試験会場を探してみることをオススメします。自分はピアソンVUEでしか受験したことがないので完全に私見になりますが、ピアソンVUEはAWS以外にも試験開催が豊富で安心して受験できます。今回は「[武蔵小杉テストセンター](http://www.breakthru.co.jp/test/index_v.htm)」で受験しましたが、申し込みから受験まで特にトラブルはありませんでした。

# 勉強方法

正直言って、前述したQiita記事とほぼ同じです。ただし自分は書籍での勉強は行わず、UdemyのコースとWebで無料で公開されている問題だけを解きました。特にUdemyのコースをのハンズオンを重視して手を動かしながら、重要なサービスについてはきちんと理解するまで触りました。

1. サンプル問題の確認
   - [このページ](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)から「サンプル問題のダウンロード」をクリック
2. Udemyのコースを受ける
   - [これだけでOK！ AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座（初心者向け21時間完全コース） | Udemy](https://www.udemy.com/aws-associate/)
3. 公式模試を解く
   - [AWS認定のページ](https://www.aws.training/certification?src=cert-prep)から、アカウントを作成して申し込む(税抜2000円)
4. Web上の問題を解く
   - [AWS SAA/SAP資格 予想問題集 Web版 | 日本語完全無料](https://awsjp.com/exam/saa-sap/c/)

基本的には上記の順番で勉強したのですが、せっかく五日間で集中して終わらせたので、ここからは日付ごとにもう少し掘り下げて実施したことや感想、注意点を述べたいと思います。

## 一日目(月曜日)

まずは、試験概要の確認とサンプル問題の確認を行いました。どんな試験でもそうですが、合格を目指すならまず最初に試験の形式の把握と具体的な問題の傾向を把握することは一番最初にやるべきことだと思います。これをやらないと見当違いの対策をしてしまい後で後悔する可能性が高くなります。試験の概要とサンプル問題へのポインタは前述したとおりです。サンプル問題は初見で10問中5問しか正解できませんでした。つまりこのままでは確実に落ちるのでしっかりと対策を行う必要がありました(汗)。

次にUdemyのコースを受けました。基本的には動画で講義を観ながら適宜ハンズオンを実施する形式です。講義は時間がもったいないので1.75倍速で観ました。重要なところはブックマークができるようになっているので、セクションを見終わった段階で見直してメモに書き出してました。ハンズオンは動画を観ながらじっくりこなしています。知識と実際のAWSの感触は大分違うので、このハンズオンの内容レベルがきちんと身についていないと実務ではまったく役に立たないと思います。正直言って合格したいだけなら、ハンズオンをやらなくても「模擬試験」をたくさんこなせば合格は可能だと思います。しかし自分は実践的な能力の向上も欲しかったのでハンズオン重視で取り組みました。

- セクション1  まずは知ってみる
- セクション2  Day1対応の実施
- セクション3  AWSとアソシエイト試験の概要
- セクション4  IAM
- セクション5  EC2

初日はUdemyのコースをセクション5まで進めました。ある程度知識があった箇所なので動画も理解している箇所はがんがん飛ばしてきいきました[^3]。IAMは知っているようで、意外と理解できていない部分があったので勉強になりました。

ハンズオン後に重要なのEC2を起動したまま放置しないことです。使わないのなら停止して、できれば削除したほうが安く済みます。動画でも注意されますが、気をつけておかないとすぐに料金に跳ね返ってきます。なので忘れないようにCloudWatchの請求でアラームをしかけておくか定期的に「マイ請求ダッシュボード」で料金を確認する習慣をつけることをオススメします。

[^3]: 動画は5秒単位で飛ばすことも、戻ることもできます。

## 二日目(火曜日)

二日目の最初はVPCとS3のハンズオンをしっかりやりました。このふたつはAWSを代表するサービスなので、AWSのコンソールから一通りできることを確認して理解があやふやな箇所がないようにすることが肝要です。「[Well-Architected Framework](https://aws.amazon.com/jp/architecture/well-architected/)」はAWSが推奨するAWSを使った設計の方法論です。これは非常に重要なのでしっかりと理解すべきで、動画だけでなくホワイトペーパーもしっかり目を通して置く必要があります。クラウドではキャパシティプランニングやセキュリティの考え方が特にオンプレとは異なるので要注意です。

- セクション6  VPC
- セクション7  S3
- セクション8  Well Architected Framework

## 三日目(水曜日)

三日目はクラウドの強みともいえる、高可用性、信頼の設計です。おなじみのマルチAZ構成のWebサーバをロードバランシングとオートスケールさせるやつです。さらにデータベース(RDS)を定期的にS3にスナップショットでバックアップをとりつつ、マルチAZ構成で自動フェールオーバできるようしてリードレプリカでスケールアウトさせる構成も学びます。

次にRoute53はDNSですが、ただのDNSではありません。基本的にはBINDでDNS運用の経験がある人なら特に問題なく利用可能ですが[^4]、aliasレコードやルーティングポリシーやトラフィックフロー等、新しい機能や概念も出てくるのでしっかりと理解する必要があります。あと、ハンズオンでドメイン名を使うので持っていない人はドメイン名を[お名前.com](https://www.onamae.com/)で早めに取得しておいた方が良いです[^5]。DNSの反映には数時間から72時間かかるので、もしドメインを新規取得するなら早めにやっておくことをオススメします。

データベースではDynamo DBやAurora、EFSのハンズオンがあり、よく理解できていないところもあったので助かりました。そしてなぜかデータベースのセクションにIoTでよく用いられるKinesisのハンズオンも含まれていました。いや、ハンズオンは良かったのですが「なぜ、ここにいれたし」と思ってしまいました（笑）。

- セクション9  信頼性の設計
- セクション10 Route53
- セクション11 データベース

[^4]: Route53はWindowsサーバのDNSよりもBIND寄りの印象ですが、それをさらにシンプルにして使いやすくした感じです。さらにマネージドサービスでSLA100%を謳っています。すごい・・・
[^5]: 動画でも説明されていますが、Route53でドメインを購入すると結構お高いです。お名前.comなら「.work」ドメインを1円で販売していました(2019年8月18日時点)。

## 四日目(木曜日)

四日目は一番楽しみにしていました。この日に学べるサービスは「ElastiCache」、「Lambda」、「CloudFormation」です。もちろん一番興味があったのはサーバレスの中核を成す「Lambda」で、FaaS(Function as a Service)をAWSでどのように実現していくのかを学びました。手を動かしてみると今までの知識だけの理解とは違い色々分かって面白かったです。特に「`設計図`」や「 `Serverless Application Repository`」等で簡単に始められて共有する仕組みがあり、他の人が作ったサーバレスアプリケーションを眺められたので勉強になりました[^6]。「ElastiCache」は使い方が限られているので役割をしっかり押さえておけば大丈夫です。「CloudFormation」は実務では凄い有用ですし実際触ってみると嵌りどころが多い機能ですが、試験ではそこまで突っ込んだ内容は出ないと思われるので、時間がなければ役割とフォーマットだけ押さえておけば大丈夫です。

- セクション12 キャッシュの活用
- セクション13 サーバレス
- セクション14 環境の自動化

[^6]: せっかくなので、自分もいくつかサーバレスアプリケーションを作って「 `Serverless Application Repository`」に公開してみたいと思います。いつになるかは分かりませんが・・・

## 五日目(金曜日)

五日目は最後の仕上げです。セキュリティと運用は座学だけかとおもったらCloudWatchのハンズオンがありました。CloudWatchもAWSのなかで重要なサービスなので手を抜かずしっかりとハンズオンして不安な箇所を潰しました。

あとはひたすら模擬試験を解くだけです。Udemyの模擬試験は試験と同じ65問ありますが、本番の130分もかからないです。早ければ1時間もかからないと思うので、見直しはせずさっさと確定して結果を見て、間違った箇所を復習するほうが効率は良いです。ただし、不安な箇所はなぜ最終的にその選択肢を選んだのかをメモしておくと、復習の際に役立ちます。Udemyの模擬試験は２回分あり、さらにおまけでクイズ形式の問題もついてくるので合計3回分あります。これらをしっかりと復習して間違えないようになればかなり自信は付くと思います。

公式模擬試験は問題数が少なく難易度も低めですが、本番とまったく同じUIと操作感なので本番で焦らないためにもぜひ受けておくことをおすすめします。試験終了後は問題を見ることができないので復習に必要な箇所はメモしておいてください。ちなみに自分のスコアは84%でした。
残りの時間はひたすらWeb上の問題を解きました。意外と知らない箇所があったので非常に役立ちました。

- セクション15 セキュリティと運用
- セクション16 模擬試験
- 公式模擬試験
- Web上の問題を解く
  - [AWS SAA/SAP資格 予想問題集 Web版 | 日本語完全無料](https://awsjp.com/exam/saa-sap/c/)

## 試験当日(土曜日)

試験は10:30からだったので、朝７時頃に起きて2時間程みっちり復習しました。具体的には模擬試験とWeb上の問題で不安な箇所をもう一度見直しました。

<img width="375" src="https://hinastory.github.io/cats-cats-cats/gallery/daily/cloud/aws/aws-cert-001.jpg"></img><img width="200" src="https://hinastory.github.io/cats-cats-cats/gallery/daily/cloud/aws/aws-cert-002.jpg"></img>

試験会場は武蔵小杉駅の北口正面にある武蔵小杉STMビルの7階のテストセンターでした。会場には15分前に来ることと指示があったので余裕をもって30分前に着きました。早すぎたかなとも思いましたが、とくに待たされることもなく試験を受けることができました。本人確認証には免許証と直筆サイン入りのクレジットカードを用意しました。試験前にはさらに直筆のサインと写真撮影を行い、荷物をポケットの中のものも含めてロッカーにいれて試験会場に入りました。試験はパーティションで区切られたパソコンで行う一般的なものです。集中できるようにイヤーマフや耳栓が置いてありました。

試験問題はだいたい1時間程で解き終わったので最初からもう一度見直して終了しました。合否はその場で表示されるので最後までページを進めてきちんと確認する必要があります。

# 認定に費やした勉強時間と費用

認定に費やした勉強時間と費用は以下のとおりです。月曜から金曜までは6時間集中してやったわけではなく、1時間やったら1時間休憩みたいな感じで疲れすぎないようにやりました。費用は2万以上かかりましたが、5日間AWSで充分遊べて認定も取れたのでいい買い物をしたなと思いました。

- 勉強時間: 合計32時間
  - 月曜から金曜: 平均6時間 × 5日間
  - 土曜: 2時間(試験前の見直し時間)
- 費用: 合計21,960円
  - 認定試験: 16,200円 (税込み)
  - 模擬試験: 2,160円 (税込み)
  - Udemy: 1,600円 (セール時の価格)
  - AWS使用料金: 約2000円

# 試験結果

試験結果は無事合格でした。スコアは以下のとおりです。見直しが終わった時点で「**満点いけるかも?**」と淡い期待を抱いたのですが、その幻想は無惨にも打ち砕かれました。もっと精進します・・・

<img width="600" src="https://hinastory.github.io/cats-cats-cats/gallery/daily/cloud/aws/aws-cert-003.jpg"></img>

# まとめ

「AWS認定ソリューションアーキテクト - アソシエイト」に関してはすでに多くの記事が書かれているので、自分が書く必要があるのか迷ったのですが、短期集中型でハンズオン重視の記事は少なそうだったので書いてみました。

今回の経験で分かったのはAWSの試験問題は実務経験を想定しているので、単なる知識で解ける問題よりも具体的なシチュエーションを提示して、最適解を問うような問題が多いです。このような試験形態の場合は暗記中心の勉強だと足元をすくわれる可能性が高いので、愚直に**「理論」と「実践」をバランス良く学ぶこと**が近道ではないのかと思いました。今回はUdemyのオンライン動画学習サービスを利用して、以下の要領で自分のペースで理解を深めるようにしたので正直暗記が苦手な自分でも試験勉強が苦になりませんでした。

1. 座学で理論を身につける
2. 手を動かして理論と現実のAWSを結びつける
3. 模擬試験の問題のシチュエーションを**「具体的なAWSのサービスと操作手順」**でイメージをする
   - イメージできなかったら実際にAWSに触りながら理解を深める

また、短期集中型の利点ですが、暗記な苦手な人や忘れやすい人でも、短い期間だけ覚悟を決めればいいだけなので大分気が楽になります。また試験のストレスやプレッシャーに弱い人でも短期間であれば耐えられるという人も多いとおもうので、そういう方にも短期集中型をオススメします。逆に短期集中型の欠点は、当然まとまった休暇（予定なし）が確保しづらいということですね・・・まぁ工夫するしかないです。

なんか結局Udemyの回し者みたいな記事になってしまいましたが、もちろん筆者は単に教材に釣られた購入者に過ぎません(笑)。本記事が、「AWS認定ソリューションアーキテクト - アソシエイト」を受ける方の一助になれば幸いです。

# おまけ：手を動かして学んだほうが良いAWSサービス

「AWS認定ソリューションアーキテクト - アソシエイト」の試験には、ある程度手を動かして学んで**「肌感覚」**で身につけておいた方が良いサービスが存在すると思っています。特に自分のように暗記が苦手な方や実践に重きを置く方にとって、AWSの「肌感覚」を身につけることはAWSが絡む様々な場面で強い味方になるはずです。以下は私見ですが手を動かした方がよいサービスを雑に分類してみました[^7]。

1. 絶対に手を動かして学んだほうが良い
  - EC2, VPC, IAM, S3, CloudWatch
2. できれば手を動かして学んだほうが良い
  - RDS, DynamoDB, EFS, SNS, SQS, Route53, Lambda, API Gateway
3. 余裕があれば手を動かして学んだほうが良い
  -  ECR, ECS, EKS, Elastic Beanstalk, CloudFormation, CloudFront, ElastiCache
4. 興味があれば手を動かして学んだほうが良い
  - Elasticsearch Service, Codeシリーズ, EMR
  - RedShift, Kinesis, OpsWorks, SES, Step Functions
5. 知識として知っておいたほうが良い
   - Neptune, Storage Gateway, Direct Connect, Glacier, QuickSight, Data Pipeline
   - Key Management Service(KMS), Snowball, Glue, Organization, Batch
   - Service Catalog, System Manager, Trusted Advisor, SageMaker, Config
   - Cloud Trail, Cost Explorer, GuardDuty, Cognito, Athena, Inspector
   - WAF & Shield, Backup, CloudTrail, Lightsail, Directory Service

[^7]: 同じ分類内は順不同です。またこの手の分類に正解はないのでツッコミは不要です(笑)。

# 参考文献

- [AWS 認定 – AWS クラウドコンピューティング認定プログラム](https://aws.amazon.com/jp/certification/)
- [AWS 認定ソリューションアーキテクト – アソシエイト](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)
- [AWS Well-Architected](https://aws.amazon.com/jp/architecture/well-architected/)
- [【未経験でも挫折しない】40時間でAWS認定ソリューションアーキテクトアソシエイトを取得する方法 - Qiita](https://qiita.com/rexiaxm7/items/c5b361ce14c55c19b13a)