TL;DR
自身のAWS学習のために以下のサイトを作ってみました。
全AWS認定資格の問題をトータルで3000問ほど公開しています。
クイズ形式で解くことができます。
経緯
転職を機にAWSの勉強が必要になる
2024年春、新卒から数年働いてきた会社から転職をしました。
前職も現職もポジションとしては事業会社の社内SEなのですが、オンプレのアプリばかりだった前職に比べ、現職の担当アプリはほとんどがAWSで稼働しており、AWSを理解しないことには仕事にならない状況でした。
SAAを取得するものの…
そんな状況でしたので、まずは基本的な知識をつけるためにソリューションアーキテクト - アソシエイト(SAA)の勉強に着手し、昨年末ごろにようやく資格を取得することができました。一方で、当然ながらSAAを取ったからと言って実務で活躍できる場面はまだまだ少なく、やはり実際に触る機会をもっと増やさないと…ということで、今年の4月頭くらいからタイトルに記載のサイト開発を始めました。
実際に作ったサイトの内容
「資格合格ネコ」というAWS認定試験の問題を解くことができるサイトを作りました。サイト名の命名含め、アプリの開発自体は生成AI君に大活躍してもらい、私としてはアプリを稼働させるために必要なAWSリソースの設計や実装をメインに行いました。
主な機能 | AWS サービス | 備考 |
---|---|---|
ホスティング | Amplify | 試験勉強中はあまり印象が薄かったんだけど、使ってみたら便利だった |
問題の格納 | DynamoDB | Auroraも使ってみたかったけど、今回は手っ取り早かったこっちで |
問題生成 | EventBrigde + Lambda + Bedrock | 生成 AI 呼び出し+テーブル格納の自動化 |
上記の問題生成の自動化により、大量の問題を生成することができました。CLFやSAAについては500問以上、その他の資格についても各200問以上は生成ができたので、すでにデータとしては3000問ほど公開しています。(なお、とにかく自動で大量生成しただけで中身の精査は行っていないため、問題の品質はさっぱりわかりません!)
うまくいった点
上記の通りですが、EventBridge+Lambda+Bedrockの部分はしっかり連携を作りこむことができ、ほんの2日で3000問以上の問題生成を実現できたのは満足感があります。
反省点など
-
コストが馬鹿にならないです。。うまくいった点として記載したBedrockの連携に関しては、2日で$40ほどのコストが発生しており、本当はもっと大量に問題を作りたかったのですが一旦スケジュールは無効化しています
-
CloudFormationは結構苦戦しました。ミスってスタックを作り直したり、ゴミみたいなリソースが複数できちゃったり、結構ここで時間を取られた印象があります。
-
セキュリティとかコストの観点での設計/実装はまだまだ改善できるポイントが多いかなと思ってます。このあたりは一番実務につながるところだと思ってるので、もう少し意識したいなと。
今後やりたいこと
Cognitoでのユーザー管理
せっかく問題を大量に作ったので、問題の回答の履歴であったりをユーザー毎に記録して閲覧できるようにしたいなと。
対象とする資格の拡充
現状はAWSの資格だけですが、ほかにもIT関係の資格の問題は増やしていきたいと思ってます。基本的には自分が今後受験したいものとかが優先度高いかなと思ってます。
その他
当初の目的であるAWSの勉強から逸れますが、シンプルにサイトの開発が楽しくて没頭してしまったので、便利そうな機能とかはどんどん追加してみたいなと思ってます。