こんにちは!最近AWS認定資格の勉強をしていて、通勤中や寝る前のスキマ時間に勉強できるサイトが欲しいなと思い、自分で作ってみました。その名も「CloudDojo」です!
無料で全てのAWS認定試験の模擬問題を解くことができます。
🌟 作ったきっかけ
AWS認定試験の勉強って、PCの前に座ってじっくり本を読んだり、動画を見たりするのが基本ですよね。でも、忙しい日々の中でそんな時間を確保するのが難しくて...。「スマホでサクッと問題を解けるサイトがあれば便利なのに!」という思いから、CloudDojoが生まれました。
💡 CloudDojoの特徴
CloudDojoには、こんな特徴があります:
- とにかくシンプル:余計な機能は一切なし!問題を解くことに集中できます
- スマホ最適化:電車の中でも片手で快適に使えるUI設計
- 完全無料:広告なし、会員登録不要で全機能が使えます
- 高速表示:JavaScriptをほぼ使わない軽量設計なので、通信環境が悪くても快適
🤖 問題作成にAIを活用
面白いところは、問題文の作成にGoogle AI Studioの「Gemini 2.5 Pro」を使っていること!もちろん、AIが生成した問題はチェックしていますが、実際の試験の傾向に近い問題を効率的に作れています。
ただ、サイトにも注意書きしていますが、AI生成なので、たまに間違いがあるかもしれません。見つけたら教えてくださいね😅
🛠 技術構成
今回のサイト構築は、コスト削減と高速化を重視しました。構成はこんな感じです:
Google Gemini (問題文生成) + GitHub Copilot (コーディング支援)
↓
Astro (JavaScriptレスな静的サイト生成)
↓
GitHub (リポジトリ管理)
↓
Cloudflare (自動ビルド・グローバル配信)
Astroを選んだ理由
React、Vue、Svelteなど様々なフレームワークがある中で、Astroを選んだ理由は:
- JavaScriptをほぼ使わずに静的サイトが作れる(表示が爆速!)
- 必要な部分だけハイドレーションできる(インタラクティブな部分だけJSを使える)
- MDXサポート(Markdownで問題文を管理できる)
Cloudflareを選んだ理由
AWS AmplifyやVercelなど他のホスティングサービスと比較して:
サービス | 利点 | 欠点 |
---|---|---|
Cloudflare | ・完全無料枠が使いやすい ・グローバルCDNが速い ・自動SSL対応 ・ドメイン管理も同じ場所でできる |
・ビルド時間に制限あり |
Vercel | ・デプロイが簡単 ・プレビュー機能が優秀 |
・無料枠の制限が厳しい ・追加機能で費用増加 |
AWS Amplify | ・AWSサービスとの連携が容易 ・スケーラビリティが高い |
・無料枠超過すると高額に ・設定が複雑 |
Netlify | ・CMS機能が充実 ・フォーム機能が便利 |
・ビルド時間に制限あり ・追加機能で費用増加 |
実際のところ、静的サイトであれば、どのサービスでも十分なパフォーマンスが出ます。でも、完全無料で運用したかったので、Cloudflareを選びました。特に良かったのは:
- ドメイン管理からホスティングまで一元化できる
- 無料プランでも世界中のCDNを使える
- 同じ設定でWorkers(サーバーレス関数)も追加できる
💰 コスト構造
CloudDojoの運用コストは、ほぼドメイン代のみです:
- ドメイン代:.com ドメイン $11.48/年(約¥1,722)
- ホスティング:Cloudflare Pages(無料)
- CDN:Cloudflare CDN(無料)
- SSL証明書:Cloudflare(無料)
ほとんどのサービスが無料枠で十分なので、年間2,000円以下で運用できています。
🚀 これからの展開
現在はAWS認定資格の12種全てに対応しています。今後はAzureなどのより多くの認定試験に対応していく予定です。
また、問題の質を高めるために、皆さんからのフィードバックをもとに改善していきたいと思っています。
⭐ まとめ
AWSの勉強って大変ですが、スキマ時間を活用すれば効率的に進められます。CloudDojoが皆さんの資格取得の助けになれば嬉しいです!
サイトはこちら(再掲):
ぜひ使ってみて、感想や改善点を教えてください。皆さんのフィードバックをお待ちしています!
追伸
実は近い将来、この構成を応用してAzureやGoogle Cloudの認定試験対策サイトも作る予定です。乞うご期待!
この記事は、現在運用中の実際のプロジェクトについて書いたものです。もし質問やフィードバックがあれば、コメントやTwitterまでお気軽にどうぞ!