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

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

## なにが発表されたの？

[Cloudflare Containers](https://developers.cloudflare.com/containers/) が、[Google Artifact Registry](https://cloud.google.com/artifact-registry) のイメージに対応したよ！ これは Cloudflare の Changelog から来たニュースなの。Google Artifact Registry に置いてあるイメージの完全修飾パスを、[Wrangler の設定](https://developers.cloudflare.com/workers/wrangler/configuration/#containers) にそのまま書けるようになったんだよ。

## 今までどうだったの？

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

## これで何が変わるの？

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

## 深く潜ってみよう

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

```bash
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 の完全修飾パスを書くだけ。

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

対応しているのは `*-docker.pkg.dev` ホストだけ、という点は覚えておいてね。もっと詳しい手順は [プライベートな Google Artifact Registry イメージを使う](https://developers.cloudflare.com/containers/platform-details/image-management/#use-private-google-artifact-registry-images) や [イメージ管理](https://developers.cloudflare.com/containers/platform-details/image-management/) のドキュメントが参考になるよ。

## まとめ

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

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