全体研修のチーム開発研修でインフラ環境を構築した

1 年半ぶりの投稿です。4 月に新卒エンジニアとして CyberAgent に入社した ebakazu です。 今回は CyberAgent の全体研修の一つであるチーム開発研修について、私が取り組んだこと (AWS を使ったインフラ構築) について書いていきたいと思います。 全体研修について まず最初に、入社後の 3 日間で全職種合同の研修がありました。 その後、エンジニア向けの研修が始まり、セキュリティやインフラ (AWS) に関する講義や、目標設計の講義を受けました。 講義パートが終わってからはチーム開発研修が行われました。 この研修では 4 月末までの約 2 週間半の期間で SNS アプリを開発するというお題が与えられ、各チームで開発に取り組みました。 私はインフラ兼バックエンド担当として開発に関わりました。 構成 今回開発したアプリケーションのバックエンドは Kubernetes クラスタ上で動作しています。 これらの構成は基本的に terraform で管理されており、ALB のみ AWS Load Balancer Controller で管理しています。 各技術要素について Kubernetes アプリケーションは EKS on EC2 によって構成された Kubernetes クラスタ上で動作しています。 このクラスタではアプリケーションの実行だけでなく、ALB (AWS Load Balancer) や CD ツールの管理も行っています。 terraform 今まで AWS CDK という構成管理ツールや手組みでゼロからインフラ環境を構築した経験はあったのですが、terraform は使用経験がありませんでした。 今回新しいチャレンジとして terraform によるインフラ環境のプロビジョニングを試してみました。 やってみた感想として、AWS から様々なモジュールが提供されているため terraform のキャッチアップにさえ成功すれば、プロビジョニング自体はやりやすいのかなと思いました。 またすべての構成がコード化されているため、エディタ上でインフラ構成を確認・編集できる点も良いと思いました。 今後の課題としては terraform のモジュール化などの全体のファイル管理に関するベストプラクティスが分かっておらず、これから勉強していきたい部分だなと思っています。...

June 2, 2022 · ebakazu