ENECHANGE株式会社 / 開発
terraformを用いたElasticBeanstalkからECSへの移行
【概要】 弊社のプロダクトは、AWSサービスであるElasticBeanstalk(EB)環境上にデプロイされている。 しかし、EBはホストOSのEOLによるプラットフォームブランチの廃止や、Rubyのマイナーバージョンアップによる環境の作り直し、サービス自体のブラックボックス化など、課題が多いサービスである。 そこで、アプリのデプロイ先をECSに移行することでこれらの課題を解決した。 【チーム構成】 ・実装: 自分 ・アドバイザー: 先輩エンジニア 【どのように進めたか?】 弊社はAWSリソースをterraformで管理している。 今回のECS化にあたり、EBを構築しているterraformコードをECS用に変更した。 アドバイザーである先輩エンジニアにマイルストーンを用意して頂き、それを実現するための実装を自分がおこなった。 【課題】 ○ 初のterraform作業 terraformを用いた開発自体がはじめてであったため、まずはterraformに慣れる必要があった。 同時期に「EventBridgeSchedulerを用いてEC2を夜間停止する」「セキュリティグループを変更してIP許可リストを更新する」というチケットが発生したため、これを対応することでterraformの書き方を理解した。 また、弊社は機能の一部をモジュール化しており、そのドキュメントを読み込むことで機能を理解した。 ○ AWS知識の習得 terraformはAWSリソースをJSON形式で管理する。 既存のコードを読んで内容を理解するには、AWSの知識が必要になる。 本案件が走り出す直前にSAA C-03を取得していたため、必要なサービスの選定をすることができた。