AWSソリューションアーキテクトに合格しました
これの続き?になります
AWS SAA(ソリューションアーキテクト)受かったよ!
ギリギリですね笑
というわけで
前回同様どんな状態で受験をしてどんな学びがあったのかまとめていく
「誰かの参考になれば!」というよりも自分の記録として残しておきます
受験時点でのAWS歴や試験勉強期間
※前回から更新がありました
- AWS利用歴:3年
- 実務で経験したAWSサービス
- RDS
- DynamoDB
- Lambda
- ECS
- Cognito
- CodeBuild
- CloudFormation
- WAF ← NEW!
- Route53 ← NEW!
- CloudFront ← NEW!
- S3 ← NEW!
- Certificate Manager ← NEW!
- GuardDuty(ちょっと) ← NEW!
- 学習期間:約3ヶ月
勉強方法
1.参考書
前回と同じシリーズのSAA版を買いました
2.実務
ありがたいことに自分は実務でAWSサービスを触る機会が多いです。実務での学びが非常に活きました。とはいえ実務で全AWSサービスを触れることはなく触れるタイミングも様々です。
実務経験は非常にアドバンテージがありますが、それだけでは不十分だと考えていました。この考えが次に説明につながります。
3.実務外でも触る
「実務が活きる」という話しがありましたが、これだけでは不十分だと自分は考えていました
なぜなら「実務では初期構築は関われないことが多いから」です
VPCやEC2(ECS), RDSの構築など一度構築してしまうと長い間運用保守の機会しかないものも少なくないです。なので個人AWSアカウントを触って実務でできなそうな部分や興味あるものは手を動かして体験していました
例)
- VPCでネットワークを構築
- VPCの上でECSのコンテナ立ててインターネットで接続してみる
- 個人アカウントIAMユーザーを作成
- GitHub Actionsで特定ブランチにmergeされたら自動でECRにイメージをpushする仕組みを作ってみる
- Amazon comprehendなど簡単に利用できるサービスを利用し簡易アプリを作ってみる(アプリはCLIでも良い)
- etc...
また、触るモチベーションはどこから来てたの?というと「試験勉強のため」より「自分が何か作ってみたい」or「どうやって作ったのか気になる」という好奇心です
認定試験を受けてみて
1.クラウドプラクティショナーのようにはいかない
AWSサービスを知ってることは当たり前
「サービス名とざっくり何ができるサービスなのか」がわかっててもあんまり意味がなかったです
S3を例に挙げるとバージョニング管理とか暗号化の種類、配信方法などが問題に出てくるのでAWSサービス聞いたことあるレベルだと苦戦します。
暗記ゲーム感は少なかったです
細かい部分を知ってるだけでもだめ
「現状が〇〇です。ここから△△にするためには何が最適ですか」や「一番簡単に構築する方法はどれですか?」という問題多めです
細かいこと知っててもそれがその場の最適解であるか否かを判断できないといけません。サービス知ってるだけでなく問題文をきちんと読める読解力も求められます。先ほども話しましたが、暗記ゲームではないのできちんと問題文を読みましょう。
AWS Well-Architected なんですね
これ読んでおくと良いです。AWSサービスをこう使うといいよというある種答えみたいなのが公開されてます。Well-Architectedじゃない状態からWell-Architectedへ変えていく問題もあったので知っておいて損はないです
試験勉強など関係なくAWSを利用するものとして理解しておくと良いものだと自分は考えてます
2.実務経験があると想像しやすい
普段の開発
開発してると「AWSサービスのこれ使ってみよう」とか「技術検証するために調査してみよう」とかあるあると思います。機会があれば積極的に挑戦していきましょう。実装まで経験できるとだいぶAWSサービスの理解が高まります。
新規開発経験だけでなく運用保守経験も活きる
1.Well-Architectedにするには、2.サービスが大人気になりユーザーが増えた、3.サービスが安定期になってきたので、4.システムのリプレース(リアーキテクチャ)をしたい などさまざまな状況で問題が出てきます。
「1からAWSサービスを使ってサービス開発をしたことがない...」という方、「初期開発をしたことがない...」という方、どちらの方が受験しても等しい難易度になっているとおもいました。両方の経験がないと合格は厳しいというものではないと考えています。
自分がどれだけAWSサービスを理解してるのかやどれだけAWSサービスを使ってシステム開発する力があるのかを測る腕試しにちょうど良い気がします
3.自分の知らないAWSサービスは多い
機械学習系、データ分析系、大規模データ処理系、アカウント管理系、組織でのセキュリティ対策系は本当にわからない部分が多かった
機械学習系や分析系は自分が趣味で使うにはオーバースペックです。さらに必ず使わなければいけないサービスでもないので実務で触れる機会がこれまでありませんでした。単純に触れてこなかったです。また、アカウント管理は大きな組織で複数のAWSアカウントを使っている状態や複数人でAWSコンソールを触る前提のものが多く、社内の専門部署など特別に権限が強い人しか考えないものです。本番ではこの辺りの問題が辛かったです。
正直全AWSサービスを理解するのは不可能な気がします。なので試験合格の文脈ですとできるところを確実に増やしていくのが良いです。アプリケーションエンジニアならECSやRFS、DynamoDB、SQS、Lambdaとかです。
余談ですが、試験を受けてみてAWSの機械学習サービス使ってみたいなと思いました。
今後
今回のSAA受験でまたAWSの理解が深まってよかったです。ほんの少しだけ自信持っていこうと思う。
次に資格取るならAWS認定試験の受験は一旦止めて別資格に挑戦したいです(IPAの高度資格をそろそろ取りたい) また、試験勉強が終わったので趣味の個人開発、設計の勉強に充てる時間を増やしていく。これまでは課金が嫌で個人開発はAWS使ってなかったが、個人開発でもAWS使っていきたいところ(といいつつ個人開発だとどうしてもAWSはオーバースペック感ある)
Discussion