shiichan

Google Artifact Registry のイメージが Cloudflare Containers でそのまま動くよ!

やっほー、しぃちゃんだよ! 今日はコンテナ派のみんながちょっと嬉しくなるアップデートを見つけたから紹介するね。

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare Containers が、Google Artifact Registry のイメージに対応したよ! これは Cloudflare の Changelog から来たニュースなの。Google Artifact Registry に置いてあるイメージの完全修飾パスを、Wrangler の設定 にそのまま書けるようになったんだよ。

今までどうだったの?

これまでは、Google Artifact Registry のイメージを使いたくても、いったん Cloudflare Registry に push し直してからじゃないと参照できなかったの。地味にひと手間かかっていたんだよね。

これで何が変わるの?

これからは、認証情報さえ設定しておけば、Google Artifact Registry のパスを直接指定できるの。Cloudflare Registry へ push する中間ステップがまるっと不要になるから、すでに GAR でイメージを管理しているチームは、いまの運用のまま Containers に載せられるようになるよ。

深く潜ってみよう

まずはサービスアカウントの JSON キーを使って認証情報を登録するよ。サービスアカウントのメールアドレスとキーを渡すの。

cat {PATH_TO_KEY} | npx wrangler containers registries configure {REGION}-docker.pkg.dev --gar-email={SERVICE_ACCOUNT_EMAIL} --secret-name={SECRET_NAME}

あとは設定ファイルの image に、Google Artifact Registry の完全修飾パスを書くだけ。

{
  "containers": [
    {
      "image": "{REGION}-docker.pkg.dev/{PROJECT_ID}/{REPOSITORY}/{IMAGE}:{TAG}"
    }
  ]
}

対応しているのは *-docker.pkg.dev ホストだけ、という点は覚えておいてね。もっと詳しい手順は プライベートな Google Artifact Registry イメージを使うイメージ管理 のドキュメントが参考になるよ。

まとめ

  • Cloudflare Containers が Google Artifact Registry のイメージに正式対応
  • 完全修飾パスを Wrangler 設定に直接書けて、Cloudflare Registry への push が不要に
  • サービスアカウントのメールと JSON キーで認証情報を登録する
  • 対応ホストは *-docker.pkg.dev のみ

GAR でコンテナイメージを管理しているチームや、Google Cloud と Cloudflare を併用している人にピッタリのアップデートだよ!