AWS認定クラウドプラクティショナー勉強日記

# はじめに

業務でAWSを使うようになり、AWSの基礎を体系的・包括的に理解したいなと思い、AWS認定試験のクラウドプラクティショナーに挑戦しようと思いました。

# AWS認定試験の全体像
* [AWS認定試験の概要](https://qiita.com/kazutxt/items/dce1c5df12d5ab27020a)

# プラクティショナーの試験概要
* 問題数は65問
* 試験時間は90分
* 合格スコアは100-1000のスコアで700以上(≒正解率70%前後)
* 試験料は11,000円
* 試験範囲
    * クラウドの概念:28%
    * セキュリティ:24%
    * テクノロジー:36%
    * 請求と料金:12%

# 受験前のステータス

現時点でのスキル・知識を整理

* ICT及びプログラミングのある程度ある
    * SIerで10年ぐらいの実務経験
    * 情報処理技術者試験で高度試験(ITアーキテクト/NWスペシャリスト/安全確保支援士など)をいくつか保有
    * 複数のプログラミング言語(Node/Java/Python/C/Dartなど)を扱える
    * 業務以外にもプライベートでアプリをリリースしたり、サーバ立てたり、ラズパイで遊んだりする
* AWSはほぼ素人
    * 2ヶ月間の業務経験
        * CloudFront,WAF,ALB,ECS,Code4兄弟,Dynamo,S3,Lambda,APIGWなどを使って簡単なWebサイトを構築


# 勉強方法と時間(1週間/25Hぐらい)

1. 試験について調べる (2H)
2. E-learningで勉強 (3H)
    * [AWS Cloud Practitioner Essentials](https://www.aws.training/Details/eLearning?id=80653)
    * 動画を倍速で確認
    * AWSが重要視している考え方を理解するのに有用
    * 移行などはあまり出題されないので、CAFなどはいらないかも
3. 書籍で勉強 (5H)
    * [AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS%E8%AA%8D%E5%AE%9A-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%BC-%E5%B1%B1%E4%B8%8B-%E5%85%89%E6%B4%8B/dp/4797397403/ref=asc_df_4797397403/)
    * 出題範囲及び難易度を確認するために、一通り参考書を読破し、勉強ノートに整理
    * 前提知識(WAFやDDoSなどの基本概念)部分は省略しながら、AWSの特徴/サービスの詳細を理解
4. 過去問　(10H)
    * [Udemyの講座](https://www.udemy.com/course/aws-4260/learn/quiz/4766842#overview)
    * 安い(1000円ちょっと) & 次のレベルも含んでいる & 時間があるため追加で実施 
    * 基礎×2、応用×3を2回ずつ解いて、間違った部分や理解が怪しい部分を勉強
        * 1回目：基礎×2が80%、応用×3が65-70% /  2回目：95%
5. 勉強ノートで復習(3H)
    * 作った勉強ノートを読み返して不明点や整合性のつかない部分の確認
    * 暗記
5.  受験予約 (2H)
    * 受験方法の確認、テストセンターの空きの確認、受験方法の確認など


# 活動記録
* 8/7
    * 夏休みで実家にも帰れず暇なので、なにかしようと思いたち、AWSの試験について調べ、参考書をポチる
* 8/8
    * E-learningで勉強する
* 8/10 - 8/11
    * 参考書をやる
* 8/12 - 8/14
    * 過去問題をやる
* 8/15 受験&結果確認
    * コロナに気をつけながら、テストセンターで受験

# 受験した所感
* 上記過去問の基礎編と同程度のレベル
    * サービスよりも「クラウドとは」「AWSのメリット」の考え方が多かった印象
* おもったよりもサービスなどを聞かれない
    * 「XXXを実現するためのサービスは何か」よりも「XXXを実現するために必要な性質は何か」のようなものを聞かれる
        * 可用性、グローバル性、セキュリティ、機敏性など
* 細かいオプションや運用時の懸念なども覚えていったが、ほぼ出ない。
* 練習問題と同じものはでない
    * 当たり前だが練習問題と同じものはない。
* 貢献度は下記ぐらい
    * E-learningが10%。参考書が30%,過去問が30%,ICTの予備知識が30%(笑)

# 結果
* 合格
    * 点数は874
        * 上記の過去問の実績や感覚的(自信がない問題が5問以下)に90%は軽く超えたと思っていたので、正直低くてショックでした。。。
            * そんなに甘くないぞという戒めだと思って、上位試験に挑戦したいと思います。
    * 全セクションで「コンピテンシーを満たしている」の判定


# 振り返ってみて
* 6ヶ月の実務経験というが、そこまでは不要
    * 書籍か過去問のどちらかだけで十分
    * AWSのサービスは代表どころだけ覚えておけば大丈夫
    * AWSやクラウドのメリットなどを理解しておくほうが重要だった
        * AWSの提唱するクラウドの6つのメリットなど
* 参考書が古かったが、改定もされており、問題なかった
    * サービスの個々の詳細よりも概念に近い問いが多く、そのような部分は変わらないため、問題なかった

## 苦労した点
1. 「どちらでもできる」「違いが微妙」が多い
    * 「Config」「Trail」「inspector」「trusted advisor」などサービスの違いを理解していても、問題文が「コンプライアンス対応に使えるのはどれか」のような曖昧で微妙な表現の場合はかなり悩む
        * 本番では少ないが、練習問題では多く、ほぼ同じ問題で違う解答ががあり困った。。。

一般的な選択肢問題にはよくあることですが、

## 苦労しなかった点
1. ICT基礎知識があり、用語や技術要素を知らないということはなかった
2. 2ヶ月間ではあるが、代表的なサービスを触ることができていた

## 注力したポイント
* マネージドサービスの名称とその役割や代表的な使い方
    * でも、実はそこまで出なかった
* AWS(出題者)が理解してほしいポイントの理解
    * 過去問では問題文と選択肢から、どちらでもできるみたいなものが多く、ニュアンスを読み取るのに時間を使った
    * 実際の問題では迷う問題は、そこまで多くなかったが、点数低いので汲み取れていなかったのかも。。。


# まとめ
* 2ヶ月間の実務実績と1週間の勉強があれば、余裕で合格できる
* ただし、この程度の試験内容であれば、わざわざ1万円払って受けるよりも、もっとしっかり勉強してアソシエイトを受けるほうが良いかも。。。

# (おまけ)マネージドサービス+αまとめ
* 勉強の中で出てきたマネージドサービスや機能
    * でも、殆ど使わなかった・・・

|サービス/機能名|概要|
|---|---|
|CodeBuild|ビルドプロジェクト|
|CodeCommit|リポジトリ|
|CodeDeploy|デプロイプロジェクト|
|CodePipeline|パイプライン|
|Config|変更を記録|
|Connect|コンタクトセンター|
|Direct Connect|専用線|
|DMS(Database Migration Service)|DBマイグレ|
|DocumentDB|ドキュメントDB|
|DynamoDB|NoSQLDB|
|EBS(Elastic Block Store)|ブロックストレージ|
|EC2(Elastic Compute Cloud)|仮想マシン|
|ECR|コンテナリポジトリ|
|ECS(Elastic Container Service)/EKS(Elastic Kubernetes Service)|コンテナサービス|
|Elastic Beanstalk|自動デプロイ|
|ElastiCache|インメモリキャッシュ|
|EFS(Elastic File System)|共有ファイルシステム|
|ELB(Elastic Load Balancing)/ALB・NLB・CLB|LB|
|EMR(ElasticMapReduce)|ビッグデータ|
|Fargate|サーバレスコンピューティング|
|Glacier|アーカイブストレージ|
|Global Accelerator|地理的に近いエンドポイント|
|GuardDuty|インテリジェントな脅威検知|
|IAM(Identity and Access Management)|アカウント管理/ロール管理|
|IGW|インターネットゲートウェイ|
|Inspector|脆弱性診断|
|Kinesis|ストリーム|
|KMS(Key Management Service)|鍵管理|
|Lambda|FaaS|
|Lightsail|仮想プライベートサーバ|
|Marketplace|ソフトウェアカタログ|
|NATゲートウェイ|NAT|
|Neptune|グラフDB|
|OpsWorks|マネージド構成管理|
|Organizations|アカウントの一元管理|
|OutPosts|オンプレでの実行|
|Personal Health Dashboard|アカウント関連のヘルスチェック|
|RDS(Relational Database Service)/ Aurora|リレーショナルDB|
|RedShift|データウェアハウス|
|Route53|DNS|
|RouteTable|ルーティングテーブル|
|S3(Simple Storage Service)|スト1レージ|
|STS(Security Token Service)|一時認証情報|
|SecurityGroup|仮想ファイアウォール|
|SES|メール|
|Shield|DDoS攻撃を保護する|
|SMS|サーバマイグレーション|
|SnowCone/SnowballEdge/SnowMobile|移行時のデバイス|
|SNS(Simple Notification Service)|Pub/Sub|
|SQS(Simple Queue Service)|キューイング|
|StepFunctions|処理の順次実行|
|Storage Gateway|ハイブリッドクラウドのストレージ|
|Systems Manager|運用の可視化|
|Trasted Advisor|ベストプラクティス評価|
|VPC(Virtual Private Cloud )|プライベートネットワーク|
|VPNGW|VPNゲートウェイ|
|WAF|アプリケーションファイアウォール|
|Well-Architected|アーキテクチャ評価|
|X-Ray|分散アプリの分析とデバッグ|