AWS ソリューションアーキテクト-プロフェッショナルに合格したのでその勉強方法まとめ

f:id:okiyasi:20210218150304p:plain

AWS ソリューションアーキテクト-プロフェッショナルに合格したので備忘録として勉強方法をまとめます。
(※勉強にかまけてブログの記事の作成をサボってました)

私の経歴

社会人3年目のWebエンジニアで、フロントからサーバーサイドからインフラまでなんでもやりますエンジニアやってます。

  • サーバーサイドはもうすぐ3年
  • フロントエンドは2年弱ぐらい
  • インフラは基本AWSを使っていて、業務でも設計・運用をやっている。(運用歴は1年ちょっと)
  • AWS Solution Architect Associateは1年半ぐらい前に取得済み
  • 主要サービスは大体使ってる(EC2はあんまり使ってない)

試験の概用

AWSの認定試験の中で一番難しいと言われてる試験で実際結構難しかったです。
試験時間は180分 試験の料金は3万円です。 いつでも何回でも受けるのは良いんですが、試験の料金が高いので、しっかり準備してやらないと3万吹っ飛ぶという、金銭的なリスクがあります。
※記事を書いてて気づいたのですが、そういえばアソシエイト合格の時に50%のバウチャーもらってたのに完全に使うの忘れてました。(死)

最近では家でも試験が受けられるようになったらしいですが、自分は子供に邪魔される未来しか見えなかったので素直にテストセンターで受けました。
テストセンターの中でも遠隔でオンライン監督がみるやつは自分はアソシエイトの時の苦い経験があるので(英語は問題なかったのですが、会場のカメラのピントが合わなくて証明書がちゃんと見れないとかなんとかで20分ぐらい、カメラにパスポートを掲げてました)、 テストセンターの受付で身分証明書を見てくれる場所で受験しました。

私の試験結果

f:id:okiyasi:20210218145006p:plain
750点で合格で873点取れてたので、割と安全に受かったぽいです。
また5つの分野で問題が構成されていて、一応全部の分野が合格ラインでした。
でも試験中は受かった確信は全くなかったです。

勉強期間について

勉強時間は4ヶ月半ぐらいで 基本的に3~5時間ほど土日に勉強して、平日は気が向いたらblackbeltの動画を視聴してました。
トータルの勉強時間は130時間ほどじゃないかと思います。
※途中、なんでAWSばっかり勉強してるんだと虚無を感じて半月ぐらい何もしてなかった時期もありました。。

効率の良い人は2ヶ月半から3ヶ月ぐらいでも受かるかと思います。

勉強する意義

普段からAWSを運用している人からしたら、勉強する過程で実際の運用におけるよくあるハマりどころが知れたり。(VPC内に配置したLambdaはそのままだとインターネットを介して通信できないとか ※勉強する前にハマってたけどね)
もっとこのサービスに置き換えればコスト抑えられたり、効率的じゃんみたいなことが発見できたので割と個人的には有意義だったんではないかと思います。

もちろん、資格を取ることによって報奨金もらえたりする会社もあるので(前職はそうだったけど、今の会社はもらえない笑)勉強する意義は人それぞれありそうです。

試験の難しさについて

この試験には一般の試験とは違う、独特な難しさがあります。

  • まとまった情報が少ない(後述の本が出たので比較的マシになりました)
  • 単純に勉強範囲が大きすぎるので使ったことのないサービスは細かいとこまで覚えてないし、マイナーサービスは調べてもそんなに情報が出てこない
  • 選択肢がどれもほぼ正解だが、その中からベストを選ばないといけないという正解の確信がない問題が多い
  • 問題文・選択肢が割と長文で、ちょっと日本語がおかしい問題が75問もあり、3時間ギリギリかかる
  • 複数選択肢選ぶ時に「または」の選択肢を選べば良いのか「かつ」の選択肢を選べば良いのかわかりにくい

というような、試験中に問題を解いていても「本当に受かるかな」と不安になるような感じでした。
確実に取れてるだろうと思った問題は75問中20問ぐらいです。 最近の他の合格記見てても同じ感じなのでみんな同じぐらいだと思います。

おすすめの勉強方法

まずはこちらのトレーニングでざっくりとした試験の全体像を掴みます。

AWS training and certification

そして次に、去年出たこの有名な本を解いていきます。 www.amazon.co.jp

この本は割と解説がしっかりしてるのでわかりやすいのですが、メジャーだけどあまり使ったことのないサービス(Glue,Config,System Manager等) の全体像は掴みづらいので
下のBlackBeltのサービス別資料の動画などを見て理解して、自分なりにそれぞれのサービスについてのまとめを作っていきました。

aws.amazon.com

そして本の後ろの模擬試験を解きます。 問題の演習量が少ないと思ったら、Udemyの問題集を課金して解きます。(一回目の点数は大体50%ぐらいでした。。) 自分は通しで解くのは見直しが大変すぎて嫌になったので15問ずつぐらいで区切って解いてました。

www.udemy.com

基本的には問題を解きながら気になったところを調べて、ホワイトペーパーだったりクラスメソッドさんのDevelopers.IOの記事をまとめながら理解する作業を繰り返します。(マイナーサービスはホワイトペーパーの訳がとてもひどく全然頭に入ってこないので、クラスメソッドさんが救世主でした。)
udemyやって忘れたころに本の模擬試験やると良い感じでした。(本の問題の方が本番に生きる問題は多かったように感じます。)

本の模擬試験やudemyの練習問題を2回目解いて大体75~90%を取れるようになったらほぼ受かるのではないかと思います。(ただ、問題集に出てくる問題で本番とほぼ同じような問題は20問ぐらいしか出てこなかった印象なので油断は禁物。)

試験の解き方

個人的には以下の解き方でやっていきました。

  1. まず、問題文を割としっかりに読む。問題文の最後の方にどのような選択肢を選べば良いのか書いてあるのでそこに注目
    可用性なのか、コストなのか、スピードなのか
  2. 全ての選択肢をざっくり読んで違いを見つける 単純に使用しているサービスが違うのか、どこに注目
  3. なんとなく合ってそうな選択肢を一つ読んでみて、内容を理解する
  4. 選択肢を比較しながら問題文に合った選択肢を選択する
  5. 書いてる内容が複雑でわからない問題や日本語がとても怪しい問題はもらえる紙に番号だけ書いてあとで見直せるようにしておく
  6. 25問50分のペースで解いていき、30分ほど余らせる。
  7. わからなかった問題で日本語が怪しい問題を英語で見てみる (環境によっては切り替えにやたらと時間がかかる場合があるので一通り解いて見直しの時にやる方がおすすめ)
    自分の時は日本語訳がひどいやつが2問あって、英語でみたら一瞬で解けたりしました(選択肢1の訳になぜか選択肢2の訳が混じってたりしました笑)

合格したら

この記事の一番上にあるAWSのバッチがもらえます。特に使えるところもないのでこの記事に貼らせていただきました。 あと、また50%offバウチャーもらえました。

最後に・あとがき

AWS認定プログラムの規約で試験の内容についてはあんまり言ってはいけないので、突っ込んだ話はできなかったですが、以上で自分の体験談は終わりです。
次はAWSみたいな1サービスの勉強じゃなくて、もっと汎用的なものの勉強をしたいので、IPAデータベーススペシャリストを取ろうと思いますが、如何せんまだ8ヶ月あるので、 AWS機械学習スペシャリストでも取ろうかなと思ってます(一応AI系のサービス作ってるし、50%offバウチャー2枚余ってるので)


参考

なんとなく問題集を解きながらAWSサービスの構造を理解する上でわかりやすかったドキュメントたちを置いていきます。

マルチアカウント

https://d0.awsstatic.com/events/jp/2017/summit/slide/D4T2-2.pdf
「組織の複雑さに対応する設計」でマルチアカウントの問題はよく出てくるし、おそらくそこまで大規模組織の運用を経験したことある人はいないと思うのでこれは一通り目を通した方が良いと思います。

APIGatewayのREST APIとHTTP APIの違い

APIGatewayはREST APIしかなかった頃に触ったことある程度で、RESTってあのRESTだよな?と思いながら一体何が違うねんとなったのでこの記事ありがたかったです。(名称が機能と一致してない気が。。)
最近はHTTP APIも機能が強化されてるみたいで、HTTP APIを使えることが多くなったそうですね。
Amazon API Gatewayは「HTTP API」と「REST API」のどちらを選択すれば良いのか? #reinvent | DevelopersIO

DynamoDBのグローバルセカンダリインデックスとローカルセカンダリインデックス

Dynamoの基本です。でも、理解しにくいのでとても参考になりました DynamoDBの概要 - Qiita

AWS公式

自分はEC2じゃなくてECSのFargateでばっかり運用してるのでEC2の運用をサポートしてるサービスはあんまり触れてなかったし、System Managerは機能が多すぎてわけわからないので役立ちました。
BlackBelt AWS Config
20190618 AWS Black Belt Online Seminar AWS Config
BlackBelt AWS System Manager
https://www.youtube.com/watch?v=UXSbh4Wsp7c&feature=youtu.be
サポートされないVPCピアリング(マイナー問題ですが、問題集で図なしで解説されても全くなんのこっちゃわからなかったのでこの図で理解しました。)
サポートされていない VPC ピア接続設定 - Amazon Virtual Private Cloud
あとはAI系のサービスやConnectとかAppStream2.0とかほぼ使わないマイナー系のサービスはまじで印象なさすぎて覚えられないのでBlackBeltの動画をみて無理矢理頭の中に入れました。