# #102 laughkさんをゲストに インフラコード(IaC)リポジトリの解体と統合を深堀り
Season: 4
Topic: 102
# Note
Guest:
laughkさん https://github.com/laughk
Web系のエンジニア。いくつかのWeb系ベンチャー企業を経て2020年よりコネヒト株式会社にインフラエンジニアとして所属。(ただし10月いっぱいは有給消化中) 共著書に『スラスラわかるPython 第2版(2021年、翔泳社)』がある。
Contents:
- ゲスト laughkさん紹介
- 前回101回で話した課題管理ツールの使い方をちょっとだけ振り返り
- 試してだめだったこと、失敗したことの方が残っていて価値がある
- Notionの使い所とDBとしての考え方
- 本題、インフラコード(IAC)をアプリケーションレポジトリに移行した話
- https://tech.connehito.com/entry/2024/10/01/184156
- 構成要素の話から、そもそもAWS ECSでバッチ処理をする仕組みの話
- 自動化に使うツールは様々あるが、今回は ecschedule 前提の話
- ECSタスク定義をJSONを書いて aws-cliでデプロイ
- リポジトリをマージするための準備がそれなりに大変だったが、マージしないと余計な作業が発生することになっていった
- まずは、YAMLの整合性をチェックするシェルスクリプトを準備してCIでエラーを出すようにした
- リポジトリマージの際に、将来のために過去の変更ログをそのまま引き継ぐようにした
- git-filter-repo を使い必要なコミット(ファイル)だけを抜き出し、ローカルでマージした
- CI/CD による自動化のセットアップももちろんした
- シェルスクリプトのチェックツールは共有化してCI/CDで利用
- GitHub Actionsのテストの難しさ
- CLI ツールは aqua で管理した話。Windowsも対応していて便利
- ecspressoは、ECSサービスを更新してくれるツール
- laughkさんのツールの見つけ方や採用プロセス
- 社内に浸透させるには、何度も言ったり、ドキュメントの整備が重要
- laughkさんのさらなる挑戦はこれからのお楽しみ
Links:
- ecschedule用のYAMLファイル専用リポジトリを解体して、各アプリケーションのリポジトリへ移管した話 https://tech.connehito.com/entry/2024/10/01/184156
- ecschedule: https://github.com/Songmu/ecschedule
- git-filter-repo: https://github.com/newren/git-filter-repo
- aqua: https://aquaproj.github.io/
- ecspresso: https://github.com/kayac/ecspresso