タイトルの通りですが、「AWS認定 ソリューションアーキテクト - アソシエイト試験(ASA)」に合格することができました。
そもそも、AWS の認定試験には現在、以下の 5種類が用意されています。
- AWS 認定ソリューション DevOps エンジニア - プロフェッショナル (2015/6/4より一般提供開始)
- AWS 認定 ソリューションアーキテクト - プロフェッショナル
- AWS 認定 ソリューションアーキテクト - アソシエイト
- AWS 認定 デベロッパー - アソシエイト
- AWS 認定 SysOps アドミニストレーター - アソシエイト
「AWS 認定 – AWS クラウドコンピューティング認定プログラム | AWS」より
今回受験した「AWS 認定 ソリューションアーキテクト - アソシエイト試験」は、公式ページ によると、
AWS 認定ソリューションアーキテクト – アソシエイト試験は、AWS プラットフォームでの分散アプリケーションとシステムの設計経験がある個人を対象としています。この試験では以下について理解していることが求められます。
- AWS におけるスケーラビリティ、高可用性および高耐障害性の設計とデプロイ
- 既存のオンプレミスアプリケーションの AWS への引き上げおよびシフト
- AWS とのデータの送受信
- データ、コンピューティング、データベースまたはセキュリティ要件に基づく適切な AWS サービスの選択
- AWS アーキテクチャのベストプラクティスの適切な使用の識別
- AWS のコストの予測とコストコントロールメカニズムの識別
と書かれています。
つまり、「AWS 認定 ソリューションアーキテクト - アソシエイト」とは、AWSクラウドの設計者を想定 しているようです。
この試験に合格することにより、クラウド要件に対して、AWS アーキテクチャのベストプラクティスを用いたソリューションを提供できる能力が、本家AWS から認定されるのです。
受験のきっかけ
6/3(水)に AWS Summit Tokyo に終日参加させてもらえることになり、そこで認定試験が受けられるというのを知ったことのが今回の受験のきっかけです。「せっかくの機会だから受けてみよう」と、一ヶ月半前くらいから勉強を始めたのでした。
受験前のスペック
受験前の私のスペックはこんな感じでした。
- インフラ屋ではない(が、システム開発歴は長い)
- AWS歴 2年半くらい
- 業務で、EC2 をガッツリと(開発環境として)
- 趣味で、EC2、S3、Route53、Elastic Transcoder
- AWS公式トレーニングは受けたことない
- CLI は使ったことない
試験対策の履歴
私の試験対策の履歴です。何かの参考になれば幸いです。
ステップ1(4/16~:試験 1ヶ月半前)
1) 試験概要をチェック
公式ページ にある「試験ガイド」と「サンプル問題」をチェックしました。どちらも必見です。
試験ガイドより
AWS 認定 ソリューションアーキテクト– アソシエイトレベル 試験は、受験者の以下の能力を認定するものです。
- 要件を理解し、AWS アーキテクチャーのベストプラクティスを用いて構築するソリューションを定義することができる。
- アーキテクチャーのベストプラクティスを、開発者およびシステム管理者に対してプロジェクトのライフサイクルを通じて助言できる。
この水準を満たすために必要な基本知識とスキルには、以下の分野およびその下位項目すべてが含まれます。AWS の知識
- AWS のコンピューティング、ネットワーキング、ストレージ、データベースサービスの実践的な使用経験
- 大規模分散システム設計に関する専門的な経験
- システムの伸縮自在性およびスケーラビリティの概念に対する理解
- AWS に関連するネットワーク技術の理解
- AWS が提供するセキュリティ機能およびツール全般と、従来型サービスとの連携に関する高度な理解
- AWS (AWS SDK、AWS API、コマンドラインインターフェイス、AWS CloudFormation)の操作方法に関する深い理解
- AWS のデプロイおよび管理サービスに関する実践経験
IT 全般の知識
- ウェブサーバー(Apache、nginx、IIS)、キャッシング、アプリケーションサーバー、ロードバランサーなど、一般的な多層アーキテクチャーに関する高度な理解
- RDBMS(MySQL、Oracle、SQL Server)、NoSQL
- メッセージキューおよびエンタープライズサービスバス(ESB)に関する知識
- 疎結合およびステートレスシステムに関する知識
- 配信システムにおける各種整合性モデルについての理解
- Contents Delivery Network に関する経験、およびパフォーマンスコンセプトの理解
- ルートテーブル、アクセスコントロールリスト、ファイアウォール、NAT、HTTP、DNS、IP、OSI 参照モデルに関する
ネットワーク知識および経験
- RESTful ウェブサービス、XML、JSON に関する知識
- ソフトウェア開発ライフサイクルに関する理解
- 公開キー暗号化、SSH、アクセス認証情報、X.509 証明書など、情報およびアプリケーションセキュリティに関する経験
なお、実際にどんな試験なのかは、「サンプル問題」を見れば一番よく理解できると思います。
2) 受験記をチェック
試験ガイドに記述されている「必要な基本知識とスキル」だけを見ても、いまいちピンと来ません。なので、先人たちの受験記を読むことにしました。
本数を読めば読むほど、どんな知識が必要かが明確になってくると思います。
- AWS 認定ソリューションアーキテクト – アソシエイトレベル 抑えておくべきポイント - Qiita
- AWS認定ソリューションアーキテクト アソシエイトレベルに独学で合格した勉強法 | Lancork
- AWS認定ソリューションアーキテクトになってきた - Qiita
- AWS 認定ソリューションアーキテクト – アソシエイトをとったった - ゆとりSEですがなにか
- AWSソリューションアーキテクトになってきた - sometimes I laugh
中でも、「AWS 認定ソリューションアーキテクト – アソシエイトレベル 抑えておくべきポイント - Qiita」のドキュメントのリンクが大変よくまとまっていたので、何度も参考にさせていただきました。
3) サービス一覧をチェック
数多ある AWS のサービスですが、自分が実際に使っていたもの以外はあまりよく分かっていなかったので、どんなサービスがあるかというのをまずは整理することに。
ちょうどこの時期からマネジメントコンソールが日本語化されたので、各サービスの概要を一覧ページから引用してみました。
各サービスの重要度(試験に出る度)は、アグリーメント違反になる可能性もあるので敢えて書いていません。しかしながら、受験記をいくつか読んでいると、ちらほらヒントが書かれているので、どのサービスが重要でどのサービスが重要でないかはすぐに分かると思います。
コンピューティング
EC2 | クラウド内の仮想サーバー |
Lambda | イベント発生時にコードを実行 |
EC2 Container Service | Docker コンテナの実行と管理 |
ストレージ & コンテンツ配信
S3 | スケーラブルなクラウドストレージ |
Elastic File System | EC2 向け完全マネージド型ファイルシステム |
Storage Gateway | オンプレミス IT 環境とクラウドストレージの統合 |
Glacier | クラウド内のアーカイブストレージ |
CloudFront | グローバルなコンテンツ配信ネットワーク |
データベース
RDS | マネージド型のリレーショナルデータベースサービス |
DynamoDB | 予測可能でスケーラブルな NoSQL データストア |
ElastiCache | インメモリキャッシュ |
Redshift | マネージド型のペタバイトスケールのデータウェアハウスサービス |
ネットワーキング
VPC | 独立したクラウドリソース |
Direct Connect | AWS への専用線接続 |
Route 53 | スケーラブルなドメインネームシステム(DNS) |
管理およびセキュリティ
Directory Service | クラウド上の管理型ディレクトリ |
Identity & Access Management (IAM) | アクセスコントロールとキー管理 |
Trusted Advisor | AWS クラウド最適化エキスパート |
CloudTrail | ユーザーアクティビティと変更の追跡 |
Config | リソース設定およびインベントリ |
CloudWatch | リソースとアプリケーションのモニタリング |
デプロイ & マネジメント
Elastic Beanstalk | AWS アプリケーションコンテナ |
OpsWorks | DevOps アプリケーション管理サービス |
CloudFormation | テンプレートによる AWS リソース作成 |
CodeDeploy | 自動デプロイ |
分析
Elastic MapReduce | マネージド型 Hadoop フレームワーク |
Kinesis | ビッグデータストリームのリアルタイム処理 |
Data Pipeline | データ駆動型ワークフローに対するオーケストレーションサービス |
Machine Learning | すばやく簡単にスマートアプリケーションを構築 |
アプリケーションサービス
SQS | メッセージキューサービス |
SWF | アプリケーションコンポーネントを連携させるワークフローサービス |
AppStream | 低レイテンシーのアプリケーションストリーミング |
Elastic Transcoder | 使いやすいスケーラブルなメディア変換サービス |
SES | Eメール送信サービス |
CloudSearch | マネージド型検索サービス |
モバイルサービス
Cognito | ユーザー ID およびアプリケーションデータの同期 |
Mobile Analytics | 大規模なアプリケーションの使用状況データの把握 |
SNS | プッシュ通知サービス |
エンタープライズアプリケーション
WorkSpaces | クラウド内のデスクトップ |
WorkDocs | セキュアなエンタープライズ向けストレージおよび共有サービス |
WorkMail | セキュリティ保護された Eメールとカレンダーサービス |
サービス一覧のまとめ資料として、
も非常に分かりやすくてよかったです。
5) Black belt シリーズ
初心者向け資料をひと通り見終えたら、Black belt シリーズを読んでいきました。
AWS クラウドサービス活用資料集 | AWS
にまとめられています。
ただし、最初から全部というわけではなく、重要なサービスだけ抜粋して。
ステップ2(5/11~:試験 3週間前)
AWSのデザインパターン本を購入して、読書。
RDS や Auto Scaling はそれまで使ったことがなかったのですが、この本で机上のノウハウを得ることができました。
机上のノウハウとは言っても、画面キャプチャが各操作ごとに一つ一つ丁寧に載せられていて、実際に RDS や Auto Scaling のマネジメントコンソールで操作をしたことがなくても、EC2などの代表的な画面操作をしたことがあれば勘所がつかめるようになっていて、一週間ほどでスラスラと読み終えることができました。
ステップ3(5/19~:試験 2週間前)
試験の2週間前、マネジメントコンソールにひたすら触って慣れるという目的で、AWS体験ハンズオンに参加してきました。
ちょうど読み終わったクラウドデザインパターン本の内容と非常にマッチしたハンズオンだったので、復習として大変有意義でした。
ハンズオンが終わってから数日間は、ハンズオンで使った資料を何度も読み返して復習していました。
ステップ4(5/25~:試験 10日前)
最後は、
に書いてある資料をひたらすら読んでいく、という感じでした。
感想
試験時間は 80分だったのですが、60分ほどで一回目の見直しも終わり、「ま、受かってるでしょ」と軽い気持ちで提出ボタンを押したら、合否ラインギリギリだったので結構焦りました。。(笑)
感想としては、予想以上に難しかったです。全く分からなかった問題もいくつかありました。
AWS の各種サービスについての幅広い知識を問うだけに留まらず、
- ベストプラクティスとしての使い方を理解しているか
- (AWS は様々なサービスを組み合わせてその真価を発揮するので)各種サービスをうまく組み合わせられるか
- サービスの故障に備えて、AWS が提供するベストな対策が取れるか
- セキュリティの問題に備えて、AWS が提供するベストな対策が取れるか
を問うているという印象を受けました。
受験料も安くはなかったので、一発合格できてホッとしました。
【2016/9 追記】合格対策本が出ました!
「AWS認定 ソリューションアーキテクト - アソシエイト試験」の合格対策本が出版されたようです。これは朗報ですね。