AWS認定ソリューションアーキテクト アソシエイトレベルに独学で合格した勉強法


AWS認定ソリューションアーキテクト アソシエイト

AWS Summit 2014に参加してきたエントリにも書きましたが、同イベントで実施された「AWS認定ソリューションアーキテクト アソシエイトレベル」に合格することができました。

業務利用の経験はあまり長くなくほとんど独学での受験でしたが、勉強法をメモします。

AWS 認定プログラムについて

試験の概要についてはこちらのエントリーに記載していますのでご覧ください。

受験にあたり同意する必要のある「AWS 認定プログラムアグリーメント」で、試験内容を公にすることは規約違反となっており、公式の問題集や参考書なども無いため試験に関する情報は基本的に試験公式ページの試験ガイドから得ることとなります。

受験前の私について

業務でのAWS利用歴は一年未満で、社内でAWSを扱っているのがほとんど自分だけです。しかし別のAWSベンダーさんにサポートをお願いしており、不明な点やトラブルについては聞くことができる状況です。

業務利用経験のあるAWSサービスは以下の通りです。

  • EC2
  • IAM
  • Route 53
  • VPC
  • S3
  • RDS
  • Elastic Beanstalk

以下のサービスは個人的に趣味・勉強程度に使ったことがある程度です。

  • CloudFront
  • SNS
  • SES

AWS Summitに行けることが急に決まったため、普段のAWS利用以外の勉強時間という意味では約一週間程度でした。

試験の結果について

恥ずかしながらほとんど合格点ギリギリでした。ちなみに合否は試験終了後すぐに分かります。

勉強方法

公式のサンプル問題を解けるようにした

公式サイトで試験のサンプル問題PDF(8問)がダウンロード可能です。貴重な試験情報です。

まずはこのサンプル問題で試験の雰囲気と、どのようなことが問われるのかを掴みました。ちなみに初めてサンプル問題を見た時は半分以下しかわかりませんでした。

合格者のブログから情報収集した

開始して既に1年以上経っている試験のため、合格者の方でブログに合格体験を書かれている方も多くいらっしゃいます。ブログから情報収集し、どんなレベルが求められるのかを調べました。

参考にしたサイト様の一覧は以下の通りです。

AWS 認定ソリューションアーキテクト – アソシエイト レベル試験に合格する方法
http://dev.classmethod.jp/etc/how-to-get-a-certification-aws-architect-associate-level/

【AWS】AWS 認定ソリューションアーキテクト – アソシエイトを受けてきた – toto_1212
http://toatoshi.hatenablog.com/entry/2014/05/30/205841

AWS認定ソリューションアーキテクトアソシエイトレベルに合格しました ●○hinata_hisa○●
http://drawing-hisa.seesaa.net/article/384974315.html

AWS認定ソリューションアーキテクト アソシエイトレベルの話 | 愛される運用・監視
http://pc-concierge.net/blogs/blog/archives/70

基本的にどのブログでも「出題数が多く深い知識が問われそうなサービス」や「このサービスを理解していないと合格は難しい」という形で言及されていることが多かったです。

クラウドデザインパターンを読んだ

AWSクラウドを使ったシステムアーキテクチャ設計がまとめられているサイト「クラウドデザインパターン」の「基本のパターン」と「可用性を向上するパターン」をひと通り眺めました。

同サイトの内容が書籍としてまとめられている「Amazon Web Services クラウドデザインパターン 設計ガイド」も買いましたが時間的にほとんど読めませんでした。復習に使う予定です。

主要サービスのドキュメントを読んだ

深く問われそうなEC2,EBS,VPC,S3についてAWS公式のドキュメントを読みました。さすがに全部は読めませんでした。(とくにEBSは英語のドキュメントしか無いのでなんとなく程度です。)

AWS ドキュメント
https://aws.amazon.com/jp/documentation/

AWS各サービスのよくある質問を読んだ

本来なら全てのサービスのドキュメントを読めると良いのですが時間的に無理だったので、AWS各サービス紹介ページの「よくある質問」を読みました。

サービスに対するよくある質問が凝縮されている、隠れ良質コンテンツだと思います。

ドキュメントやよくある質問からわからなかったことを専用メモにまとめた

ドキュメントやFAQを読むと、今までなんとなく理解していたものや全く知らなかったこと、間違った認識をしていたものが多くありました。それらを忘れないように専用のメモにまとめて随時書き足していきました。

ドキュメントやFAQはPCの大画面で、まとめメモは通勤時間中にスマホで見るようにしました。

試験に合格して思ったこと

けっこう難しい

他の合格者様のブログにもありますが、認定試験の初級レベルであるにもかかわらずけっこう難しく、各サービスの内容やサービス間の連携を深く理解していることが求められる質問が多く出てきます。

AWS利用の際にはドキュメントを参照可能ですが、まだまだ理解が足りない点が多いことを痛感しました。

サービスを構築~運用レベルで使っていることが大事

公式サイトでは受験者に求められることが以下のように定義されています。

この試験の受験対象者には以下が求められます。

  • AWS における分散システムの可用性、コスト効率、高耐障害性およびスケーラビリティの設計に関する 1 年以上の実際の経験
  • 最低でも 1 つのハイレベルプログラム言語についての深い知識
  • AWS ベースのアプリケーションに関する要件の識別と定義についての能力
  • オンプレミスと AWS の構成要素を組み合わせた複合システムのデプロイの経験
  • AWS プラットフォームで安全性と信頼性の高いアプリケーションを構築するためのベストプラクティスを提供する能力

机上での学習も大事ですが、それだけで合格できる試験では無いと思いました。

AWS SDKやCLIがサービスの理解に役立っていた

AWSでは各種サービスを多くのプログラミング言語から利用できるAWS SDKやコマンドラインからサービスを利用できるCLIが公開されています。これらを使った経験があったことが、各サービスの仕組みの理解に大きく役立っていたと実感しました。

好きなプログラミング言語でAWS SDKを使ってみることが非常にオススメです。参考までに当ブログのAWSカテゴリでPHPやiOSでAWS SDKを使ったサンプルを公開しています。

おわりに

認定プログラムは2年ごとに合格し直す必要がありますが、AWSでは思い立ったらすぐに試すことやベストプラクティスを参考にすることは、今後も変わらない重要なことであり続けると思います。

それらの基礎的なことは忘れないよう今後も新しいサービスを活用していけたら良いと思いました。