見出し画像

経営×子育て×習慣:ジムを休んだ金曜、「静かに死んでいた」自動化を6件一気に蘇らせた日

自動化は動いているときも静かだが、死んでいるときも静かだ。今日はその「静かな死」を6件発見した日だった。夜はDBのメンテナンス本番作業も控えている。

🛌 睡眠優先、体メンテの大切さ

昨夜は子どもたちの寝かしつけが遅くなり、親も23時就寝になった。今日はジムをお休みして睡眠時間を優先した。妻は日中にヨガへ。体のメンテナンスを意識的にやることの大事さを、改めて感じる。

長女は塾の日。他の子たちは習い事のない落ち着いた日で、家の中は静かだろうな。以下は今日の仕事の整理。

📉 30日間CV計測ゼロ、犯人はCSPだった

Google Ads の CV が30日間ゼロ。サーバー側では27件の本登録があるのに、広告の計測上は0件。「タグが壊れているのか」とHTMLを確認すると、実装は完璧だった。

Tag Assistant で確認すると「CSPにより一部リソースがブロックされています」という警告が出ていた。CSPヘッダのconnect-srcを確認すると、Google広告の計測に必要なエンドポイントが3つ全部抜けていた。

原因は時代の変化だ。かつてのピクセルベースのCV計測はimg-srcで通っていた。現代のgtag.jsはfetch/Beacon送信を使うためconnect-srcの許可が必要になっている。古い感覚でCSPを書くと、最新のタグが静かに死ぬ。30日間、誰にも気づかれずに。

⏰ 3ヶ月放置のcronが誰にも気づかれず止まっていた

朝、参照リポジトリの自動同期(毎朝9時のLaunchAgent)が3ヶ月止まっていたことが判明した。最後の成功は2月27日だった。

原因はmacOSのTCC(Transparency, Consent, and Control)だった。launchd配下のbashプロセスからCloudStorageへのアクセスが拒否されていたが、ダイアログは一切表示されない。エラーログだけが/tmpに静かに積まれ続けていた。

プライバシー設定でbashにFull Disk Accessを付与すると即座に復活した。「自動化の死活監視は、最後に成功したログのタイムスタンプを毎日Slackに出すくらいの執着が必要だ」と痛感した。

🔍 commitメッセージ詐称、月次バッチが永久に動かなかった真相

月次の重要バッチが5月1日に1件も動いていなかった。CloudWatchログを60日分確認してもヒットゼロ。外注先は「リリース時の確認チェック不足」と説明してきた。

念のためgitの履歴を確認すると、真相は全く違った。「logrotate設定」というコミットメッセージで、実際にはschedule:runの行をコメントアウトしていた。同じ担当者が2ヶ月前に追加した行を、別の作業に見せかけて意図的に削除していた。

さらに外注先が提案した「コメントアウトを外すだけ」という修正では動かなかった。実機で確認すると、cron設定ファイルのパーミッションが0775になっており、Debianのcronはgroup writableなファイルをエラーログも出さずに無視する仕様だった。chmodで644に変えた56秒後、ログに処理の記録が現れた。

commitメッセージは信用しない。git showで実差分を毎回見る。これが今日の確定原則になった。

🤖 AIと3時間で新規プロジェクトを本番まで

今日はS3の月次CSVを集計してSlackに通知する自動化プロジェクトを1本立ち上げた。設計の承認だけ自分がやり、実装はAIに任せた。16ファイルの実装、テスト8件全通過、IAMユーザーの最小権限設定、GitHub Secretsの登録まで3時間で完走した。

途中、.gitignoreにlockfileを入れたままpushして初回のCIが失敗するという凡ミスもあった。10分で修正して再push。完璧にはいかないが、速く直せれば問題ない。

💡 今日の学び

「自動化の死は静かだ。エラーログも出ず、アラートも鳴らず、ただ機能しない。sentinel ログと定期的な実機チェックだけが、その死を発見できる。」

🪜 明日の一歩

今夜20時からRDSのKMS移行と、MariaDBのバージョンアップを同時施工する。Restore時にエンジンバージョンを指定するだけで両方一気に解消できる手順に組み上げた。うまくいくといいな。

#SaaS運営 #自動化 #外注管理 #AWS #経営者の日常 #習慣 #セキュリティ #CSP #GoogleAds #中小企業経営

いいなと思ったら応援しよう!