通过计算巢一键实现服务跨地域发布及私网访问

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

如果您是通过私网提供服务,且希望实现不同地域的用户访问,可利用计算巢服务跨地域功能一键开启跨地域访问本文主要介绍部署到计算巢的服务如何实现跨VPC、跨地域私网访问。

网络架构

5f03edc0eb003f7f7decabf0b9190d91

当用户访问应用时,DNS将请求指向左侧ISV VPC中的负载均衡器(NLB)。NLB作为入口,根据健康检查和负载策略,将流量分发给健康的ECS实例,确保服务高可用。通过VPC peering,实现跨区域VPC间私网互通,右侧VPC的服务也可被访问,Private Zone处理用户VPC内的域名解析,支持内部服务访问。

使用限制

服务类型必须为多租户类型的全托管服务。

计费说明

计算巢不收取平台服务费,但您需要为服务部署时使用的云资源付费(例如VPC Peering流量、SLB实例、ECS实例等)。具体收费信息,请参见产品计费

操作步骤

准备工作

  • 已有一个基于阿里云ECS部署的产品服务。

    如果您尚未部署服务或者希望测试方案的可行性,可以按照下文部署一个Demo服务。

    1. 前往ECS实例创建页,选择自定义购买页签,按界面提示创建一个ECS实例。

      请注意以下参数:

      • 付费类型:抢占式实例。

        重要

        为节省测试成本,本文示例采用抢占式实例,相对按量付费实例有一定的折扣。默认情况,您可以稳定持有抢占式实例至少一小时。一小时后,当市场价格高于您的出价或实例库存不足时,抢占式实例会被自动释放,请做好数据备份工作。

      • 地域:建议选择靠近您业务的地域,本节示例为华北3(张家口)

      • 镜像:Alibaba Cloud Linux 3。

      • 公网 IP不勾选分配公网 IPv4 地址

      • 安全组:新建普通安全组,开通IPv4端口22、80。

      • 登录凭证:选择自定义密码,登录名选择ecs-user并设置登录密码。

    2. 在ECS实例上部署Nginx服务

      1. 使用ecs-user用户登录ECS实例。具体操作,请参见远程连接ECS实例

      2. 安装Nginx并启动服务。

        #安装Nginx
        sudo yum install nginx -y
        #启动Nginx服务
        sudo systemctl start nginx
      3. 发送请求验证Nginx服务是否成功运行。

        curl http://127.0.0.1:80

        image

  • 服务已通过终端节点建立私网连接。

    创建终端节点服务,选择负载均衡作为后端服务资源类型,关联上述后端ECS实例并监听产品服务端口,本文示例为80端口。具体操作,请参见创建和管理终端节点服务

    重要

    负载均衡实例必须与ECS在同一个VPC下。

步骤一:配置全托管服务

未创建全托管服务

  1. 登录计算巢控制台

  2. 在左侧导航栏,单击我的服务

  3. 我的服务页面,单击创建新服务

  4. 创建新服务页面,选择自定义创建服务 > 全托管服务,然后单击下一步:配置服务

    image

  5. 配置服务页面,配置服务相关信息。

    1. 基本信息区块,根据您的实际情况填入对应内容。

    2. 服务部署区块,选择租户类型多租户,选择部署方式无部署物,选择部署地域(本文示例为华北3(张家口)

      image

    3. 高级配置(选填)区块,进行以下配置:

      参数

      说明

      部署连接权限

      设为公开的

      VPC私网访问

      打开开关。

      终端节点服务配置

      选择地域(本文示例为华北3(张家口)),并选择已创建终端节点服务

      自定义域名

      自定义域名用于验证跨地域访问。

      image

  6. 单击创建服务

    在对话框中,仔细阅读并勾选对应协议,然后单击确定,弹出页面显示服务创建成功,可以单击列表查看服务状态。

  7. 我的服务页面,选择目标服务,然后单击预发布。在预发布确定对话框,单击确定预发布

  8. 完成预发布后,单击提交审核

    您提交的服务审核需要1~3天时间,请耐心等待,您可以前往审核申请查看审核进度和详情。

  9. 审核通过后,单击上线服务,在弹出的对话框,单击确定上线

已创建全托管服务

  1. 登录计算巢控制台

  2. 在左侧导航栏,单击我的服务

  3. 我的服务页面,找到目标服务并单击服务卡片。

  4. 服务详情页面,在右上角单击创建新版本

  5. 服务部署区块,配置服务相关信息。

    1. 基本信息区块,根据您的实际情况填入对应内容。

    2. 服务部署区块,选择租户类型多租户,选择部署方式无部署物,选择部署地域(本文示例为华北3(张家口)

      image

    3. 高级配置(选填)区块,进行以下配置:

      参数

      说明

      VPC私网访问

      打开开关。

      终端节点服务配置

      选择地域(本文示例为华北3(张家口)),并选择已创建终端节点服务

      自定义域名

      自定义域名用于验证跨地域访问。

      image

  6. 单击保存服务,在跳转的服务详情页面,单击预发布

  7. 在预发布确定对话框,单击确定预发布

  8. 完成预发布后,单击提交审核

    您提交的服务审核需要1~3天时间,请耐心等待,您可以前往审核申请查看审核进度和详情。

  9. 审核通过后,单击上线服务,在弹出的对话框,单击确定上线

步骤二:服务启用跨地域访问

为已上线的全托管服务启用跨地域访问功能。

  1. 我的服务页面,单击已创建的服务。

  2. 服务详情页签的高级配置区块,单击VPC跨地域访问右侧的立即开启

  3. 开启跨地域访问对话框,选择私网互联模式专享互联,然后选择跨地域列表后端服务端口

    说明
    • 跨地域列表:指定跨地域访问的地域列表,可指定多个,不需要指定本地域(本文以华东1(杭州)为例)。

    • 后端服务端口:目前仅支持单个端口。(本节以HTTP(80)为例)。

    image

  4. 单击开启

    开启过程中会创建对应的网络资源,请您耐心等待,大概耗时3分钟。

    当VPC跨地域访问参数显示跨域开启成功,则说明您已经成功启用跨地域访问功能。您还可以单击右侧的查看详情查看具体的互联资源信息。

步骤三:验证跨地域访问

通过在新的ECS资源上创建跨地域访问实例,并使用配置的域名验证跨地域访问功能。

  1. 创建一个新的VPC和ECS资源。

    1. 创建VPC资源,请参见创建和管理专有网络

    2. 创建ECS实例,请参见选购ECS实例

      说明

      在创建ECS实例时,请将专有网络选择为步骤a中创建的VPC。

  2. 部署跨地域访问实例。

    1. 登录计算巢控制台

    2. 在左侧导航栏,单击我的服务。在我创建的服务区块中,单击步骤一:配置全托管服务所创建的全托管服务卡片。

    3. 服务详情页面的服务部署区域,单击用户部署链接

      image

    4. 在跳转的创建服务实例页面,输入服务实例名称地域

      重要

      此处输入地域为步骤一创建的服务所在地域。本例中为:华北3(张家口)

    5. 网络设置区块,打开是否跨地域访问开关并选择地域

      重要

      此处输入地域为步骤二创建服务时支持的跨域访问地域,您可以选择从该地域进行跨地域访问。本例中为:华东1(杭州)

    6. 单击添加专有网络,然后配置相关参数,单击下一步:确认订单

      参数

      说明

      专有网络

      选择用户访问侧的VPC。

      安全组

      选择或者新建安全组。

      说明

      请选择自建的安全组,非托管安全组。

      可用区与交换机

      根据实际情况,先选择可用区,再选择交换机,您可以选择添加多个交换机。

      启用自定义域名

      勾选云服务推荐使用以下自定义域名访问,需勾选启用自定义域名

    7. 单击立即创建

      您可以在创建服务实例页面查看服务实例信息依赖检查服务条款

      当服务实例状态变为已部署,则表明创建服务实例成功并完成跨地域访问部署。

  3. 验证跨地域访问。

    1. 服务实例页面,单击目标服务实例ID。进入实例详情页面,在配置信息区块可以看到网络配置的域名PrivateZoneName

      image

    2. 远程连接新创建的ECS实例,并使用PrivateZoneName对应的域名发送请求。

      curl http://message.isv.example.xyz

      跨地域访问成功,如下所示。

      image

查看已创建资源

通过计算巢实现服务跨地域访问,会产生资源的创建。您可以查看具体创建了哪些资源。

  1. 在计算巢服务完成跨地域启用后,在服务详情页面单击查看详情

  2. 进入资源详情页面,在互联资源信息中,以地域维度,展示了打通跨地域网络需要的资源列表,您可以单击进入相应的资源。

    image

关闭服务跨地域

如果不再希望对用户开放VPC跨地域访问,可以在服务详情页面的高级配置区块,单击VPC跨地域访问右侧的立即关闭

警告

存在服务实例时,禁止关闭跨地域访问,以防影响业务。

image

常见问题

Q1:因为VPC额度不足导致设置服务跨域失败后,如何重新启用跨地域访问?

如果您在设置服务跨地域访问时出现如下报错,则是您的账号在当前地域下VPC额度不足,默认单个地域下只能创建10个VPC资源。image

解决方案

  1. 请您先在配额中心控制台免费增加当前地域的VPC额度。

  2. 服务详情页面的高级配置区块,单击VPC跨地域访问右侧的查看详情

  3. 已接入服务详情页面,单击页面右上角的删除

  4. 重新启用服务的跨地域访问。

    具体操作,请参见步骤二:服务启用跨地域访问