オンプレミスの Private Registry のイメージを Cloud Run にデプロイする
はじめに
コンテナイメージを複数の 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点です。
- 中央集約的なイメージ管理の実現
- 複数の Google Cloud サービスや環境で利用するイメージを一元的に管理することで、運用効率を向上します。
- オンプレミス環境とのイメージ共有
- オンプレミスで管理しているイメージを、Cloud Run などの Google Cloud サービス上でも活用できるようにし、ハイブリッドなイメージ利用体制を確立します。
本ブログ記事では、Artifact Registry のリモートレジストリ機能を用いて Private Registry 上のイメージを Cloud Run で使えるようにする手順・検証結果を紹介します。
環境準備
Private Registry の準備
今回は Private Registry の構築は省略しますが、検証のために Harbor を利用して Private Registry を構築しました。構築手順は以下の公式ドキュメントを参照してください。
また、Private Registry には docker/welcome-to-docker のイメージを登録しておきます。
認証情報の登録
Secret Manager に Private Registry に接続するアカウントのパスワードを登録します。
Artifact Registry の作成
以下の設定で Artifact Registry を作成します:
- モードをリモートを選択
- リモート リポジトリのソースでカスタムを選択し、Private Registry の URL を登録
- 「リモート リポジトリの認証モード」で先ほど登録した Secret Manager のシークレットと該当するアカウント名を指定
その他のリージョンなどの設定は好みに応じて設定してください。
デプロイ
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 活用に関するご相談は、以下よりお気軽にお問い合わせください。
お問い合わせフォーム
Discussion