Amazon ECS には ecspresso というデプロイツールがあります。tfstate からリソースの値を引いてタスク定義に埋め込むことができます。これにより、インフラは Terraform、デプロイは ecspresso と責務を分けられます。
Cloud Run には、ecspresso にあたるちょうどよいデプロイツールが見当たりませんでした。GitHub Actions などの CI/CD のシェルスクリプトで値を受け渡せば同じことはできますが、サービスごとに似た処理を書くことになります。また、Cloud Deploy (Skaffold) は、小さなプロジェクトに入れるには大掛かりです。
そこで ecspresso にインスパイアされて、Cloud Run のマニフェストに環境変数や tfstate の値を埋め込んでデプロイするツール clrnd を AI 駆動で書きました。本セッションでは、既存のツールで埋まらなかった隙間を自分で埋めると決めるまでの判断と clrnd の設計、そして clrnd を使ってインフラとデプロイの責務をどこで分けるかを紹介します。
株式会社スリーシェイク
シニアアーキテクト
ソーシャルアプリのアプリケーション、インフラエンジニア、電子契約サービスのSREを経て、2022年にスリーシェイクに入社。
クライアントワークでクラウドインフラの技術支援を行っています。設計構築運用の支援を行っています。
AWS、Google Cloud、Terraformをこよなく愛しています。