私が AWS を 11 冠するまでにやったこと
こんにちわ alivelimb です。
本記事では AWS 11 冠するまでにやったことを紹介します
AWS 認定資格とは
2022/04 現在 AWS の認定資格は以下の 12 個が用意されています
Foundational
- Cloud Practitioner
Associate
- Solutions Architect
- Developer
- SysOps Administrator
Professional
- Solutions Architect
- DevOps Engineer
Specialty
- Advanced Networking
- Data Analytics
- Database
- Machine Learning
- Security
- SAP on AWS(ベータ版)
AWS サービスの特徴や制約はもちろん、クラウド全般の有用性などが問われます。
また、Specialty に関しては、AWS の知識とは関係なく各領域の基礎知識も問われます(機械学習は特にその傾向が強い気がします)
学習
AWS の基本的な知識を学ぶ方法はいくつかあります。私が AWS を初めて学んだのは会社の新人研修でしたが、AWS の公式ハンズオン資料や Udemy など講座など実際に手を動かしながら学べるものを最初に行うことをお勧めします。研修でなく自己学習で行ったハンズオンは以下の通りです
私は Udemy の講座を受け終わったところでソリューションアーキテクトに合格できました。
ただ、確信を持てないまま選択した問題がいくつかあったため、1 つ 1 つのサービスをもう少し理解した方がよかったなと思いました。当然ですが AWS は実際のプロダクトでの運用を想定しているため、実際に運用をする上で気にしなければならないユースケースが問われます。例えば「EC2 上のデータが誤って削除されてしまった時に備えて、データをどのようにバックアップしておくべきか。」「マルチリージョンでサービスを提供したいが、リージョン間の同期はどのようにとれば良いか。」といった具合です。
こういった少し込み入った内容を網羅するために、最初から AWS 公式ドキュメントを読んでいくのは骨が折れます。こんな時に役立つのはBlackbelt シリーズという AWS 公式スライド集です。実際に私は 11 冠するまでに 主要なサービスに関しては 3~7 回ほど目を通しました。スライドには要点がうまくまとまっているため、端から端まで読みました。スライドに載っていない情報や、IAM など内容が複雑でスライドだけでは分からないサービスに関して公式ドキュメントや、クラスメソッドさんの技術ブログを参考にしました。特にIAM ロールの PassRole と AssumeRole をもう二度と忘れないために絵を描いてみたなどはポップなのに非常に分かりやすかったです。
また、ハンズオンを経験しておくことで SysOps Administrator の試験対策にもなります。
私が受けた時はハンズオン試験はベータ版でしたが、今後は他の試験にもハンズオン問題が追加されるかもしれないですね
以上をまとめると学習に関しては
- Udemy などでハンズオンを受ける
- Blackbelt シリーズで個々のサービスの知識を深める
- 細かい点については公式ドキュメントや、クラスメソッドさんなどの技術ブログを参考にする
といった流れを各試験について繰り返しました。
実践
AWS ソリューションアーキテクトを取得した後に、資格だけ持ってて実践に役に立たないのでは本末転倒だと思い AWS を用いたアプリ開発をしました。業務でも AWS を使っていましたが、当時は 開発用に VPC, EC2, S3 くらいしか利用していませんでした。そこで勉強では AWS の特色の 1 つでもあるマネージドサービスをフル活用したサーバレス構成を作ってみることにしました。APIGateway + Lambda + DynamoDB といった王道サーバレス構成で LINE MessagingAPI を叩くアプリを構築しました。
私は普段の業務でもコードを書くため実装のハードルはそこまで高くなかったですが、AWS 資格を取ろうとする方の中にはアーキテクトがメインで実装はそれほどしないという方も多いかと思います。その場合は CloudFormation で YAML を書いて基盤構築の自動化をしてみるのは理解を深めるためにも、実践力を鍛えるためにも良い選択だと思います。私は CloudFormation より Terraform の方が好きだったため、Terraform を書いていましたが自分の好みのもので良いでしょう。TypeScript をかける方であれば AWS CDK を書いてみるのも良いでしょう。
ここまでやった後は AWS を実務で使う上でも十分な基礎知識が身についたと思います。ただ、試験対策なしでは合格率は 70%程度といったところでしょうか。既に記載した通り、AWS は実際の運用を想定しているため、主たるサービスだけでなく Code シリーズなどの開発支援サービスや、EventBridge(CloudWatch), CloudTrail などの運用支援サービス、SecurityHub, Macie などのセキュリティ支援サービスなどについても学ぶ必要があります。これに関しては既に記載したアプリ開発で運用フェーズまで行っているとより理解が深まると思いますが、逆に私のような若手エンジニアであれば AWS の資格勉強を通じて「実際のプロダクト運用はこうなっているんだ」と学ぶ機会にすることもできると思います。
試験対策
さて、ついに試験対策ですが私は主に以下の 3 つで試験対策を行いました。
- Udemy
- AWS Web 問題集で学習しよう(koiwa)
- 市販の AWS 問題集
Udemy は対策講座(動画)に加えて、試験問題のみの講座を購入していました。ただ、日本語の試験対策講座は難易度が高すぎる気がしたので、英語版の講座を購入して DeepL で翻訳しながら解いていました。koiwa は問題数は豊富ですが、やや古い問題が含まれていたり、これ明らかに答え違くない?という問題が含まれていました。ただ難易度的にはちょうどよくプロフェッショナル試験で重宝しました。最後に AWS 問題集ですが、NRI ネットコムさんが出している専門試験対策(セキュリティ, DB)を購入し教科書的に勉強していました。演習問題数はそれほど多くありませんが、要点が綺麗にまとまっていると思いました。
学習フェーズで資料を読み込んだつもりでも、不正解を叩き出し続けてメンタルに来ることが何度もありましたが、諦めずに「間違えた問題に対して解説や公式ドキュメントを読み直し、正解するまで何度も繰り返す」というのを愚直にやり続ければ確実に合格できると思います。
「最初 11 個も資格受けるとか大変すぎるだろ...」と思っていましたが、プロフェッショナル試験を合格下あたりで、共通項が見つかってきます。これは専門領域の試験でも同じことで Security の試験内容が DB の試験に被っていることもあります。ただ、機械学習、ネットワークあたりは共通項が少ない印象もあるので、この辺りは AWS に関係なく機械学習、ネットワークの勉強をした方が良いでしょう。実際データサイエンティストの同僚で AWS にあまり詳しくないが機械学習試験は合格したという人がちらほらいます。
まとめ
以上、私が AWS11 冠を達成するまでにやったことについて書いてみました。
AWS 資格は様々な人に役立つと思っています。
- これから AWS を使い始める人は、何が出来るか、何に気を付けるかを知るため
- AWS を既に活用している人は、自分の成熟度を定量的に評価し、AWS の理解を深めるため
- 若手エンジニアは AWS を通じて開発・運用のベストプラクティスや IT 基礎知識を学ぶため
この記事を読んで、興味を持った方がいれば是非挑戦してみてください。
私は今も業務で AWS を活用しているため、今後は AWS の知見を発信をしつつ知識をアップデートして、資格だけ持っている人にならないように実際のプロダクト開発も続けたいと思っています。
Discussion