About Me
Hisashi SOGA (freelance: ant-in-giant)
Backend Engineer [AWS:5 CI/CD:3 Laravel:2]
- 4月 CircleCI で Fargate への自動リリース機構構築成功
- 5月 ECS on EC2 -> Fargate への移行で AWS・Datadog 大幅コストダウン成功 (*1)
- 6月 NPOの新Webサービスに App Runner を採用するもAWSコスト削減に悪戦苦闘
- 7月 随所で Terraform 1.0 アップグレード (<- 0.13)
- 8・9月 “Mackerel+Lambda+Cognito”(*2)、 FARGATE_SPOT、CodeBuild (*3)
(*1) AWS: $140/day 削減、Datadog: 年間料金を 20% に。CI/CD は Bitbucket Pipelines。 (*2)(*3) Zenn記事へ
AGENDA
- はじめに
- 主役級のツール
- 脇役級のツール
- 一点特化なツール
- おわりに
- 資料は公開してあります -> https://kutt.it/53AoU3
- ※1. 履歴が増殖するため、シークレットウィンドウでご覧ください(Chromeを推奨)
- ※2. ところどころのオレンジの文字はリンクになっています
- ※3. スペースで次のページに進みます([o]でOverviewが見れます))
- ( SpeakerDeck版 はダウンロードしたPDFではリンクに飛べるはずなのでご利用ください)
- はじめに
- 主役級のツール
- 脇役級のツール
- 一点特化なツール
- おわりに
某2021年3月リリース案件
某2019年11月リリース案件
- はじめに
- 主役級のツール
- 脇役級のツール
- 一点特化なツール
- おわりに
deployment tool for Amazon ECS, pronounced same as “espresso”.
- ECSサービス定義・タスク定義の作成・更新
- シンプルなコマンド+少複数パラメータ&設定
- テンプレート記法・tfstate読込・CFn連携便利
- jsonnetでDRYにBlue/Green Deploymentを定義
- ECS Exec に対応(v1.5〜)
- CodeDeploy x FARGATE_SPOTに対応 (v1.6〜)
toolkit for containerized applications on AWS
- ゼロから App Runner をデプロイできる
- こちらもシンプルなコマンド体系&設定
- CloudFormation ベース
- 未対応な点がいくつかある
- v1.11 で StartCommand に対応?
- はじめに
- 主役級のツール
- 脇役級のツール
- 一点特化なツール
- おわりに
- テンプレートから JSON ファイルを生成できる
- "似ているが微妙に異なる"設定の管理に強力に役立つ
- ECSタスク定義を簡素化(共通部分外部化) (*2)
- ex) jsonnet task-base.libsonnet > ecs-task-def.json
- 使い過ぎに注意
can load environment variables depending on the current directory
- カレントディレクトリ限定で環境変数展開
- AWS_PROFILE・AWS_DEFAULT_REGION など
- {{ must_env “HOGE” }} で HOGE を置換
- bash で記述(工夫もできる)
- CI/CDで利用するときは↓ (*2)
direnv allow . && eval "$(direnv export bash)"
- .envrc はリポジトリで管理すべきでない
- はじめに
- 主役級のツール
- 脇役級のツール
- 一点特化なツール
- おわりに
a tool to manage ECS Scheduled Tasks / a minimal deployment tool for AWS Lambda
- inspired by ecspresso / 同様のコマンド体系
- 手動 / terraform (module) で生成
- dump / init で設定を採取
- apply / deploy で更新
- (lambroll)invoke で実行
Multi group and stream log tailing for AWS CloudWatch Logs
- ロググループをまたいで tail できる (*1)
- awscli 経由なので事前に要 configure
- 5分前以降のログが見たい場合 -s 5m と指定
- ラクに、というよりは確実に Deploy に臨む用
- はじめに
- 主役級のツール
- 脇役級のツール
- 一点特化なツール
- おわりに
おわりに
- Deployはプロダクトの価値を届ける最大事。
ラクに誰でもできる状態にすることで開発に注力もできる。
- ラクなDeployを実現させる、
"設定+少複数パラメータ"のCLIツールがいろいろあって素晴らしい時代。大いに使っていこう。
PHPプロダクトのDeployをラクにするCLIツールたち
2021/10/03
@sogaoh
LT @ https://phpcon.php.gr.jp/2021/