Google Artifact Registry とは?GCP のイメージ・パッケージ store
Google Artifact Registry は、コンテナイメージと言語パッケージ(npm、Maven、Python など)を保存する GCP のマネージド store で、IAM ベースのアクセス制御を備えます。
Artifact Registry は、古い Container Registry に代わる GCP の後継です。デプロイが pull する build 成果物を保持します。Cloud Run や GKE 向けの Docker イメージに加え、言語固有のパッケージです。アクセスは GCP IAM が管理するため、他の場所で使うのと同じアイデンティティがここでも適用されます。
コンテナだけではない
Docker および OCI イメージに加え、Artifact Registry は npm、Maven、Python など他のパッケージ形式もホストします。これにより、チームはプライベートパッケージとコンテナイメージの両方を、IAM が管理する 1 つの場所にまとめられます。
リポジトリとリージョン
形式とリージョンごとにリポジトリを作成します。リポジトリを GKE cluster や Cloud Run サービスと同じリージョンに置くと、イメージ pull のレイテンシが減り、cold start が速くなります。
認証
- IAM の role が、各リポジトリを誰が読み書きできるかを制御します。
- Docker は gcloud または credential helper を使って認証します。
- service account と Workload Identity Federation が自動化をカバーします。
組み込み機能
Artifact Registry はイメージの脆弱性スキャン、immutable なタグの強制、Binary Authorization との統合により、承認済みのイメージのみを GKE へデプロイさせることができます。これらのガードレールがサプライチェーンを強化します。
CI/CD での役割
パイプラインはイメージを build し、Artifact Registry へ認証し、commit SHA でイメージにタグを付けてプッシュします。デプロイステップはそのタグを Cloud Run や GKE で参照します。GitHub Actions は Workload Identity Federation を使うため、service account の鍵は secret に保存されません。
重要なポイント
- Artifact Registry はコンテナイメージと言語パッケージを GCP に保存します。
- アクセスは IAM が管理します。pull のレイテンシを減らすため、repo は compute の近くに置きましょう。
- パイプラインは Cloud Run や GKE へデプロイする前に、タグ付けしたイメージをここへプッシュします。