【AWS GCP 試験対策】udemyとGoogleスプレッドシートを活用する


最近自分が行った，AWS, GCP の認定試験の受験勉強対策方法を共有します．色んな方が何を勉強されたかについて紹介してくださっていますが，**それをどう自分の知識にされたか** についてはあまり書かれていなかったので自分なりの方法を紹介させていただきます．

受験時の自分のステータスは以下ですが，ステータスに関係なく，今回紹介させていただく方法は有用だと考えています．

2020/5:  AWS Solution Architect Professional 合格
2020/7:  GCP Professional Data Engineer 合格

- 受験時の自分のステータス
    - AWS Solution Architect Professional
        - 2019/7 に Solution Architect Associate 合格
        - 仕事で AWS のサービスを Terraform を介して利用
        - 受験勉強開始時には Associate 受験で勉強した内容の50%程度は忘却 (普段使っているサービスじゃないとやっぱり忘れる，，）
    - GCP
        - AWS Solution Architect Professional 合格後
        - 仕事で触れている GCP 関連サービスは BigQuery位
     
# udemyとGoogleスプレッドシートを活用したAWS,GCP の試験対策

基本的に udemy の模擬試験を解き，pythonでコンテンツを抽出して Googleスプレッドシート上で復習しました

- 理由
    - 試験の外観把握 -> udemyの模擬試験を解いて復習 + 公式ドキュメントの気になった部分を調べる で対策としては十分 と考えた（実際十分だった)
    - python で html からコンテンツを自動で抽出すれば資料作成の手間が省ける
    - スプレッドシートで管理することで 一覧性・検索性を持たせることができる

AWS Solution Architect 受験時に物理ノートを作ったり，Markdown でまとめたりしたが，作成に時間がかかる一方で見直しづらく使えなかった，見返しづらいので受験後にあまり活きなかったという経緯もあり上記手法を取りました
    

### 1. udemyの模擬試験に取り組み，「問題の見直し」ページを表示し，ページのhtmlを取得する
- udemy では模擬試験の解答後に 問題の見直し をすることが出来，以下が表示されます
    - 問題文
    - 選択肢 ( 選択，解答）
    - 解説
- 見直しページの html は Chrome デベロッパーツール等から取得できます

問題の見直し ページの例
![モザイク画像.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140539/c87c6bd0-fff6-9d16-d74f-1f20e99c68fb.png)

### 2. 取得したhtmlファイルをパースし必要な情報を抽出する

jupyter notebook 実装：https://github.com/kayamin/udemy_utils

- python ライブラリ BeautifulSoup, Pandas を用いて html から 問題文，解答等を抽出した csvファイルを作成します
- jupyter notebook での実装は上記レポジトリにあります．
    - 取得した html を参考に適当に実装しました．模擬試験によっては html の構造が異なるかもしれませんので適宜修正されてください．
    - 全く別の方が作成した AWS, GCP の模擬試験は同じスクリプトで処理できました

### 3. csvファイルを Googleスプレッドシートに読み込み，復習する

作成したcsvファイルをGoogleスプレッドシートの import 機能で読み込み，それぞれの問題について以下手順で復習しました

1. 問題文を箇条書き形式に書き換える，不要な情報は削ぎ落とす
    - 問題文は長いですが，正しい選択肢を導き出すために必要な情報はその中の一部のみです
    - 問題を読んで，必要な情報のみの箇条書き形式に書き直すことで，問題文の要点が分かるようになりました．
2. 分類する （問われているサービス等）
    - 後で復習等できるように，問われているサービスや，技術スタックについて自分なりに分類を書きました
    - 例
        - DynamoDB
        - 認証関連
3. 解説を読み，問題の解答に必要だった知識，思考過程を書く
    - 模擬試験の解説を読み解答に至るために必要な知識に絞って書きました
    - 知識としては知っていても．解答に結び付けられなかった場合等はなぜ結び付けられなかったのか，どこを誤解していたのか等書きました
4. 備考 に付随して調べた情報，知っておくべきこと等をついでに書いてまとめておく 
    - 必要に応じて，ブラックベルトなり公式ドキュメント，他の方がまとめたくだったqiita 等を参照しました
    - 直接問題には関係ないが調べた内容等はここにまとめました

Googleスプレッドシートでの復習例

![スクリーンショット 2020-07-19 15.22.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140539/5e7eddbe-1849-f613-7588-05138aec83c0.png)


# AWS Solution Architect Professional 対策

色んな方が書かれている受験対策内容を参考に以下に取り組みました

- 概要把握
    - [Exam Readiness: AWS Certified Solutions Architect – Professional (Japanese)](https://www.aws.training/Details/eLearning?id=42403)
        - AWS公式の試験解説動画
        - ボリュームが有り，例題等もあるので最初に見ておいて損はない
    - [AWS Certified Solution Architect – Professional (SAP-C01) Exam Learning Path](https://jayendrapatil.com/aws-certified-solution-architect-professional-exam-learning-path/)
        - SAP の試験で問われる内容の概観を理解するために読みました
        - WhitePaper についても重要と書かれており，いくらか目を通しましたが，読むのに時間がかかる一方で，試験に役立った感は無いので，試験合格のためだけであれば読まなくて良いと思います．その時間分各サービスのブラックベルトを読んだほうが良いです

- 模擬試験
    - [AWS 認定ソリューションアーキテクト プロフェッショナル模擬試験問題集（全5回分375問）](https://www.udemy.com/course/aws-53225/)
        - 試験対策勉強のメインです，問題を解き, Googleスプレッドシートで復習するのに試験対策の7割くらいの時間を使いました
        - 問われた問題を起点に関連サービスについてのブラックベルト等を読み理解を進めていくと良いと思います
        - 模擬試験１ -> 復習 -> 模擬試験2 ... と復習しつつ進めることで段々と必要な知識体系が出来上がります
            - 上記 Jayendra's Blog を読んでから模擬試験１に取り組みましたが，最初は正答率は50%くらいでしたが，復習しながら模擬試験を解き進めることで合格できました

    - [これだけでOK！ AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座（SAA-C02試験対応版）](https://www.udemy.com/course/aws-associate/)
        - プロフェッショナルを受験する前に AWS サービスの概観を思い出すために再度見直しました．
        - アソシエイト試験対策は本当にこれだけで良かったです，
   
- 参考資料
   - [AWS サービス別資料] (https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/)
        - 各サービスのブラックベルト資料がまとまっています
        - 模擬試験で問われた内容に関連するサービスのブラックベルトを読み，知識を深めました．ブラックベルト -> 必要であれば公式ドキュメント の順で参照すれば良いと思います

# GCP Professional Data Engineer 対策

色んな方が書かれている受験対策内容を参考に以下に取り組みました

- 概要把握
    - [Google Cloud Professional Data Engineer Course [2019 Update]](https://www.udemy.com/course/learn-gcp-become-a-certified-data-engineer-express-course/)
        - 試験の概要を理解するために受講しました，実際に模擬試験でも問われる範囲の概観を理解することが出来，有用でした
        - スライド形式の内容なので，すべてスクショして後でざっとスライドを見返して復習しました
    - [Preparing for the Google Cloud Professional Data Engineer Exam - Pluralsight](https://app.pluralsight.com/library/courses/preparing-google-cloud-professional-data-engineer-exam/table-of-contents)
        - Google公式の試験範囲解説動画
        - 実際に模擬試験で問われる範囲の概観を理解することが出来，有用でした
        - スライド形式の内容なので，すべてスクショして後でざっとスライドを見返して復習しました

- 模擬試験
    - [GCP 公式模擬試験](https://cloud.google.com/certification/practice-exam/data-engineer)
        - GCP 公式の模擬試験
        - udemy の模擬試験と比較すると，若干作り込まれていて難しくなっている
    - [Google Cloud Certified Professional Data Engineer: Pr. Tests](https://www.udemy.com/course/google-cloud-certified-professional-data-engineer-pr-tests-k/)
        - 試験対策勉強のメイン．問題を解き, Googleスプレッドシートで復習するのに試験対策の7割くらいの時間を使いました
        - 問われた問題を起点に関連サービスについての公式ドキュメントを読み理解を進めていくと良いと思います
            - 問題の解説に公式ドキュメントのリンクも豊富に載っているのでそこから読み進めると良いです
        - 模擬試験１ -> 復習 -> 模擬試験2 ... と復習しつつ進めることで段々と必要な知識体系が出来上がります
        - GCPは最近？サービス名の変更がいくつかあり，模擬試験で問われているサービスのドキュメントが無いことも，，まだまだ過去の名称で検索にヒットするので少し混乱しやすいです
            - StackDriver ー＞ Cloud Operation
                - [All together now: our operations products in one place](https://cloud.google.com/blog/products/management-tools/cloud-operations-grows-with-monitoring-logging-more
)
            - Cloud Machine Learning Engine ー＞ AI Platform Training, Prediction
                - AI 周りはサービスの統合，構成変更があり大きく変わったようです
                

- 参考資料
    - GCP 公式ドキュメント
        - GCP には AWSのブラックベルトのような要点を絞って見やすくしてくれたドキュメントはあまりないので公式ドキュメント, 他の方がまとめてくださった記事等を読み込むことになります
        - [Cloud OnAir](https://inthecloud.withgoogle.com/jp-onair-19/archive.html)
            - 一応 ブラックベルトに類似したものはありますが，まだそこまでサービスが網羅されていません
    - [AWS プロフェッショナルのための Google Cloud](https://cloud.google.com/docs/compare/aws?hl=ja#service_comparisons)
        - AWS認定に GCP認定に取り組んだのでサービスの全体像を理解するのにこのページが非常に役立ちました
        - AWS の復習にもなって一石二鳥
    - [Engineer Data in Google Cloud - QWICKLABS](https://www.qwiklabs.com/quests/132?locale=ja)
        - 試験範囲のサービスについて実際に手を動かして学ぶことが出来ます．
        - 実際，模擬試験を解くのにはそんなに役立ちませんが，知識を実践に紐付ける機会にはなり取り組んで良かったです


# 認定試験受験にあたり参考にさせてもらった記事

受験勉強をするにあたって非常に助かりました．受験経験をまとめて共有していただき，本当にありがとうございました．

- AWS 
	- [AWS認定ソリューションアーキテクト・プロフェッショナル必勝法](https://takulog.info/how-to-get-aws-solution-architect-professional/)
	- [『AWS 認定ソリューションアーキテクト – プロフェッショナル SAP-C01』に合格するまでの学習の記録](https://blog.suzukishouten.co.jp/archives/1949)
	- [【AWS認定】ソリューションアーキテクト プロフェッショナル（AWS CSA-Pro）に合格してきた【英語重要】](https://qiita.com/tmiki/items/c83df748261c7b87ed18)

- GCP
    - [GCP Professional Data Engineerに2週間で合格したので勉強方法を共有](https://qiita.com/endw0901/items/5ebc530de3e9ffee4416) 


# 個人的感想
- 手法について
    - Google スプレッドシートにまとめたおかげで，期待した一覧性・検索性を得られ，試験範囲が広い AWS SAP 試験に合格できたと思う
    - 受験後には細かい内容を忘れがちになるが，自分で作成したシートを見返すと大体必要な知識が見つかる，もしくはどこを見に行けばよいのか分かるので便利
- 試験について
    - AWS, GCP ともに実際のユースケースを起点にした出題をしてくれるため，どんなサービスを実現したいときにどんな技術要素（サービス) を使えばよいのかがイメージできるようになった．
    - 特に学生時代からWeb開発をしているわけではない，情報系出身でもない自分にとっては Web界隈の視野が広がり，受験してよかったと思う．