リージョン間またはデータセンターから Container Registry Enterprise Edition インスタンスにアクセスしてイメージをプッシュまたはプルする場合、アクセス元の VPC (VPC) と Enterprise Edition インスタンスの VPC が接続されていることを確認してください。このトピックでは、Enterprise Edition インスタンスの IP アドレスを取得し、Enterprise Edition インスタンスのリージョン外からイメージをプッシュまたはプルするためのルートを設定する方法について説明します。
シナリオ
シナリオ | 説明 | 操作 |
データセンターから Enterprise Edition インスタンスにアクセスする | Virtual Private Network (VPN) ゲートウェイ、Express Connect 回線、および Smart Access Gateway を使用して、データセンターを Enterprise Edition インスタンスの VPC に接続できます。 |
|
リージョン間で Enterprise Edition インスタンスにアクセスする | Cloud Enterprise Network (CEN) を使用して、アクセス元の VPC をリージョン間で Enterprise Edition インスタンスの VPC に接続できます。 説明 複数のリージョンからイメージをプルする場合は、これらのリージョンに複数の Enterprise Edition インスタンスを作成し、Enterprise Edition インスタンスのグローバルレプリケーション機能を使用してイメージをレプリケートすることをお勧めします。詳細については、「同じアカウント内でイメージをレプリケートする」をご参照ください。 |
|
説明
この例では、中国 (上海) リージョンのアクセス元が、同じ Alibaba Cloud アカウント内の中国 (杭州) リージョンの Enterprise Edition インスタンスにアクセスします。環境情報は次のとおりです。
VPC1
リージョン: 中国 (杭州)。
IPv4 CIDR ブロック: 10.0.0.0/16。
杭州ゾーン J の vSwitch 1 の CIDR ブロック: 10.0.0.0/24。
杭州ゾーン K の vSwitch 2 の CIDR ブロック: 10.0.1.0/24。vSwitch は、マルチゾーンディザスタリカバリを実装するために異なるゾーンに作成されます。
Elastic Compute Service (ECS) インスタンス 1 の IP アドレス: 10.0.0.1。このトピックの ECS インスタンスは、接続性を検証するために使用されます。
VPC2
リージョン: 中国 (上海)。
IPv4 CIDR ブロック: 172.16.0.0/16。
上海ゾーン M の vSwitch 1 の CIDR ブロック: 172.16.0.0/24。
上海ゾーン N の vSwitch 2 の CIDR ブロック: 172.16.1.0/24。
ECS インスタンス 2 の IP アドレス: 172.16.0.1。
手順:
リージョン間接続: CEN を使用して、中国 (上海) リージョンのアクセス元の VPC を中国 (杭州) リージョンの Enterprise Edition インスタンスの VPC に接続します。詳細については、「異なるリージョンの VPC を接続する」をご参照ください。
中国 (杭州) リージョンにある Enterprise Edition インスタンスの以下のドメイン名情報を取得します:
説明Enterprise Edition インスタンスと同じリージョンにある ECS インスタンスは、VPC 経由で Enterprise Edition インスタンスにアクセスする必要があります。詳細については、「VPC ACL を設定する」をご参照ください。
Enterprise Edition インスタンスのドメイン名。このドメイン名は、イメージをプルおよびプッシュするために API によってアクセスされます。
認証サービスのドメイン名。このドメイン名は、システムが身分認証を実行するときにアクセスされます。
Object Storage Service (OSS) バケットのドメイン名。OSS バケットは、Enterprise Edition インスタンス上のイメージを格納するために使用されます。
ルートテーブルの設定: IP アドレスまたは CIDR ブロックをルートテーブルに追加して、アクセス元がリージョン間で Enterprise Edition インスタンスにアクセスできるようにします。
中国 (上海) リージョンのアクセス元から中国 (杭州) リージョンの Enterprise Edition インスタンスへのアクセスをテストします。
ステップ 1: リージョン間接続の作成
CEN を使用して、中国 (上海) リージョンのアクセス元の VPC2 を中国 (杭州) リージョンの Enterprise Edition インスタンスの VPC1 に接続します。詳細については、「異なるリージョンの VPC を接続する」をご参照ください。
ステップ 2: ドメイン名情報を取得する
次のドメイン名の IP アドレスが、アクセス元の既存のサービスの IP アドレスと競合しないことを確認してください。競合する場合、アクセス元のサービスにアクセスできなくなります。
中国 (杭州) リージョンの ECS インスタンス 1 にログインし、次の操作を実行して、VPC 内の OSS バケット、Enterprise Edition インスタンス、および認証サービスの IP アドレスを取得します。
VPC 内の Enterprise Edition インスタンスの IP アドレスを取得します。
Container Registry コンソール にログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。
Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、 を選択します。
[VPC] タブで、 VPC 内の Enterprise Edition インスタンスのドメイン名をコピーします。次に、ECS インスタンス 1 で
pingコマンドを実行して Enterprise Edition インスタンスのドメイン名にアクセスします。Enterprise Edition インスタンスの IP アドレスを取得して記録します。
VPC 内の認証サービスの IP アドレスを取得します。
説明Enterprise Edition インスタンスが認証ドメイン名を引き継ぐ機能を有効にする場合は、このステップをスキップできます。この機能を有効にする方法の詳細については、「認証サービスのドメイン名にマッピングされている CIDR ブロックとの競合」をご参照ください。
次のコマンドを実行して、VPC 内の認証サービスのドメイン名を取得します。コマンドで、
InstanceNameを Enterprise Edition インスタンスの名前に、RegionIdを Enterprise Edition インスタンスのリージョン ID に置き換えます。curl -vv https://${InstanceName}-registry-vpc.${RegionId}.cr.aliyuncs.com/v2/
pingコマンドを実行して認証サービスの IP アドレスを取得し、その IP アドレスを記録します。ping dockerauth-vpc.cn-hangzhou.aliyuncs.com
VPC 内の OSS バケットの IP アドレスを取得します。
説明PrivateLink を使用して OSS バケットにアクセスし、CNAME レコードを追加して OSS バケットのドメイン名を PrivateLink 接続のドメイン名にポイントする場合は、このステップをスキップできます。詳細については、「PrivateLink を使用した OSS へのアクセス」をご参照ください。
pingコマンドを実行して OSS バケットの IP アドレスを取得し、その IP アドレスを記録します。「パブリッククラウドにおける内部 OSS エンドポイントと VIP 範囲」の表から、中国 (杭州) リージョンの VPC 内の OSS バケットのドメイン名を取得します。
ping コマンドを実行して OSS バケットの IP アドレスを取得し、その IP アドレスを記録します。
ping oss-cn-hangzhou-internal.aliyuncs.com
説明カスタム OSS バケットを使用する場合、OSS バケットのドメイン名は
${CustomizedOSSBucket}.oss-${RegionId}-internal.aliyuncs.comです。
次の表に、中国 (杭州) リージョンの Enterprise Edition インスタンスに関連するドメイン名のサンプル IP アドレスを示します。
項目
ドメイン名
IP アドレス
Enterprise Edition インスタンス
xxxxxx-registry-vpc.cn-hangzhou.cr.aliyuncs.com
10.94.205.198
認証サービス
dockerauth-vpc.cn-hangzhou.aliyuncs.com
100.103.7.181/32
OSS Bucket
oss-cn-hangzhou-internal.aliyuncs.com
100.118.28.43/32
ステップ 3: ルートテーブルの設定
中国 (上海) リージョンの VPC 2 で、次の操作を実行して、認証サービスと OSS バケットの IP アドレスを使用してルートテーブルを設定します。
VPC コンソール にログインします。
左側のナビゲーションウィンドウで、[ルートテーブル] をクリックします。
[ルートテーブル] ページで、管理するカスタムルートテーブルを見つけて、その ID をクリックします。
カスタムルートテーブルの詳細ページで、 を選択し、[ルートエントリの追加] をクリックします。
[ルートエントリの追加] パネルで、次のパラメーターに基づいてルートエントリを設定します、[OK] をクリックします。
パラメーター
説明
スクリーンショット
宛先 CIDR ブロック
宛先 CIDR ブロックを入力します。
[IPv4 CIDR ブロック] を選択し、100.103.7.181/32 と 100.118.28.43/32 を入力します。IP アドレスは個別に設定します。

ネクストホップタイプ
ネクストホップのタイプを選択します。
[トランジットルーター] を選択します。宛先 CIDR ブロック宛てのトラフィックは、指定されたトランジットルーターにルーティングされます。トランジットルーターの詳細については、「トランジットルーターの仕組み」をご参照ください。
次に、「ステップ 1: リージョン間接続の作成」で作成したトランジットルーターを選択します。
認証サービスと OSS バケットの IP アドレスをカバーする 100.0.0.0/8 のルートエントリを、中国 (上海) リージョンの CEN ルートテーブルに追加します。
CEN コンソール にログインします。
インスタンス ページで、管理する CEN インスタンスの ID をクリックします。
タブで、中国 (上海) リージョンのトランジットルーターを見つけて、その ID をクリックします。
トランジットルーターの詳細ページで、ルートテーブル タブをクリックします。
左側のセクションで、ルートテーブル ID をクリックします。ルートテーブルの詳細ページの [ルートエントリ] タブで、[ルートエントリの追加] をクリックします。
[ルートエントリの追加] ダイアログボックスで、パラメーターを設定し、[OK] をクリックします。次の表にパラメーターを示します。
パラメーター
説明
スクリーンショット
宛先 CIDR
ルートの宛先 CIDR ブロックを入力します。
[IPv4] を選択し、100.0.0.0/8 を入力します。この CIDR ブロックは、認証サービスと OSS バケットの IP アドレスをカバーします。

ブラックホールルート
ルートがブラックホールルートであるかどうかを指定します。
いいえを選択します。
ネクストホップ
ネクストホップ
[アタッチメントタイプ] を [TR] に設定し、「ステップ 1: リージョン間接続の作成」で作成したトランジットルーターの ID を選択します。
認証サービスと OSS バケットの IP アドレスをカバーする 100.0.0.0/8 のルートエントリを、中国 (杭州) リージョンの CEN ルートテーブルに追加します。
タブで、中国 (杭州) リージョンのトランジットルーターを見つけて、その ID をクリックします。
トランジットルーターの詳細ページで、ルートテーブル タブをクリックします。
左側のセクションで、ルートテーブル ID をクリックします。ルートテーブルの詳細ページの [ルートエントリ] タブで、[ルートエントリの追加] をクリックします。
[ルートエントリの追加] ダイアログボックスで、パラメーターを設定し、[OK] をクリックします。次の表にパラメーターを示します。
パラメーター
説明
スクリーンショット
宛先 CIDR
ルートの宛先 CIDR ブロックを入力します。
[IPv4] を選択し、100.0.0.0/8 を入力します。この CIDR ブロックは、認証サービスと OSS バケットの IP アドレスをカバーします。

ブラックホールルート
ルートがブラックホールルートであるかどうかを指定します。
No を選択します。
ネクストホップ
ネクストホップ
[アタッチメントタイプ] を [VPC] に設定し、中国 (杭州) リージョンの VPC1 の ID を選択します。
ステップ 4: Enterprise Edition インスタンスへのアクセスのテスト
中国 (上海) リージョンの ECS インスタンス 2 にログインします。ECS インスタンス 2 で
pingコマンドを実行して、ステップ 2 で取得した中国 (杭州) リージョンの Enterprise Edition インスタンス、認証サービス、および OSS バケットの 3 つの IP アドレスへのアクセスをテストします。Enterprise Edition インスタンスに関連する 3 つのドメイン名を使用して ECS インスタンス 2 のローカル DNS 解決を設定し、ドメイン名が Enterprise Edition インスタンスに関連する IP アドレスに解決されるかどうかを確認します。vim /etc/hosts 10.94.205.198 xxxxxx-registry-vpc.cn-hangzhou.cr.aliyuncs.com 100.103.7.181 dockerauth-vpc.cn-hangzhou.aliyuncs.com 100.118.28.43 ${OSSBucketName}.oss-cn-hangzhou-internal.aliyuncs.comdocker loginコマンドを実行して Enterprise Edition インスタンスのイメージリポジトリにログインし、docker pullコマンドを実行してイメージリポジトリからイメージをプルします。説明イメージのプッシュとプルの詳細については、「Container Registry Enterprise Edition インスタンスを使用したイメージのプッシュとプル」をご参照ください。

100 CIDR ブロックの競合に対するソリューション
ルーティングルールを設定すると、認証サービスと OSS バケットのドメイン名は、100 CIDR ブロックに属する IP アドレスにマッピングされます。100 CIDR ブロックが Enterprise Edition インスタンスが存在する VPC に割り当てられている場合、Enterprise Edition インスタンスにアクセスする際にドメイン名の競合が発生する可能性があります。競合を防ぐために、次のソリューションを使用できます。
認証サービスのドメイン名にマッピングされている CIDR ブロックとの競合
Enterprise Edition インスタンスが認証サービスのドメイン名を引き継ぐ機能を有効にすると、Enterprise Edition インスタンスのドメイン名にのみアクセスすればよくなります。これにより、認証サービスのドメイン名にマッピングされている CIDR ブロックとの競合が解決されます。
Container Registry コンソール にログインします。
上部のナビゲーションバーで、リージョンを選択します。
[インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。
Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、 を選択します。[ドメイン] ページで、[インスタンスによる認証ドメイン名の引き継ぎ] をオンにします。
重要Enterprise Edition インスタンスが認証ドメイン名を引き継ぐ機能を使用する場合は、チケットを送信 して、Enterprise Edition インスタンスをホワイトリストに追加するようリクエストしてください。
[インスタンスによる認証ドメイン名の引き継ぎを有効にすることを確認] メッセージで、[OK] をクリックします。
OSS バケットのドメイン名にマッピングされている CIDR ブロックとの競合
OSS バケットのドメイン名にマッピングされている CIDR ブロックとの競合を防ぐために、PrivateLink を使用して OSS バケットにアクセスし、CNAME レコードを追加して OSS バケットのドメイン名を PrivateLink 接続のドメイン名にポイントできます。詳細については、「PrivateLink を使用した OSS へのアクセス」をご参照ください。