※当記事はZennで作成した記事をQiitaにも書いています
はじめに
RareTECH という IT スクールでおこなわれたハッカソンに参加しました。
このスクールのハッカソンでは入門コース、基礎コース、実践コースの 3 つにわかれるのですが、
わたしは基礎コースのインフラを担当しました。
今回でハッカソンの参加自体は 2 回目なのですが、インフラを担当しようと思った経緯は前回のハッカソンでインフラ関係は担当者に任せきりで
理解ができていなかったので自分で実際に触って理解したいと思ったからです。
基礎コースのハッカソンでは Django を使って Web3 層構造でおこなうこと、マルチ AZ 構成で EC2 を作成することなど使用技術が限定された状態で開発します。
使用技術
- HTML,CSS
- Django
- MySQL
- AWS
- Docker
- nginx
わたしは Docker で開発環境の構築と AWS を作成しました。
構成図
AWS 自体は座学で知識がある程度で実務経験はほぼなしという状態でしたが、すぐデプロイができること、作業の消し忘れがないことを考慮して CDK を使ってデプロイしようとしました。
エンドユーザは Route53 でドメインを取得し名前解決をしたらインターネットゲートウェイ →ALB を経由して EC2 のサーバにアクセスします。RDS はコスト面を考慮して 1 つだけ設置しました。インフラ担当者は Session Manager を使って EC2 にアクセスしデプロイ作業をします。
スケジュール
全体のスケジュールは 2025 年 1 月 4 日から始まり 2025 年 3 月 1 日に最終発表の約 2 ヶ月程度ありました。
1 週目〜2 週目:作りたいアプリの相談、要件定義(構成図の作成)
3 週目以降は担当ごとに開発開始でした。
体験した感想
結局、デプロイ作業ができませんでした。
CDK を使ってデプロイ作業をおこなったときに自分では予期しないところでセキュリティグループが生成されたせいで、インターネットに接続できないエラーを解決するのに時間がかかってしまいました。
基礎を疎かにして構築するとうまくいかないことを痛感しました。
お金がかかることを意識しすぎて先延ばしにしてしまったところもあったので、要件どおりの AWS 構築をする前に AWS の公式などから似たような構成図のものでハンズオンをするなどして理解を深めてから作業をすればよかったかなと思いました。
資料
- スライド
- GitHub