跨地域或从IDC访问企业版实例

若您需要跨地域或从IDC访问ACR企业版来推送或拉取镜像,您需确保访问源和被访问ACR企业版实例的VPC网络互通。本文介绍如何获取访问ACR企业版实例的IP,以及配置路由,实现在ACR企业版实例所在地域之外推送或拉取镜像。

使用场景

场景

描述

操作说明

本地数据中心访问ACR企业版实例

您可以利用VPN网关、高速通道物理专线或智能接入网关,将本地数据中心与云上可以访问ACR企业版实例的VPC连接,实现从本地数据中心访问ACR企业版实例的功能。

  1. 打通本地数据中心和云上VPC具体操作,请参见连接本地IDC

  2. 根据步骤二:获取域名信息,在本地数据中心进行路由配置。

  3. IP地址可以访问后,配置相应的域名解析。

跨地域访问ACR企业版实例

您可以通过云企业网(CEN)跨地域连接功能,将云上VPCACR企业版实例相连,以实现跨地域访问ACR企业版实例。

说明

若您有云上多地域容器镜像拉取需求,建议您使用多个地域企业版实例支持,并使用ACR企业版实例的全球同步能力同步镜像。具体操作,请参见同账号同步实例

  1. 通过云企业网(CEN)打通不同地域的VPC网络。

  2. 根据获取到的IP地址,在需要访问的源端配置相应的路由。

  3. IP地址可以访问后,进行域名解析配置。

使用说明

本示例将演示如何在同一个账号下,在华东2(上海)跨地域访问华东1(杭州)的ACR企业版实例。环境信息如下:

  • VPC1

    • 地域:华东1(杭州)

    • IPv4网段:10.0.0.0/16

    • 交换机1,位于可用区J,网段: 10.0.0.0/24

    • 交换机2,位于可用区K,网段:10.0.1.0/24 (在2个不同的可用区分别创建交换机,用于多可用区容灾)

    • ECS1地址:10.0.0.1 (ECS用于验证连通性)

  • VPC2

    • 地域:华东2(上海)

    • IPv4网段:172.16.0.0/16

    • 交换机1,位于可用区M,网段:172.16.0.0/24

    • 交换机2,位于可用区N,网段:172.16.1.0/24

    • ECS2地址:172.16.0.1

操作流程如下:

  1. 跨地域连接:确保华东1(杭州)与华东2(上海)已通过云企业网成功跨地域连接。操作详情请参见跨地域VPC互通

  2. 在华东1(杭州)地域获取以下三个域名信息:

    说明

    同地域的ECS确保使用内网访问目标容器镜像服务企业版实例。详情请参见配置专有网络的访问控制

    • ACR企业版实例域名:通常用于镜像拉取和推送的接口访问。

    • 认证服务的域名:用于身份认证相关的通信。

    • 实例关联的OSS Bucket域名:用于存储和访问镜像的对象存储服务。

  3. 配置路由表:将获取的IP地址或网段添加到需要访问的网络路由表中,以确保它们可以通过云企业网进行跨地域访问。

  4. 在华东2(上海)验证访问华东1(杭州)的ACR企业版实例。

步骤一:跨地域连接

华东1(杭州)与华东2(上海)已通过云企业网成功跨地域连接。操作详情请参见跨地域VPC互通

步骤二:获取域名信息

重要

请确保以下三种域名的IP不能与源端已有服务的IP冲突,否则将导致源端的服务在本地无法访问。

  1. 登录华东1(杭州)的ECS,根据以下步骤获取OSS Bucket、ACR企业版实例和认证服务在VPC中的对应三个IP地址。

    • 获取ACR企业版实例VPC访问IP。

      1. 登录容器镜像服务控制台

      2. 在顶部菜单栏,选择所需地域。

      3. 在左侧导航栏,选择实例列表

      4. 实例列表页面单击目标企业版实例。

      5. 在企业版实例管理页面左侧导航栏中选择仓库管理 > 访问控制

      6. 专有网络页签下,复制ACR企业版实例VPC访问域名。然后在ECS上使用ping命令访问域名,获取相应IP并记录。

    • 获取认证服务在VPC中的IP。

      说明

      开启实例接管认证域名功能跳过此步骤。

      1. 执行以下命令,获取认证服务在VPC中的域名。InstanceNameACR企业版实例名称,RegionId为所在地域。

        curl -vv https://${InstanceName}-registry-vpc.${RegionId}.cr.aliyuncs.com/v2/

        77274699-B325-4a55-ACC0-D23719E29AF8.png

      2. 使用ping命令获取相应的IP并记录。

        ping dockerauth-ee-vpc-beijing.aliyuncs.com  # 示例
    • 获取OSS BucketVPC中的IP。

      说明

      通过PrivateLink私网访问OSS资源,然后将华东1(杭州)的OSS域名CNAME指向PrivateLink的域名,即可跳过此步骤。

      使用ping命令获取相应的IP并记录。

      1. 通过OSS内网域名与VIP网段对照表获取华东1(杭州)OSS BucketVPC域名。

      2. 使用Ping命令获取相应的IP并记录。

        ping oss-cn-hangzhou-internal.aliyuncs.com
      说明

      如果您使用的是自定义OSS Bucket,则域名为${CustomizedOSSBucket}.oss-${RegionId}-internal.aliyuncs.com

    示例中获取华东1(杭州)ACR企业版相关域名的IP如下:

    名称

    域名

    IP地址

    ACR企业版实例

    xxxxxx-registry-vpc.cn-hangzhou.cr.aliyuncs.com

    10.94.205.198

    认证服务

    dockerauth-ee-vpc-beijing.aliyuncs.com

    100.103.7.181/32

    OSS Bucket

    oss-cn-hangzhou-internal.aliyuncs.com

    100.118.28.43/32

步骤三:配置路由表

  • 在华东2(上海)VPC2中,根据以下步骤将认证服务和OSS IP地址配置到路由表。

    1. 登录专有网络管理控制台
    2. 在左侧导航栏,单击路由表
    3. 路由表页面,找到目标自定义路由表,单击路由表的ID。

    4. 在自定义路由表详情页面,选择路由条目列表 > 自定义路由条目页签,单击添加路由条目

    5. 添加路由条目面板,根据以下信息配置路由条目。并单击确定

      配置

      说明

      目标网段

      输入要转发到的目标网段。

      IPv4网段:100.103.7.181/32100.118.28.43/32,每次只能配置一个IP,按顺序逐个配置。

      下一跳类型

      选择下一跳类型:

      转发路由器:将目的地址在目标网段范围内的流量路由至选择的转发路由器

      然后选择步骤一:跨地域连接创建的转发路由器

  • 在华东1(杭州)VPC1中,根据以下步骤将覆盖认证服务和OSS IPCIDR配置到路由表并发布。

    1. 路由表页面,找到VPC1目标自定义路由表,单击路由表的ID。

    2. 添加路由条目面板,根据以下信息配置路由条目。并单击确定

      配置

      说明

      目标网段

      输入要转发到的目标网段。

      IPv4网段:100.0.0.0/8(覆盖认证服务和OSS IPCIDR)

      下一跳类型

      选择下一跳类型:

      ECS实例:将目的地址在目标网段范围内的流量路由至选择的ECS实例

      然后选择目标VPC1下的ECS实例。创建完成后在专有网络路由发布状态单击云企业发布

    3. 创建完成后,在对应的专有网络路由发布状态列中单击发布

步骤四:验证访问ACR企业版实例

  1. 登录华东2(上海)的ECS使用ping命令分别测试华东1(杭州)地域的ACR企业版实例三个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 oss-cn-hangzhou-internal.aliyuncs.com
  2. 使用docker login登录容器镜像仓库,然后执行docker pull命令,拉取镜像。

    说明

    关于推送和拉取镜像的详细介绍,请参见使用企业版实例推送和拉取镜像

    拉取镜像

如何解决100网段IP冲突问题

在配置路由规则时,如果内网域名解析为100网段的IP,可能会导致在访问容器镜像服务企业版时出现冲突。您可以启用实例的接管认证功能,这样只需访问两个域名:实例自身的域名和其关联的OSS Bucket域名。

开启实例接管认证域名功能

  1. 登录容器镜像服务控制台

  2. 在顶部菜单栏,选择所需地域。

  3. 实例列表页面单击目标企业版实例。

  4. 在企业版实例管理页面左侧导航栏选择仓库管理 > 域名管理 ,在域名管理页面打开实例接管认证域名开关。

    重要

    实例接管认证域名功能,您需要提交工单为企业版实例添加白名单后才能使用。

  5. 确认开启实例接管认证域名单击确定