🔥

オンプレミスの Private Registry のイメージを Cloud Run にデプロイする

2024/12/15に公開

はじめに

コンテナイメージを複数の Google Cloud サービス(GKE、Cloud Run、Batch など)やオンプレミス環境で共有・活用したい場合、イメージの一元管理が課題となります。
GKE では imagePullSecrets を用いて Private Registry から直接イメージを取得可能ですが、Cloud Run や Batch では基本的に、利用するイメージが Artifact Registry 上に存在することが前提です。
一方、Artifact Registry には「Remote Registry」を設定する機能があり、これを利用すると Private Registry に保管されたイメージを間接的に Artifact Registry 経由で参照できます。これにより、Private Registry 上のイメージを、Cloud Run や Batch など Artifact Registry を必要とするサービスでも利用できるようになります。
本検証の目的は以下の2点です。

  1. 中央集約的なイメージ管理の実現
    • 複数の Google Cloud サービスや環境で利用するイメージを一元的に管理することで、運用効率を向上します。
  2. オンプレミス環境とのイメージ共有
    • オンプレミスで管理しているイメージを、Cloud Run などの Google Cloud サービス上でも活用できるようにし、ハイブリッドなイメージ利用体制を確立します。

本ブログ記事では、Artifact Registry のリモートレジストリ機能を用いて Private Registry 上のイメージを Cloud Run で使えるようにする手順・検証結果を紹介します。

環境準備

Private Registry の準備

今回は Private Registry の構築は省略しますが、検証のために Harbor を利用して Private Registry を構築しました。構築手順は以下の公式ドキュメントを参照してください。

https://goharbor.io/docs/2.12.0/install-config/

また、Private Registry には docker/welcome-to-docker のイメージを登録しておきます。

認証情報の登録

Secret Manager に Private Registry に接続するアカウントのパスワードを登録します。

パスワード登録

Artifact Registry の作成

以下の設定で Artifact Registry を作成します:

  • モードをリモートを選択
  • リモート リポジトリのソースでカスタムを選択し、Private Registry の URL を登録
  • 「リモート リポジトリの認証モード」で先ほど登録した Secret Manager のシークレットと該当するアカウント名を指定

Artifact Registry 作成

その他のリージョンなどの設定は好みに応じて設定してください。

デプロイ

Cloud Run にイメージをデプロイします。イメージは先ほど登録した Artifact Registry の URL のあとに レポジトリ名/イメージ名:タグ を追加したものを指定します。

イメージ登録

デプロイ確認

Cloud Run のデプロイが完了したらアクセスし、動作を確認します。正常に Private Registry のイメージから Cloud Run がデプロイされていることが確認できます。

デプロイ確認

まとめ

今回は Private Registry のイメージを利用して、Artifact Registry からイメージをデプロイが必要なサービスへデプロイする方法を検証しました。Artifact Registry はリモート Registry の設定により、Private Registry を指定することができるため、Private Registry のイメージを利用して Cloud Run をデプロイすることができることが確認できました。

※ データ分析、データ基盤構築、および AI 活用に関するご相談は、以下よりお気軽にお問い合わせください。
お問い合わせフォーム

Hogetic Lab

Discussion