tencent cloud

Tencent Container Registry

ドキュメントTencent Container Registry実践チュートリアルセルフホスト型 Harbor から TCR エンタープライズ版へのイメージ同期

セルフホスト型 Harbor から TCR エンタープライズ版へのイメージ同期

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-20 20:23:32
AI翻訳

操作シナリオ

ユーザーが IDC 内のセルフホスト型のコンテナクラスターをクラウド上の Tencent Kubernetes Engine(TKE)に移行する際、セルフホスト型のコンテナイメージマネージドサービスを併せてクラウド上に移行してホスティングすることも選択できます。セルフホスト型のイメージリポジトリサービスを Tencent Container Registry(TCR)に移行した後、一方では、ユーザーが自ら構築・保守する運用管理コストを削減できるとともに、クラウド上で専門的かつ安定したマネージドサービスとテクニカルサポートが提供されます。他方では、クラウド上の TKE との連携利用を実現し、ユーザーはコンテナのクラウド移行における一貫した利用体験を得ることができ、コンテナクラスターのプライベートネットワークを使用してイメージをプルできるため、パブリックネットワークの帯域幅コストを削減できます。
Harbor は、VMware 社がオープンソース化したエンタープライズ向け Docker レジストリプロジェクトです。オープンソースの Docker Distribution の機能を基盤として、RBAC、イメージセキュリティスキャン、イメージ同期などの機能を拡張しています。現在では、セルフホスト型のコンテナイメージホスティングおよび配布サービスにおける第一の選択肢となっています。本記事では、IDC またはクラウド上のサーバー内に構築済みの Harbor にあるコンテナイメージまたは Helm Chart を、クラウド上の TCR エンタープライズ版インスタンスに同期する方法について説明します。

前提条件

セルフホスト型 Harbor 内のデータをクラウド上の TCR インスタンスに同期する前に、まず以下の準備作業を確認して完了する必要があります:
Harbor サービスを構築済みであり、Harbor v1.8.0 以降のバージョンのみをサポートしていること。
セルフホスト型 Harbor が専用線、パブリックネットワーク、またはプライベートネットワークを通じて TCR にアクセスできることを確認すること。
クラウド上のコンテナクラスターが存在するリージョンまたはその近隣のリージョンで、エンタープライズ版インスタンスの購入が完了していること。
サブアカウントを使用して操作する場合は、エンタープライズ版権限付与ソリューション例を参照して、事前に、対応するインスタンスのコンテナイメージ、Helm Chart のプッシュ権限をサブアカウントに付与してください。TCR の全読み書き権限を、同期設定のサブアカウントに付与することを推奨します。

操作手順

セルフホスト型 Harbor サービスから TCR エンタープライズ版インスタンスへのアクセスを設定

セルフホスト型 Harbor サービスの実際のネットワーク状況に応じて、Tencent Cloud VPC 経由またはパブリックネットワーク経由のアクセス方法を選択して、TCR エンタープライズ版インスタンスへのアクセスを設定できます。
Tencent Cloud VPC 経由でアクセスする
パブリックネットワーク経由でアクセスする
現在のセルフホスト型 Harbor サービスが Tencent Cloud VPC 環境内にデプロイされている場合、または専用線を介して Tencent Cloud VPC に既に接続されている場合は、プライベートネットワークを介してデータを同期できます。プライベートネットワークを介したデータ同期は、データ同期速度を向上させ、パブリックネットワークトラフィック費用を節約できます。
1. TCR コンソールにログインし、左側のナビゲーションバーでアクセス制御 > プライベートネットワークアクセスを選択します。
2. ページ上部のインスタンス名ドロップダウンリストで、データ同期が必要なインスタンスを選択します。
3. 新規作成をクリックし、表示される「プライベートネットワークアクセスリンクの新規作成」ウィンドウで、セルフホスト型 Harbor サービスがプライベートネットワークを介してこのインスタンスにアクセスできるように、新しいプライベートネットワークアクセスリンクを設定します。内容は以下の通りです:
所属インスタンス:現在選択中のインスタンス、つまりデータ同期が必要なインスタンスです。
VPC:セルフホスト型 Harbor サービスが存在する VPC、または専用線で接続済みの VPC です。
サブネット:新しいプライベートネットワークアクセスリンクは、選択した VPC のプライベート IP を 1 つ占有します。このプライベート IP が属するサブネットを割り当てるために、VPC 配下のサブネットを 1 つ選択してください。
4. 上記の設定が完了すると、プライベートネットワークアクセスリンクのターゲットアクセス IP を取得できます。VPC 環境でインスタンスのドメイン名をこのプライベート IP に解決するには、このプライベートネットワークアクセスリンクの自動名前解決を管理し、デフォルトドメイン名の自動名前解決を有効にしてください。下図に示すとおりです。詳細については、プライベートネットワーク名前解決の管理を参照してください。


セルフホスト型 Harbor サービスが配置されているクラウドサーバー(CVM)上で Host を設定することもできます。手動設定を選択する場合は、CVM 上で以下のコマンドを実行して Host を設定できます。現在独立した DNS サービスを使用している場合は、DNS サービスで設定することもできます。
echo x.x.x.x harbor-sync.tencentcloudcr.com >> /etc/hosts
現在のセルフホスト型 Harbor サービスが Tencent Cloud VPC 環境内にデプロイされていない場合、または専用線を介して Tencent Cloud VPC に接続できない場合は、パブリックネットワークを介してデータを同期できます。同期プロセス中にパブリックネットワークのトラフィック料金が発生する可能性があります。詳細については、ネットワーク事業者またはクラウドサービスプロバイダーの料金体系を参照してください。
1. TCR コンソールにログインし、左側のナビゲーションバーでアクセス制御 > パブリックネットワークアクセスを選択します。
2. ページ上部のインスタンス名ドロップダウンリストで、データ同期が必要なインスタンスを選択します。
3. リスト上部のパブリックアクセスエンドポイントの有効化をクリックすると、アクセスの有効化が開始されます。 このボタンの状態が有効化中からパブリックアクセスエンドポイントの無効化に変わり、パブリックネットワークホワイトリストを追加が選択可能な状態になった場合、アクセスが有効になったことを示します。アクセスが有効になった後は、デフォルトですべての送信元からのパブリックネットワークアクセスを拒否します。
4. パブリックネットワークホワイトリストの追加をクリックし、表示される「パブリックネットワークアクセスホワイトリストの新規作成」ウィンドウでホワイトリストポリシーを設定し、セルフホスト型 Harbor サービスがパブリックネットワークを介してこのインスタンスにアクセスできるようにします。内容は以下の通りです:
所属インスタンス:現在選択中のインスタンス、つまりデータ同期が必要なインスタンスです。
パブリック IP アドレス範囲:セルフホスト型 Harbor サービスのエグレスに使用するパブリック IP です。具体的なパブリック IP アドレスを確認できない場合は、一時的に 0.0.0.0/0 と設定して、すべてのパブリックネットワーク送信元からのアクセスを許可できます。同期が完了したら、この設定を速やかに削除してください。
備考:ホワイトリスト設定の備考情報を入力できます。例えば「セルフホスト型 Harbor のパブリックネットワークアクセスを許可」などです。 設定が完了すると、下図のようになります:



エンタープライズ版インスタンスアクセス認証情報の作成

TCR エンタープライズ版は複数のアクセス認証情報の作成と管理をサポートしています。データ同期操作用に独立したアクセス認証情報を作成し、データ同期が完了したら速やかに削除して、インスタンスのアクセス権限の漏洩を防ぐことを推奨します。
1. TCR コンソールにログインし、左側のナビゲーションバーでインスタンスリストを選択します。
2. 「インスタンスリスト」ページでデータ同期が必要なインスタンスを選択し、インスタンス詳細ページに移動します。
3. アクセス認証情報タブを選択し、インスタンスリスト上部の新規作成をクリックします。
4. 表示される「アクセス認証情報の新規作成」ウィンドウで、以下の手順に従って取得します:
4.1 「アクセス認証情報の新規作成」ステップで、認証情報の「用途説明」を入力し、次へをクリックします。用途説明には「セルフホスト型 Harbor データ同期専用」と入力できます。
4.2 「アクセス認証情報の保存」ステップで、アクセス認証情報を保存をクリックして認証情報をダウンロードします。アクセス認証情報は一度しか保存できないため、大切に保管してください。
作成が完了すると、アクセス認証情報タブで確認できます。データ同期が完了したら、速やかにアクセス認証情報の無効化と削除を行ってください。

Harbor の同期リポジトリと同期ルールを設定する

Harbor では、サードパーティレジストリの追加およびデータレプリケーションルールの設定をサポートしています。本記事では Harbor v2.1.2 を例に操作を説明します。
1. 管理者アカウントを使用してセルフホスト型 Harbor サービスにログインすると、システム管理の表示や操作を行えます。
2. 左側のナビゲーションバーでシステム管理 > リポジトリ管理を選択し、「リポジトリ管理」ページに移動します。
3.
「リポジトリ管理」ページで
、ターゲットの新規作成をクリックし、以下の情報を参考にエンタープライズ版インスタンスを追加します。
プロバイダー:「Tencent TCR」を選択します。
ターゲット名:この同期ターゲット名をカスタマイズします。例えば tencent-tcr です。
説明:この同期ターゲットの説明です。
ターゲット URL:エンタープライズ版インスタンスのアクセスドメイン名です。例えば https://harbor-sync.tencentcloudcr.com です。
アクセス ID:アクセス管理(CAM) > API キー管理で取得した SecretId を入力します。
アクセスパスワード:CAM > API キー管理で取得した SecretKey を入力します。
リモート証明書の検証:デフォルト設定を維持します。
4. 接続テストをクリックします。
「接続テスト成功」と表示された場合、現在のセルフホスト型 Harbor サービスがこのエンタープライズ版インスタンスに正常にアクセスできることを示しています。
「接続テスト失敗」と表示された場合は、セルフホスト型 Harbor サービスから TCR エンタープライズ版インスタンスへのアクセスを設定を確認してください。
5. 確定をクリックして、このターゲットリポジトリを新規作成します。
注意:
セルフホスト型 Harbor のバージョンが低く、プロバイダーオプションに「Tencent TCR」がない場合は、新しいターゲットリポジトリを作成する際に、プロバイダーとして「Docker Registry」を選択し、アクセス ID とアクセスパスワードには、インスタンス管理で取得したイメージリポジトリの長期アクセス認証情報(ユーザー名 + パスワード)をそれぞれ入力してください。Tencent Cloud の SecretId、SecretKey は入力しないでください。この設定では、TCR 側でのネームスペースの自動作成は現在サポートされていません。
6. 左側のナビゲーションバーでシステム管理 > レプリケーション管理を選択し、ルールの新規作成をクリックして、以下の情報を参考に同期ルールを作成します。
名前:同期ルール名です。具体的な使用シナリオに応じて入力します。
説明:このレプリケーションルールの説明です。
レプリケーションモード:デフォルトは Push-based モードです。現在「Tencent TCR」プラグイン(Harbor バージョン ≥ 2.1.2)を使用している場合のみ、Pull-based を選択できます。Push-based とは、Harbor 内で新しく追加されたイメージを TCR に同期することを指し、Pull-based とは、TCR 内で新しく追加されたイメージを Harbor に同期することを指します。
ソースリソースフィルター:同期が必要なリソースをフィルタリングして選択できます。未入力の場合、デフォルトでセルフホスト型 Harbor 内のすべてのコンテナイメージと Helm Chart リソースが選択されます。
同期先レジストリ:ステップ 3 で作成済みのターゲットリポジトリを選択します。
同期先 Namespace:同期先のネームスペースを指定します。未入力の場合、デフォルトで同名のネームスペースが使用されます。デフォルト設定を維持することを推奨します。
トリガーモード:デフォルトは手動トリガーです。新しいコンテナイメージまたは Helm Chart がプッシュされたときに自動同期する必要がある場合は、「イベント駆動」を選択してください。また、「ローカルのイメージを削除するときにリモートのイメージも同時に削除する」にチェックを入れないことを推奨します。
上書き:デフォルトでは同じ名前のリソースを上書きします。

同期をトリガーし、同期ログを確認する

セルフホスト型 Harbor サービスにコンテナイメージと Helm Chart をプッシュします。同期ルールのトリガーモードが「イベント駆動」に設定されている場合、新しくプッシュされたリソースは自動的にエンタープライズ版インスタンスに同期されます。この同期ルールを選択して同期ログを確認でき、エンタープライズ版インスタンスコンソールに移動して同期が成功したかどうかを確認できます。この手順では、セルフホスト型 Harbor サービスに nginx:latest コンテナイメージを手動でプッシュして同期をトリガーする場合を例に説明します:
1. コンテナイメージをプッシュして確認する docker クライアントを使用してローカルの nginx:latest コンテナイメージをプッシュし、セルフホスト型 Harbor コンソールに移動してプッシュ済みのイメージを確認します。
2. 同期記録と進捗を確認する 左側のナビゲーションバーでシステム管理 > レプリケーション管理を選択し、ステップ 6 で作成済みの同期ルールを選択すると、この同期ルールのレプリケーションタスクを確認できます。
3. TCR 内で同期済みイメージを確認する TCR コンソールの「イメージリポジトリ」ページに移動し、セルフホスト型 Harbor サービスと同期しているインスタンスを選択すると、同期に成功したコンテナイメージを確認できます。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック