AWSソリューションアーキテクト プロフェッショナル 合格メモ


(更新: 2016/08/27)

先日、SAプロこと「AWSソリューションアーキテクト プロフェッショナルレベル」に合格しました。

ラインすれすれなのであまり余裕ヅラできるスコアではないですが、この資格を目指す方の参考情報程度になればと思い手記的な記事を残そうと思います。
これを見て少しでも「SAプロ、案外受かるんじゃね？」と思っていただけたら幸いです。

※私の気力次第では後日加筆していくかもしれません。あとは需要次第でしょうか。

※具体的な試験問題を公表するような内容にはできないので、そこはご了承ください。
また、この記事の内容が実際に本試験に出るかどうかは一切の保証をいたしかねますのであしからず。

# この記事で言いたいこと
まず結論から。

実務経験が浅くてもなんとかなります。模擬試験を必ず受けて、BlackBeltは熟読しましょう。
AWSに限らない一般的なIT基礎知識の勉強と、あとは試験としての対策勉強をしっかりこなせば合格は見えると思います。

# はじめに
私の持っているバックグラウンドとか、勉強のスタンスとかです。

##筆者のバックグラウンドについて
私に近しい立ち位置の方であれば、後述する「やったこと」をなぞれば合格ラインが見える程度のスコアは出せるかと思います。

### 立場的なもの
執筆時点では新卒2年目の営業です。
営業とは言っても、学生時は情報工学を専攻していましたので、ITの下地ゼロからのスタート...というわけではありません。

AWSの実務経験は長くありません。会社のOJT期間でAWSを触る機会はありましたが、1年未満といった程度です。

（商売的に）AWSと仲良しな会社に籍をおいています。エンジニアとしての実務経験は浅くとも、情報だけはある程度日常的にインプットできる環境ではあります。

### スキル的なもの

こーんな感じ。

- コンピュータの動作原理
	- ノイマン型とかタイムシェアリングとか言われてテンパらない程度には理解してる
- プログラミング／デプロイ
	- 低水準から高水準まで、割と色々触った経験はある
	- 在学時ある程度はやっていたが、プロダクションの開発経験はなし
	- デプロイツールの本格的な使用経験なし。概念だけはうっすら理解できる
- サーバー周り
	- 構築は経験あり、運用保守は経験なし
	- Webサーバーを立てて自前のWebアプリを動かすくらいは作れる。サーバーサイドにPython(or PHP), フロントエンドにJavaScript + HTML/CSSを使ったシステムの実装は経験がある
	- CDNの設計構築は実務経験あり
	- ガチのチューニング、セキュリティ対策は独力だとちょっとキツい
- Windows Server
	- 構築、運用保守ともに経験なし。IISを設定して稼働させる、くらいがせいぜい
	- ADは用語をある程度知っている程度。実務的な設計を担うスキルはない
- 仮想化
	- ほぼわからない。VMwareはAWSへのImport/Exportがあるので、関連知識を辛うじて
- ネットワーク
	- 苦手。特にAWSであまり意識しないL1/L2あたり
	- オンプレのN/W設計をやれと言われたら多分困り果てる
	- VPNや閉域網のことは入社してから勉強した
- プロビジョニング
	- 概念はわかる、でもその程度

## 勉強のスタンスについて
試験日は受けようと決めてから2,3ヶ月先の日程を適当に押さえました。こういう類のものは自分で尻に火をつかないといつまでも動けないですね。今回痛感しました。

試験対策と割りきって勉強していた部分は結構あります。私自身もあまり試験勉強の時間をがっつり捻出する時間はなかったので。

VPCやEC2、RDSなどは仕事上でも頻出するので特に試験を意識した勉強をしませんでした。
仕様の詳細や他のサービスなど、日常業務で補いきれない箇所をBlackBeltで補完した、という感じです。

おおまかな対策勉強の流れは以下です。

1. 勉強してある程度準備する
2. 模擬試験を受ける
3. 受験結果から、弱点科目とそれらの対策に優先度をつける
4. 優先度順に関連する資料をあたる。もしくは問題を復習する。

優先度は出題されるジャンルの問題比率と自分のスコアから判断します。
出題比率が薄めの部分を優先的に対策しても効果が薄いので。
また、出題傾向の情報は「試験ガイド」から入手できます。
https://aws.amazon.com/jp/certification/certified-solutions-architect-professional/

# やったこと
主要なことは大きく2つ。感覚的には8割方が試験を意識した勉強です。

## BlackBeltの資料をよく読む
AWSの仕様やプラクティスをきちんと理解しつつ、IT全般の知識でわからないものが出てきたら調べるか会社の先輩方に聞く。

私の場合、特に怪しかったのはID周りでした。
IAMは割と理解していたのですが、AD連携と複合した場合の題材は難易度が高かったです。そもそもADFSなんかもよくしらない知識レベルでしたので、最初は何を言っているのかわかりませんでした。
この辺はIAMのBlackBelt、終盤スライドに該当する記載があるのでそちらを参照ください。
BlackBelt資料の中でも特に熟読しました。
http://www.slideshare.net/AmazonWebServicesJapan/20150617-aws-blackbeltiam

個別のサービスで特に熟読の必要がありそうなのは、DynamoDB, やDirect Connectかと思います。RDSはSAアソシエイトを取得できるレベルの方であればそこまで心配の必要ないかなという印象です。

サービスに関してはとにかく主要ユースケースやプラクティスを押さえることに注力しました。
あとは実務的な部分...請求周りやサービスインまでのリードタイムを考慮するものなど。
請求はコンソリデーテッドビリングやボリュームディスカウントの概念を押さえておきましょう。AWSを個人利用している方が認定資格を受ける場合はこの辺がなかなか重要だと思います

## 模擬試験を受ける
一番大事と言っても過言じゃないです。4,000円で効率良く勉強できるなら即買い一択です。
翻訳を通した独特の問題文に目を慣らす目的と、試験対策の進捗確認の目的で私は利用しました。

公式には設問ジャンルとそれらのウェイトが明記されていますし([試験ガイド](https://aws.amazon.com/jp/certification/certified-solutions-architect-professional/)を参照)、
模擬試験は設問ジャンルごとの正答率を公開してくれます。

よって、模擬試験の結果と照らしてどのジャンルを優先的に克服していくかを決定し、優先的に復習しました。

私の場合は模擬試験を受けた段階で本試験までの日程が迫っていたので、上記の勉強法にならざるを得なかった側面があります。ただ、それが結果として効率の良い勉強法になったのではないかと思います。

サービスの詳細な仕様に踏み込んだ問題も当然出題されます。そこは模擬試験受験前にある程度押さえておければ、それが理想です。
まあ、そこは模擬試験を受けてから必要に応じてフォローしていけば最悪問題ないかと思います。

# おわりに

試験前日はがっつり寝ましょう。ある意味一番大事かも。
170分の試験なので、寝不足で挑むと死ねます。
私は無理だったので、後半戦で数分仮眠しました。

時間配分ですが、私の場合は一通り解いて見直しに入れたのが残り10分の段階です。時間は不足気味、というのが私の肌感覚でした。

そして、最後にもう1点。

求められている問題解決がいったい何なのか見極めましょう。それは高可用性なのか、コストなのか。それとも実現スピードなのか。

SAアソシエイトと違うのは、「明確な不正解」が少ないことだと思います。どの選択肢もそれっぽいな・・・と思ったら、問題のテーマが何だったかに一度立ち返るが吉だと思います。

# エール的なもの
長丁場の戦いになりますが、適宜仮眠を取りつつ頑張ってください。私もDevOps合格を次回のネタにできるよう頑張ります。