Personal Edition インスタンスから Enterprise Edition インスタンスへイメージを移行する際、イメージのドメイン名を変更する必要があり、コストがかかる可能性があります。この移行を簡素化するため、Enterprise Edition インスタンスには互換性機能が用意されており、変更なしで Personal Edition ドメイン名を使用してアクセスできます。
前提条件
-
Enterprise Edition インスタンスが作成されていること。詳細については、「Enterprise Edition インスタンスの作成」をご参照ください。
-
Personal Edition インスタンスから Enterprise Edition インスタンスへデータが移行されていること。詳細については、「Personal Edition インスタンスから Enterprise Edition インスタンスへのイメージのインポート」をご参照ください。
この機能は、ホワイトリストに登録されたユーザーのみが利用できます。
制限
-
この互換性機能を有効にできるのは、リージョンごとに 1 つの Enterprise Edition インスタンスのみです。
-
Personal Edition ドメイン名を使用して他のユーザーの Personal Edition インスタンスからイメージをプルする場合、プルできるのはパブリックイメージのみです。
-
Enterprise Edition インスタンス内の名前空間が Personal Edition インスタンス内の名前空間と同じ名前を持つ場合、その Personal Edition 名前空間からイメージをプルできません。そのため、Enterprise Edition インスタンスの名前空間名として、
acsなどの Container Service for Kubernetes (ACK) に固有の文字列を使用しないでください。これにより、公式 ACK コンテナイメージへのアクセス失敗を防ぎます。 -
インターネットを使用する場合、Enterprise Edition インスタンスのエンドポイントを指すようにドメイン名解決を手動で設定する必要があります。
-
RAM ユーザーを使用してログオンしてイメージをプルするには、Enterprise Edition インスタンスのアクセス認証情報を設定し、RAM ユーザーに必要な権限を付与する必要もあります。詳細については、「RAM 認可」をご参照ください。
背景情報
Personal Edition インスタンスと Enterprise Edition インスタンスは、次のタイプのドメイン名をサポートしています。
-
Personal Edition インスタンスのドメイン名(中国(杭州)リージョンを例とします)
説明2024 年 9 月 9 日以降、新しい Personal Edition インスタンスへのアクセスに使用されるドメイン名が調整されます。詳細については、「新しい Personal Edition インスタンスの制限」をご参照ください。
-
中国サイトのデフォルトインターネットドメイン名: registry.cn-hangzhou.aliyuncs.com
-
中国サイトのデフォルトプライベートネットワークドメイン名: registry-vpc.cn-hangzhou.aliyuncs.com
-
国際サイトのデフォルトインターネットドメイン名: registry-intl.cn-hangzhou.aliyuncs.com
-
国際サイトのデフォルトプライベートネットワークドメイン名: registry-intl-vpc.cn-hangzhou.aliyuncs.com
-
-
Enterprise Edition インスタンスのドメイン名(中国(杭州)リージョンを例とします)
-
デフォルトインターネットドメイン名: <Enterprise Edition インスタンスの名前>-registry.cn-hangzhou.cr.aliyuncs.com
-
デフォルトプライベートネットワークドメイン名: <Enterprise Edition インスタンスの名前>-registry-vpc.cn-hangzhou.cr.aliyuncs.com
-
カスタムドメイン名:登録済みのドメイン名を使用できます。
-
仕組み
互換性機能は、プライベート環境内で Personal Edition ドメイン名を Enterprise Edition インスタンスのインターネットエンドポイントまたは VPC エンドポイントに解決することで動作します。
-
クラウド上:システムは Alibaba Cloud DNS PrivateZone を自動的に使用して、Personal Edition インスタンスの VPC ドメイン名を追加し、Enterprise Edition インスタンスの VPC エンドポイントに解決します。Personal Edition ドメイン名を使用してインターネット経由で Enterprise Edition インスタンスにアクセスする場合は、Alibaba Cloud DNS PrivateZone を手動で設定して、Personal Edition ドメイン名を Enterprise Edition インスタンスのインターネットエンドポイントに解決する必要があります。VPC を使用してインスタンスにアクセスすることを推奨します。
-
オンプレミスでは、Enterprise Edition インスタンスを指すようにドメイン名解決を設定する必要があります。イメージをプッシュまたはプルする際、システムはアドレスで指定された名前空間に基づいてトラフィックを分散します。名前空間が Enterprise Edition インスタンスに存在する場合、トラフィックは Enterprise Edition インスタンスにルーティングされます。それ以外の場合、トラフィックは Personal Edition インスタンスにルーティングされます。
シナリオ
|
シナリオ |
Personal Edition 互換性 |
Enterprise Edition ドメイン |
|
推奨 |
非推奨 |
|
配布シナリオが複雑で、ドメイン名解決にコストがかかります。たとえば、サードパーティにイメージを提供する必要がある場合などです。 |
非推奨 |
推奨 |
|
同じリージョン内の他のユーザーの Personal Edition インスタンスからプライベートイメージを使用する必要があります。 |
非推奨 |
推奨 |
ステップ 1:Personal Edition ドメイン互換性の有効化
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
[インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。
-
左側のナビゲーションペインで、を選択します。
-
ドメイン ページで、Container Registry Personal Edition のドメイン名互換機能 スイッチをオンにします。
重要互換性機能を使用するには、チケットを送信して、Enterprise Edition インスタンスをホワイトリストに追加する必要があります。
-
解決の設定 ダイアログボックスで、上記の情報を読んで理解し、Container Registry Personal Edition のドメイン名互換機能を有効化します。 を選択し、OK をクリックします。
互換性機能が有効になると、2 つのパーソナル版ドメイン名が ドメイン ページに追加されます。 たとえば、インスタンスが中国 (杭州) リージョンにある場合、インターネットドメイン名 registry.cn-hangzhou.aliyuncs.com とプライベートネットワークドメイン名 registry-vpc.cn-hangzhou.aliyuncs.com が追加されます。
重要互換性機能の有効化には数秒かかります。この間、名前空間の管理やネットワークアクセス制御の設定はできません。
互換性機能を有効にすると、Personal Edition ドメイン名を使用してプッシュされたイメージは、Personal Edition インスタンスではなく Enterprise Edition インスタンスに保存されます。
ステップ 2:ドメイン名解決の設定
Personal Edition ドメイン名を使用して Enterprise Edition インスタンスにアクセスする前に、ドメイン名解決を設定する必要があります。手順はドメイン名のタイプによって異なります。
-
プライベートネットワークを使用する場合、Alibaba Cloud DNS PrivateZone がバインドされた VPC のドメイン名を自動的に解決します。追加の操作は必要ありません。
-
インターネットを使用する場合、オンプレミスマシンの CIDR ブロックをインターネットホワイトリストに手動で追加し、ドメイン名解決を設定する必要があります。このセクションでは、インターネット接続を例とします。
-
インターネットホワイトリストを追加し、インターネットドメイン名を取得します。
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
-
エンタープライズ版インスタンスページで、を選択します。
-
アクセス制御 ページで、インターネット タブをクリックします。
インターネット タブで、ドメインアドレス を控えておきます。
-
アクセスポータル スイッチをオンにし、インターネットホワイトリストの追加 をクリックします。
-
インターネットホワイトリストの追加 ダイアログボックスで、ローカルホストのアドレス範囲と説明を入力し、OK をクリックします。
-
オンプレミスマシンで次のコマンドを実行して、ドメイン名の IP アドレスを取得します。
ping <ドメイン名>コマンド出力からドメイン名の IP アドレスを取得します。
-
オンプレミスマシンの hosts ファイルに次のエントリを追加して、ファイルを保存します。
<ドメイン名の IP アドレス> <Personal Edition インスタンスのインターネットドメイン名>
ステップ 3:Personal Edition ドメイン経由でのインスタンスへのアクセス
互換性機能を有効にした後、Personal Edition ドメイン名を使用して Enterprise Edition インスタンスにログオンして、イメージリポジトリにイメージをプッシュできます。
-
ドメイン ページで、インターネットドメイン名を取得します。この例では、registry.cn-hangzhou.aliyuncs.com を使用します。
-
Docker クライアントで次のコマンドを実行して、Enterprise Edition インスタンスにログオンします。
docker login registry.cn-hangzhou.aliyuncs.comプロンプトに従ってユーザー名とパスワードを入力します。
Login Succeededメッセージが表示されれば、ログオンが成功したことを示します。 -
イメージをプッシュします。
-
次のコマンドを実行して、イメージにタグを付けます。
docker tag <イメージ ID> registry.cn-hangzhou.aliyuncs.com/<名前空間>/<イメージリポジトリ名>:<イメージタグ> -
次のコマンドを実行して、イメージを Enterprise Edition インスタンスにプッシュします。
docker push registry.cn-hangzhou.aliyuncs.com/<名前空間>/<イメージリポジトリ名>:<イメージタグ>エンタープライズ版インスタンスのリポジトリページで、対象のイメージリポジトリの名前をクリックし、イメージのバージョンを選択します。イメージのバージョンページで、プッシュされたイメージを確認できます。これは、パーソナル版ドメイン名を使用してエンタープライズ版インスタンスへのアクセスに成功したことを示しています。
-
関連トピック
Enterprise Edition インスタンスを使用して Docker Hub から直接イメージをプルする方法については、「Enterprise Edition インスタンスを使用したイメージのプッシュとプル」をご参照ください。