Container Registry Personal EditionインスタンスからContainer Registry Enterprise Editionインスタンスにイメージを移行するには、イメージのドメイン名を変更する必要があります。 この問題を解決するために、Container Registry Enterprise Editionは、Personal Editionインスタンスのドメイン名をサポートするドメイン名互換機能を公開しています。 この機能により、イメージのドメイン名を変更することなく、Personal Editionインスタンスのドメイン名を使用してEnterprise Editionインスタンスにアクセスできます。
前提条件
Enterprise Editionインスタンスが作成されました。 詳細については、「Container Registry Enterprise Editionインスタンスの作成」をご参照ください。
Personal Editionインスタンスのデータは、Enterprise Editionインスタンスに移行されます。 詳細については、「」をご参照ください。
Personal Editionインスタンスのドメイン名を使用してEnterprise Editionインスタンスにアクセスする前に、Enterprise Editionインスタンスをホワイトリストに追加する必要があります。
制限事項
1つのリージョンで、ドメイン名互換機能を有効にすることができるのは、1つのEnterprise Editionインスタンスのみです。
Personal Editionインスタンスのドメイン名を使用して、サードパーティがPersonal Editionインスタンスでホストしているイメージをプルする場合、サードパーティのパブリックイメージのみをプルできます。
Enterprise Editionインスタンスの名前空間名がPersonal Editionインスタンスの名前空間名と同じである場合、Personal Editionインスタンスの名前空間からイメージをプルすることはできません。 したがって、Enterprise Editionインスタンスの名前空間名には、acsなどのContainer Service for Kubernetes (ACK) 固有の文字列を使用しないでください。 これにより、公式ACKコンテナイメージへのアクセスの失敗を防ぐことができる。
Personal Editionインスタンスのパブリックドメイン名を使用する場合は、Personal Editionインスタンスのパブリックドメイン名をEnterprise Editionインスタンスのパブリックエンドポイントに解決するように手動で設定する必要があります。
RAMユーザーを使用してEnterprise Editionインスタンスにログインし、イメージをプルする場合は、Enterprise Editionインスタンスでアクセス資格情報を設定し、対応するリソースに対する権限をRAMユーザーに付与する必要があります。 詳細については、次をご参照ください: RAMユーザーがContainer Registryにアクセスするためのポリシーの設定
背景情報
Personal EditionおよびEnterprise Editionインスタンスでサポートされるドメイン名は次のとおりです。
例: 中国 (杭州) リージョンのPersonal Editionインスタンスでサポートされているドメイン名:
中国サイトのデフォルトのパブリックドメイン名 (aliyun.com): registry.cn-hangzhou.aliyuncs.com
中国サイトのデフォルトのプライベートドメイン名 (aliyun.com): registry-vpc.cn-hangzhou.aliyuncs.com
国際サイトのデフォルトのパブリックドメイン名 (alibabacloud.com): registry-intl.cn-hangzhou.aliyuncs.com
国際サイトのデフォルトのプライベートドメイン名 (alibabacloud.com): registry-intl-vpc.cn-hangzhou.aliyuncs.com
例: 中国 (杭州) リージョンのEnterprise Editionインスタンスでサポートされているドメイン名:
デフォルトのパブリックドメイン名: <Enterprise Edition instanc e>-registry.cn-hangzhou.cr.aliyuncs.comの名前
デフォルトのプライベートドメイン名: <Enterprise Edition instanc e>-registry-vpc.cn-hangzhou.cr.aliyuncs.comの名前
カスタムドメイン名: すべての登録済みドメイン名。
制御ポリシー機能の動作
Personal Editionインスタンスのドメイン名は、プライベート環境のEnterprise EditionインスタンスのパブリックエンドポイントまたはVPCエンドポイントに解決されます。
クラウド上: システムは自動的にAlibaba cloud DNS PrivateZone (PrivateZone) を使用してPersonal EditionインスタンスのVPCドメイン名をゾーンに追加し、Personal EditionインスタンスのVPCドメイン名をEnterprise EditionインスタンスのVPCエンドポイントに解決します。 Personal Editionインスタンスのパブリックドメイン名を使用してEnterprise Editionインスタンスにアクセスする場合は、PrivateZoneを手動で設定する必要があります。 次に、PrivateZoneは、Personal Editionインスタンスのパブリックドメイン名をEnterprise Editionインスタンスのパブリックエンドポイントに解決します。 Enterprise Editionインスタンスにアクセスするには、Personal EditionインスタンスのVPCドメイン名を使用することを推奨します。
オンプレミス: Personal Editionインスタンスのドメイン名をEnterprise Editionインスタンスのエンドポイントに解決するように設定する必要があります。 イメージがプッシュまたはプルされると、システムはEnterprise Editionインスタンスのエンドポイントの名前空間名に基づいてトラフィックを分散します。 Enterprise Editionインスタンスのエンドポイントに名前空間名が存在する場合、トラフィックはEnterprise Editionインスタンスに配信されます。 それ以外の場合、トラフィックはPersonal Editionインスタンスに配信されます。
シナリオ
シナリオ | ドメイン名互換機能の使用 | Enterprise Editionインスタンスのエンドポイントの使用 |
| (推奨) | 推奨されていません。 |
画像の配信環境は複雑であり、ドメイン名の解像度を設定するコストは高い。 例えば、画像は第三者に提供される必要がある。 | 推奨されていません。 | (推奨) |
お住まいの地域の他のユーザーのPersonal Editionインスタンスのプライベートイメージを使用する必要があります。 | 推奨されていません。 | (推奨) |
手順1: Enterprise Editionインスタンスのドメイン名互換機能を有効にする
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
[インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。
Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、 .
ドメインページ、オンにするPersonal Editionインスタンスドメインのサポート.
重要ドメイン名互換機能を使用するには、 チケットを起票し、Enterprise Editionインスタンスのホワイトリストへの追加を申請します。
解像度の設定ダイアログボックスで、パーソナルエディションのインスタンスドメインをサポートする機能を有効にするか確認するをクリックし、確認.
Personal Editionインスタンスドメインをサポートする機能を有効にすると、Personal Editionインスタンスのプライベートドメイン名とパブリックドメイン名が [ドメイン] ページに表示されます。 たとえば、Personal Editionインスタンスが中国 (杭州) リージョンにある場合、Personal Editionインスタンスe registry.cn-hangzhou.aliyuncs.comのパブリックドメイン名とPersonal Editionインスタンスe registry-vpc.cn-hangzhou.aliyuncs.comのプライベートドメイン名が [ドメイン] ページに表示されます。
重要ドメイン名互換機能を有効にするには数秒かかります。 この期間中、名前空間およびネットワークアクセス制御機能は使用できません。
ステップ2: ドメイン名解決の設定
Personal Editionインスタンスのドメイン名を使用してEnterprise Editionインスタンスにアクセスする前に、ドメイン名解決を設定する必要があります。 ドメイン名解決を設定する操作は、ドメイン名のタイプによって異なります。
Personal Editionインスタンスのプライベートドメイン名を使用する場合、Alibaba Cloud DNS PrivateZoneは自動的にプライベートドメイン名を解決します。
Personal Editionインスタンスのパブリックドメイン名を使用する場合、ローカルホストのCIDRブロックをパブリックエンドポイントホワイトリストに手動で追加し、Personal Editionインスタンスのドメイン名解決を設定する必要があります。 この例では、Personal Editionインスタンスのパブリックドメイン名を使用します。
Enterprise EditionインスタンスのCIDRブロックをパブリックエンドポイントホワイトリストに追加し、Personal Editionインスタンスのパブリックドメイン名を取得します。
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、 .
アクセス制御ページをクリックし、インターネットタブをクリックします。
[インターネット] タブで、ドメインアドレスを見つけてコピーします。
オンにするエンドポイントをクリックし、インターネットホワイトリストの追加.
インターネットホワイトリストの追加ダイアログボックスで、CIDRブロックとローカルホストの説明を入力し、確認.
次のコマンドを実行して、Personal EditionインスタンスのIPアドレスを照会します。
ping <Endpoint of the Personal Edition instance>
コマンド出力からPersonal EditionインスタンスのIPアドレスを取得します。
ローカルホストの次の情報を入力して保存します。
<IP address of the domain name> <Public domain name of the Personal Edition instance>
手順3: Personal Editionインスタンスのドメイン名を使用してEnterprise Editionインスタンスにアクセスする
ドメイン名互換機能を有効にすると、Personal Editionインスタンスのドメイン名を使用してEnterprise Editionインスタンスにログインし、Enterprise Editionインスタンスのイメージリポジトリにイメージをプッシュできます。
[ドメイン] ページで、Personal Editionインスタンスのパブリックドメイン名を見つけてコピーします。 この例では、パブリックドメインのnam e registry.cn-hangzhou.aliyuncs.comが使用されます。
Dockerクライアントで次のコマンドを実行して、Enterprise Editionインスタンスにログインします。
docker login registry.cn-hangzhou.aliyuncs.com
コマンド出力で、アカウントとパスワードを入力します。
ログイン成功
が表示された場合、Enterprise Editionインスタンスにログインしています。画像をプッシュします。
次のコマンドを実行して、画像にタグを付けます。
docker tag <Image ID> registry.cn-hangzhou.aliyuncs.com/<Namespace name>/<Image repository name>:<Image tag>
次のコマンドを実行して、Container Registry Enterprise Editionインスタンスにイメージをプッシュします。
docker push registry.cn-hangzhou.aliyuncs.com/<Namespace name>/<Image repository name>:<Image tag>
Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、[リポジトリ]> [リポジトリ] を選択します。 イメージリポジトリの名前をクリックし、イメージバージョンを選択します。 プッシュしたイメージがイメージバージョンページに表示されている場合、Personal Editionインスタンスのドメイン名を使用してEnterprise Editionインスタンスにアクセスできます。
関連ドキュメント
Container Registry Enterprise EditionインスタンスからDockerイメージをプルする方法の詳細については、「Container Registry Enterprise Editionインスタンスにイメージをプッシュし、インスタンスからイメージをプルする」をご参照ください。