デベロッパーアソシエイト試験の勉強内容

試験受けたのが既に2018年1月なので試験内容も変わっていますが、
備忘録含めアップします
____

デベロッパーアソシエイト試験合格しました！

とはいえ、成績72%というかなり合格ラインすれすれで受かったので、
偉そうに合格体験記みたいの書くのは気が引けたのですが、

合格したよって周りに話したら、何勉強したのって話を結構聞かれたので、
勉強した内容をまとめてみることにしました

恥ずかしながら、AWS、インフラ関連の知識がほぼゼロの状態で勉強始めました
自分と同じようなレベルで、AWSの資格とりたいけど、何すりゃいいの？どのくらい勉強するの？
って思っている人の参考＆後押しになればなと思います

# 出題範囲、内容の確認

まずは、試験ガイドとサンプル問題をみて、どんな問題がでるのか、何を勉強すればいいのか確認しました

試験ガイドから出題範囲のサービス、
サンプル問題から設問のレベル感
をなんとなく掴んで、勉強する内容を決めました

試験ガイド
http://media.amazonwebservices.com/jp/certification/AWS_certified_developer_associate_blueprint.pdf
サンプル問題
http://media.amazonwebservices.com/jp/training/AWS_certified_Developer_associate_examsample.pdf

## 出題されるメインのサービス

Amazon Simple Storage Services（S3）
Amazon DynamoDB
Amazon Simple Queue Service（SQS）
Amazon Simple Notification Service（SNS）
Amazon Simple Workflow Service（SWS）
AWS Elastic Beanstalk
AWS CloudFormation

## 問題で問われるレベル

サンプル問題から次のような内容が問われるだろうと理解しました

* サービスの概要
→Q1.次の文のうち、SQS?について正しく述べているものはどれですか?
* サービスを使う上で、ドキュメントとか読まず雰囲気で進めると見逃して、開発中や稼働後に問題となるような具体的な設定値、API名
→Q3.SQSのポーリングの方式とその設定値
→Q10.S3のアップロードの制限

# 勉強内容

サイトはホワイトペーパーみて勉強しろって書いてあるけど、英語だし・・・
ネットの情報だとブラックベルトを見るのが良いって意見が多そうでしたが、
そもそも各サービスのこと自体があまりにもわかってなかったので、読んでもイマイチ頭に入ってこず、、、

やはり各サービスを知ることが近道だろうと思い、サイトを見ていった結果、サービス概要～問題で問われるレベルのことが
分かり易く記載されているのが開発者ガイドでした

なので、出題範囲のサービス+EC2について、開発者ガイドを確認することにしました
と言っても開発者ガイドを全部読むのはきついので、各サービス、問題で問われるレベル感の部分まで読みました
読んでみて、該当サービスのサンプル問題みてみて解けたら終わり、解けなかったらもうちょい読むべき範囲を広げるって感じです

## Amazon Simple Storage Services（S3）

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/Welcome.html
「Amazon S3 とは何ですか？」～「サーバーアクセスのロギング」を読みました
ほぼ全部ですね。。。まぁ一番初めに読んだサービスだったのと、問題で問われそうなレベルの話ばっかりだったので、
なんだかんだほぼ読むことになりました
一発目に勉強したサービスでもあったので、管理コンソールでファイルアップして、ブラウザでみたり、ホスティングしてみたり位をやってみました
これにからめてIAM、Route53の概要よみました

## Amazon DynamoDB

https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Introduction.html
「Amazon DynamoDB とは」～「DyanmoDBの使用開始」を読みました
他にキャパシティユニットの自動化の話とかで他のサービスの話がよくわからなかったので、AutoScalling・SNS・CloudWatchの概要とか読みました

## Amazon Simple Queue Service（SQS）

https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/Welcome.html
「Amazon SQS とは」～「キューの操作」を読みました
ロングポーリング、キューの種類、可視性タイムアウトの話とか、確かにこういうサービスにはこういうの必要だよねってのが
読んでて一番面白いサービスでした

## Amazon Simple Notification Service（SNS）

https://docs.aws.amazon.com/ja_jp/sns/latest/dg/welcome.html
「Amazon SNS とは」だけ読んで概要理解しましたみました

## Amazon Simple Workflow Service（SWS）

https://www.slideshare.net/AmazonWebServicesJapan/amazon-simple-workflow-service-swf
開発者ガイドが英語だったので、ググってでてきたこれ読みました

## AWS Elastic Beanstalk

https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/Welcome.html
「AWS Elastic Beanstalk とは?」～「Elastic Beanstalk プラットフォーム」を読みました

## AWS CloudFormation

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/Welcome.html
「AWS CloudFormation とは?」～「ご利用開始にあたって」を読みました

## AWS CloudFormation

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/Welcome.html
「AWS CloudFormation とは?」～「ご利用開始にあたって」を読みました

## Amazon Elastic Compute Cloud

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/concepts.html
「Amazon EC2 とは?」～「Amazon マシーンイメージ」を読みました
これに絡んでAutoScalling、EBSの概要読みました

# その他

## 勉強期間

まとまった時間とったのは、3時間×7日位　年末年始の5日間集中してできたのが結構よかったです
あとは、上記のドキュメント読みながら、覚えたほうがよさそうなことをEvernoteにコピペして、
通勤の時に読んだりしてました

## どのくらい手を動かしたか

本来はもっと手を動かしたほうがいいかと思うのですが、早めに資格とっちゃいたいなというのがあり、
あまり動かしませんでした。。
やったことは下記くらい

* 無料でアカウントとって、IAMでユーザ作る
* S3の静的ウェブサイトのホスティング
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html

できれば、各サービスの管理コンソールのメニューみるだけでも理解が全然深くなると思います

## 模擬試験

前述のEC2以外のドキュメントまで読んで、本試験申し込む前に、
申し込めるレベルかなって確かめるためにも受けてみました

結果5割くらいでした。。
これ受けるまでEC2とか全然でないと思ってたんで、模擬試験でEC2が結構でてて、
前述のEC2ドキュメントを読むことにしました

サンプル問題、模擬試験の中から何問か本試験でてました

他に模擬試験受けた人と話してみたところ、1年半くらい問題の内容が変わってなさそうです。。。


以上、長々と書いてしまいましたが、少しでも参考になれば