FOLIOに入社して1年でやったこと
やったことをまとめてみます。
terraformのコマンドラッパー(Makefile)作成
- terraform周りの自動セットアップ
- terraformのバージョンが固定
- terraform providerが自動更新
- 実行ログをs3に保管するようにしたりなどなど。
コンテナ本番導入
- AWS ECS EC2, Fargate周りを設計、module作成、本番導入しました
- log周りはkinesis firehose, lambda, s3, datadog logsを使ったterraform module作成
- GitHub - sioncojp/fargate-deploy 動きますが、現在は社内リポジトリにecs全般のdeployツールをメンテ。
- GitHub - sioncojp/ecs-update-notify ecsでtaskが完全に入れ替わった/入れ替わらなかったときだけ通知させるdaemonです。
- GitHub - sioncojp/ecr-builder dockerをいい感じにタグづけしてbuild, ecr push, ecrのイメージlifecycleするツール。
コンテナイメージの脆弱性診断チャレンジ
- ECRが脆弱性診断なくて。。
- 色々試したけどalpineがいい感じに取れなかった記憶があります。
- GitHub - sioncojp/anchore-local: Local Docker containers vulnerability scan. Create the following container with docker-compose
- GitHub - sioncojp/clair-local
ECS用イメージをcodebuild + packer + bashで生成
- 既存のだと管理できる人があまりいなかったので、シンプルなものに移行。
- CodeBuild + PackerでAMIを焼く - Sionの技術ブログ
- 世代管理はこちらを使ってます
- Packerで作ったイメージを世代管理 - Qiita
batch/cronのコンテナ設計
- batch: fargate runTask
- cron: fargate + cloudwatch event
- でterraform module作成し、検証まで。
- これから移行していきたいなぁというお気持ちです。
slack deploy
- slackからdeploy出来るようにGoで書きました(社内リポジトリ
- FOLIOモバイルアプリのインフラ構成のお話 - Sionの技術ブログ あたりを見てもらえると
社内ラジオ、映像サイト構築
- hugo(Fargate) + s3(音声、映像)
- 完全にドッグフーディング用です
landing pageサイト構築
- s3 hosting + cloudfront + waf
- deployツールがtypescriptだったので、IAM認証系周りのPRを投げたり。