イメージをプッシュまたはプルするために、リージョンまたはデータセンターから Container Registry Enterprise Edition インスタンスにアクセスする場合、アクセス元の 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 インスタンスのイメージを格納するために使用されます。
ルートテーブルの設定: アクセス元がリージョンをまたいで Enterprise Edition インスタンスにアクセスできるように、IP アドレスまたは CIDR ブロックをルートテーブルに追加します。
中国 (上海) リージョンのアクセス元から中国 (杭州) リージョンの Enterprise Edition インスタンスへのアクセスをテストします。
手順 1: リージョン間接続を作成する
CEN を使用して、中国 (上海) リージョンのアクセス元の VPC2 を中国 (杭州) リージョンの Enterprise Edition インスタンスの VPC1 に接続します。詳細については、「異なるリージョンの VPC を接続する」をご参照ください。
手順 2: ドメイン名情報を取得する
次のドメイン名の IP アドレスが、アクセス元の既存のサービスの IP アドレスと競合していないことを確認してください。そうでない場合、アクセス元のサービスにアクセスできません。
中国 (杭州) リージョンの ECS インスタンス 1 にログインし、次の操作を実行して、VPC 内の OSS バケット、Enterprise Edition インスタンス、および認証サービスの IP アドレスを取得します。
VPC 内の Enterprise Edition インスタンスの IP アドレスを取得します。
コンテナレジストリコンソール にログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する 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 アドレスを取得し、記録します。ping dockerauth-vpc.cn-hangzhou.aliyuncs.com
VPC 内の OSS バケットの IP アドレスを取得します。
説明PrivateLink を使用して OSS バケットにアクセスし、CNAME レコードを追加して OSS バケットのドメイン名を PrivateLink 接続のドメイン名にポイントする場合は、この手順をスキップできます。詳細については、「PrivateLink を使用して OSS にアクセスする」をご参照ください。
ping
コマンドを実行して、OSS バケットの IP アドレスを取得し、記録します。パブリッククラウドの内部 OSS エンドポイントと VIP 範囲 の表から、中国 (杭州) リージョンの VPC 内の OSS バケットのドメイン名を取得します。
ping コマンドを実行して、OSS バケットの 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 バケット
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 アドレスをカバーします。
ブラックホールルート
ルートがブラックホールルートであるかどうかを指定します。
いいえを選択します。
ネクストホップ
ネクストホップ
接続タイプを VPC に設定し、中国 (杭州) リージョンの VPC1 の ID を選択します。
手順 4: アクセスをテストする
中国 (上海) リージョンの ECS インスタンス 2 にログインします。 ECS インスタンス 2 で
ping
コマンドを実行して、ステップ 2 で取得した中国 (杭州) リージョンの Enterprise Edition インスタンス、認証サービス、および OSS バケットの 3 つの IP アドレスへのアクセスをテストします。 Enterprise Edition インスタンスに関連する 3 つのドメイン名を使用して、ECS インスタンス 2 でローカル DNS 解像度を設定し、ドメイン名が Enterprise Edition インスタンスに関連する IP アドレスに解決されるかどうかを確認します。vim /etc/hosts // Enterprise Editionインスタンス、認証サービス、OSSバケットのIPアドレスとドメイン名をマッピングします 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.com
docker 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 ブロックとの競合が解決されます。
[コンテナレジストリ コンソール] にログインします。
上部のナビゲーションバーで、リージョンを選択します。
[インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。
Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、
を選択します。 [ドメイン] ページで、[インスタンスによる認証ドメイン名の引き継ぎ] をオンにします。重要Enterprise Edition インスタンスが認証ドメイン名を引き継ぐ機能を使用する場合は、チケットを送信する して、Enterprise Edition インスタンスをホワイトリストに追加するようにリクエストしてください。
[インスタンスによる認証ドメイン名の引き継ぎを有効にすることを確認するメッセージ] で、[OK] をクリックします。
OSS バケットのドメイン名にマッピングされている CIDR ブロックとの競合
OSS バケットのドメイン名にマッピングされている CIDR ブロックとの競合が発生しないようにするには、PrivateLink を使用して OSS バケットにアクセスし、CNAME レコードを追加して OSS バケットのドメイン名を PrivateLink 接続のドメイン名にポイントするようにします。詳細については、「PrivateLink を使用して OSS にアクセスする」をご参照ください。