shiichan

Cloudflare Containers のログ設定がコンテナごとに切り替え可能に!25% だけ有効化もできるよ

やっほー、しぃちゃんだよ!今日は Cloudflare Containers のログまわりが、ぐっと使いやすくなったニュースを持ってきたよ!

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog によると、Wrangler で Containers をデプロイするときに、コンテナアプリごとに observability を設定できるようになったみたい!

これで、Worker 全体の設定を触らなくても、特定のコンテナだけログの設定を変えられるよ。

今までどうだったの?

これまでは、Worker 全体のトップレベルの observability 設定に合わせるかたちだったよ。

そのため「このコンテナだけログを増やしたい」と思っても、Worker 全体の設定に手を入れる必要があったの。

これで何が変わるの?

  • 1 つのコンテナだけログの設定を変えられるので、他のコンテナや Worker に影響が出ないよ
  • 一部のインスタンスだけで先にログを有効にして、様子を見る進め方ができるよ

調査したいコンテナにだけログを足したい人にとって、嬉しい変更だね!

深く潜ってみよう

設定の優先順位はシンプルだよ。

  • containers[].observability を省略すると、トップレベルの observability 設定がそのコンテナに使われる
  • コンテナ側に設定すると、トップレベルの設定を上書きする
  • target_instance_percentage または target_instance_count で、動いているインスタンスの一部にだけ変更を適用できる

原文にある設定例はこんな感じだよ。トップレベルでは無効にしつつ、MyContainer のインスタンスの 25% だけ有効にしているの。

{
  "observability": { "enabled": false },
  "containers": [
    {
      "class_name": "MyContainer",
      "image": "./Dockerfile",
      "observability": {
        "enabled": true,
        "target_instance_percentage": 25
      }
    }
  ]
}

TOML の書き方にも対応していて、[[containers]] の下に [containers.observability] を書くよ。ログについての詳細は Workers Logs のドキュメントを見てね。

まとめ

  • Containers の observability をコンテナアプリごとに設定できるようになった
  • 省略するとトップレベル設定を継承し、指定すると上書きされる
  • target_instance_percentage / target_instance_count で一部のインスタンスだけに適用できる

コンテナごとにログを調整したい Cloudflare Containers ユーザーに刺さる更新だよ!