华为云用户手册

  • DC/VPN双链路互备混合云组网构建流程 本章节介绍通过企业路由器构建DC/VPN双链路主备混合云组网总体流程,流程说明如表1所示。 表1 构建DC/VPN双链路主备混合云组网流程说明 步骤 说明 步骤一:创建云服务资源 创建1个企业路由器,构建一个同区域组网只需要1个企业路由器。 创建业务VPC和子网,本示例中创建1个VPC和子网。 在业务VPC子网内,创建E CS ,本示例中创建1个ECS。 步骤二:在企业路由器中添加并配置DGW连接 创建物理连接,物理连接是线下IDC侧和华为云的专属通道,需要运营商进行施工,搭建物理专线链路连接线下和云上。 创建全域接入网关:创建1个关联企业路由器的全域接入网关,企业路由器中会自动添加“全域接入网关(DGW)”连接。 创建虚拟接口:创建关联全域接入网关的虚拟接口,连接全域接入网关和物理连接。 配置IDC侧路由:在线下IDC侧路由设备配置网络参数。 步骤三:在企业路由器中添加并配置VPC连接 在企业路由器中添加“虚拟私有云(VPC)”连接:将1个业务VPC接入企业路由器中。 在VPC路由表中配置路由:在VPC路由表中配置到企业路由器的路由信息,目的地址为IDC侧网段。 步骤四:验证DC链路的通信情况 登录ECS,执行ping命令,验证DC链路的网络互通情况。 步骤五:在企业路由器中添加并配置VPN连接 创建VPN网关:创建1个关联企业路由器的VPN网关,企业路由器中会自动添加“VPN网关(VPN)”连接。 创建对端网关:创建1个用户IDC侧的对端网关。 创建1组VPN连接:VPN连接用来连通VPN网关和对端网关,两条VPN连接互为主备链路。 配置IDC侧路由:在线下IDC侧路由设备配置网络参数。 步骤六:验证VPN链路的通信情况 登录ECS,执行ping命令,验证VPN链路的网络互通情况。 由于VPN链路为备选,如果您需要验证VPN链路通信情况,需要先构造DC主链路故障,然后验证备VPN链路的通信情况。 父主题: 通过企业路由器构建DC/VPN双链路主备混合云组网
  • 资源规划说明 企业路由器ER、云专线DC、 虚拟专用网络 VPN、 虚拟私有云VPC 、弹性 云服务器ECS 只要位于同一个区域内即可,可用区可以任意选择,不用保持一致。 以下资源规划详情仅为示例,您可以根据需要自行修改。 表5 DC/VPN双链路互备混合云组网资源规划总体说明 资源类型 资源数量 说明 VPC 2 业务VPC,实际运行客户业务的VPC,需要接入ER中。 VPC名称:请根据实际情况填写,本示例为vpc-for-er。 IPv4网段:VPC网段与客户IDC侧网段不能重复,请根据实际情况填写,本示例为172.16.0.0/16。 子网名称:请根据实际情况填写,本示例为subnet-for-er。 子网IPv4网段:VPC子网网段与客户IDC侧子网网段不能重复,请根据实际情况填写,本示例为172.16.0.0/24。 VPN网关使用的VPC,需要从中分配一个子网提供给VPN网关使用。 VPC名称:请根据实际情况填写,本示例为vpc-for-vpn。 IPv4网段:请根据实际情况填写,本示例为10.0.0.0/16。 子网名称:您创建VPC时,必须创建一个默认子网,请根据实际情况填写,本示例为subnet-01。 子网IPv4网段:默认子网在本示例中不使用,请根据实际情况填写,本示例为10.0.0.0/24。 须知: 您在创建VPN网关时,“虚拟私有云”需要选择该VPC,“互联子网”填写该VPC下的网段,请确保选择的互联子网存在4个及以上可分配的IP地址。 ER 1 名称:请根据实际情况填写,本示例为er-test-01。 ASN:此处AS号不能和线下IDC的AS号一样,本示例中保持默认值64512。 默认路由表关联:开启 默认路由表传播:开启 自动接受共享连接:请根据实际情况选择,本示例选择“开启”。 连接,本示例需要在企业路由器中添加3个连接: VPC连接:er-attach-VPC DGW连接:er-attach-DGW VPN连接:er-attach-VPN DC 1 物理连接:请根据实际需求创建。 全域接入网关 名称:请根据实际情况填写,本示例为dgw-demo。 关联模式:请选择“企业路由器”。 企业路由器:选择您的企业路由器,本示例为er-test-01。 BGP ASN:此处AS号和企业路由器的AS号一样或者不一样均可,本示例中和ER的AS号一致,保持默认值64512。 虚拟接口 名称:请根据实际情况填写,本示例vif-demo。 全域接入网关:选择您的全域接入网关,本示例为dgw-demo。 本端网关:请根据实际情况填写,本示例为10.0.0.1/30。 远端网关:请根据实际情况填写,本示例为10.0.0.2/30。 远端子网:请根据实际情况填写,本示例为192.168.3.0/24。 路由模式:请选择“BGP”。 BGP邻居AS号:此处为线下IDC侧的AS号,不能和云上全域接入网关的AS号一样,本示例为65525。 VPN 1 VPN网关 名称:请根据实际情况填写,本示例为vpngw-demo。 关联模式:请选择“企业路由器”。 企业路由器:选择您的企业路由器,本示例为er-test-01。 BGP ASN:由于DC和VPN为双链路互备,此处AS号和DC全域接入网关的AS号必须一样,本示例为64512。 虚拟私有云:选择您的虚拟私有云,本示例为vpc-for-vpn。 互联子网:用于VPN网关和VPC通信,请确保选择的互联子网存在4个及以上可分配的IP地址。请根据实际情况填写,本示例为10.0.5.0/24。 对端网关 名称:请根据实际情况填写,本示例为cgw-demo。 路由模式:请选择“动态BGP”。 BGP ASN:此处为线下IDC侧的AS号,由于DC和VPN为双链路互备,该AS号和DC虚拟接口处设置的AS号必须一样,本示例为65525。 2条VPN连接,互为主备: 名称:请根据实际情况填写,本示例中,主VPN连接为vpn-demo-01,备VPN连接为vpn-demo-02。 VPN网关:选择您的VPN网关,本示例为vpngw-demo。 公网IP:请根据实际情况选择,主VPN连接选择主EIP,备VPN连接选择备EIP。 连接模式:请选择“路由模式”。 对端网关:选择您的对端网关,本示例为cgw-demo。 接口地址分配方式:本示例选择“自动分配”。 路由模式:请选择“BGP”。 ECS 1 名称:根据实际情况填写,本示例为ecs-demo。 镜像:请根据实际情况选择,本示例为公共镜像(CentOS 8.2 64bit)。 网络: 虚拟私有云:选择您的虚拟私有云,本示例为vpc-for-er。 子网:选择子网,本示例为subnet-for-er。 安全组:请根据实际情况选择,本示例安全组模板选择“通用Web服务器”,名称为sg-demo。 私有IP地址:172.16.1.137 由于DC和VPN是主备链路,为了防止网络环路,DC全域接入网关和VPN网关的AS号必须保持一致,本示例为64512。 ER的AS号和DC、VPN的一样或者不一样均可,本示例为64512。 线下IDC侧的AS号,不能和云上服务的AS号一样,请根据客户的实际情况填写,本示例为65525。
  • 网络规划说明 DC/VPN双链路主备混合云组网规划如图1所示,将VPC、DC和VPN分别接入ER中,组网规划说明如表2所示。 图1 DC/VPN双链路主备混合云组网规划 DC和VPN互为主备网络链路,在DC网络链路正常的情况下,流量优选云专线DC。 在ER路由表中只显示优选路由,由于DGW连接(DC)路由的优先级高于VPN连接,因此ER路由表中不显示VPN连接的路由。 云上VPC和线下IDC通信时,默认使用DC这条网络链路,本示例的网络流量路径说明请参见表1 表1 网络流量路径说明 路径 说明 请求路径:VPC1→线下IDC 在VPC1路由表中,通过下一跳为ER的路由将流量转送到ER。 在ER路由表中,通过下一跳为DGW连接的路由将流量转送到全域接入网关。 全域接入网关连接虚拟接口,通过虚拟接口将流量从远端网关转送到物理专线。 通过物理专线将流量送达线下IDC。 响应路径:线下IDC→VPC1 通过物理专线将流量转送到虚拟接口。 虚拟接口连接全域接入网关,通过虚拟接口将流量从本端网关转送到全域接入网关。 通过全域接入网关将流量转送到ER。 在ER路由表中,通过下一跳为VPC1连接的路由将流量送达VPC1。 表2 DC/VPN双链路互备混合云组网规划说明 资源 说明 VPC 业务VPC,实际运行客户业务的VPC,本示例中为VPC1,具体说明如下: VPC网段与客户IDC侧网段不能重复。 VPC有一个默认路由表。 VPC默认路由表中的路由说明如下: local:表示VPC本地IPV4的默认路由条目,用于VPC内子网通信,系统自动配置。 ER:表示将VPC子网流量转发至ER,此处目的地址配置为IDC的子网网段,路由信息如表3所示。 VPN网关使用的子网,建议您创建一个新的VPC,并从中分配子网。 您在创建VPN网关时,需要填写该子网网段,VPN网关使用的子网不能与VPC内已有的子网网段重叠。 DC 1个物理连接:需要运营商施工搭建连通华为云和线下IDC的物理专线。 1个全域接入网关:将全域接入网关接入ER中,即表示将“全域接入网关(DGW)”连接添加到ER。 1个虚拟接口:连接全域接入网关和物理连接。 VPN 1个VPN网关:将VPN接入ER中,即表示将“VPN网关(VPN)”连接添加到ER。 1个对端网关:用户IDC侧的对端网关。 1组VPN连接:连接VPN网关和对端网关,2条VPN连接互为主备链路。 ER 开启“默认路由表关联”和“默认路由表传播”功能,添加完连接后,系统会自动执行以下配置: VPC: 将1个“虚拟私有云(VPC)”连接关联至ER默认路由表。 在默认路由表中创建“虚拟私有云(VPC)”连接的传播,路由自动学习VPC网段,路由信息如表4所示。 DC: 将1个“全域接入网关(DGW)”连接关联至ER默认路由表。 在默认路由表中创建“全域接入网关(DGW)”连接的传播,路由自动学习DC侧的所有路由信息,路由信息如表4所示。 VPN: 将1个“VPN网关(VPN)”连接关联至ER默认路由表。 在默认路由表中创建“VPN网关(VPN)”连接的传播,路由自动学习VPN侧的所有路由信息,路由信息如表4所示。 ECS 1个ECS位于业务VPC内,本示例用该ECS来验证云上和线下IDC的网络通信情况。 如果您有多台ECS,并且这些ECS位于不同的安全组,需要在安全组中添加规则放通网络。 表3 VPC路由表 目的地址 下一跳 路由类型 192.168.3.0/24 企业路由器 静态路由:自定义 如果您在创建连接时开启“配置连接侧路由”选项,则不用手动在VPC路由表中配置静态路由,系统会在VPC的所有路由表中自动添加指向ER的路由,目的地址固定为10.0.0.0/8,172.16.0.0/12,192.168.0.0/16。 如果VPC路由表中的路由与这三个固定网段冲突,则会添加失败。此时建议您不要开启“配置连接侧路由”选项,并在连接创建完成后,手动添加路由。 除了系统自动添加的3个VPC固定网段,您还需要在VPC路由表中添加目的地址为IDC侧网段,下一跳指向ER的路由。 表4 ER路由表 目的地址 下一跳 路由类型 VPC1网段:172.16.0.0/16 VPC1连接:er-attach-01 传播路由 IDC侧网段:192.168.3.0/24 DGW连接:dgw-demo 传播路由 IDC侧网段:192.168.3.0/24 VPN连接:vpngw-demo 传播路由 当两条路由功能一样时,ER路由表中只会显示优选路由。当DC和VPN网络链路均正常时,由于DGW连接和VPN连接的传播路由均指向线下IDC,因此只能在ER路由表中看到优先级较高的DGW连接的路由,暂时不支持查看ER路由中VPN连接的所有路由(包括未优选的路由)。 当DC出现故障,网络链路切换到VPN时,此时通过管理控制台,可以在ER路由表中看到VPN连接的传播路由。
  • 应用场景 云专线(Direct Connect,DC)用于搭建线下IDC和云上虚拟私有云(Virtual Private Cloud,VPC)之间高速、低时延、稳定安全的专属连接通道,您可以通过企业路由器和云专线构建满足企业通信的大规模混合云组网。 虚拟专用网络(Virtual Private Network,VPN)用于在线下IDC和华为云VPC之间建立一条安全加密的公网通信隧道。相比通过DC构建混合云,使用VPN更加快速,成本更低。 为了助力企业客户实现混合云组网的高可靠性,并且控制成本费用,我们推荐您在企业路由器中同时接入DC和VPN两条网络链路,构建主备双链路的混合云组网。当主链路故障后,可自动切换至备链路,降低了单链路故障导致的业务中断风险。 关于企业路由器更详细的介绍,请参见企业路由器产品介绍。
  • 方案架构 为了提升混合云组网的可靠性,XX企业同时部署了DC和VPN两条网络链路,均可以连通云上VPC和线下IDC的网络。DC和VPN两条网络链路互为主备,主链路为DC,备链路为VPN,当DC链路故障时,可自动切换到VPN链路,降低网络中断对业务造成的影响。 将VPC1、VPC2以及DC接入企业路由器中,VPC1和VPC2网络互通,并且均可以通过DC和线下IDC通信。 将VPN接入企业路由器中,当主链路DC故障时,VPC1和VPC2可以通过备链路VPN和线下IDC通信。 图1 DC/VPN双链路主备混合云组网
  • 约束与限制 在VPN网关状态处于“创建中”、“更新中”、“删除中”三种状态时,不能进行VPN网关删除操作。 如果VPN网关绑定的EIP计费模式为包年/包月,删除VPN网关时会同步解绑EIP。解绑后弹性公网IP继续保留,若不再使用可在网关删除后释放。 如果VPN网关绑定的EIP计费模式为按需,删除VPN网关时会同步释放EIP。 如果需要保留按需EIP,则您需要先将该EIP解绑,然后再删除VPN网关。如何解绑EIP,请参见解绑弹性公网IP。 如果VPN网关绑定了加入共享带宽的EIP,删除VPN网关时会同步释放EIP,保留共享带宽。
  • 背景信息 根据对端网关IP地址个数不同,推荐的组网如表1所示。 表1 组网关系 对端网关IP个数 推荐组网 说明 1 VPN网关推荐使用双活模式,该场景占用1个VPN连接组配额。 2 VPN网关推荐使用主备模式,该场景占用2个VPN连接组配额。 如果用户数据中心仅有一个对端网关,且对端网关只能配置一个IP地址,VPN网关推荐使用双活模式,主EIP、主EIP2各创建一条VPN连接,对接同一个对端网关的同一个IP地址。该场景下仅占用一个VPN连接组配额。 如果用户数据中心存在两个对端网关,或一个对端网关可以配置两个IP地址,VPN网关推荐使用主备模式,主EIP、备EIP各创建一条VPN连接,对接到对端网关的不同IP地址。该场景下占用两个VPN连接组配额。
  • 约束与限制 非国密型网关不支持变更为国密型网关。 关联企业路由器场景下,需要关注企业路由器的路由表条数规格限制。 创建VPN网关支持直接创建共享型带宽的EIP,2个EIP要选择同一个共享带宽。 非固定IP接入的特性仅在部分区域上线,且仅支持“计费模式”采用“包年/包月”的公网网关场景。 本地可用区的特性仅在部分区域上线,以管理控制台实际上线区域为准。 专业型3网关不支持IPv6和非固定IP接入,且不支持边缘可用区。
  • 示例流程 图1 给用户授予VPN权限流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予虚拟专用网络服务权限“VPN FullAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限。 新创建的用户登录管理控制台,切换至授权区域,验证权限: 在“服务列表”中选择“网络 > 虚拟专用网络”,进入“虚拟专用网络 > 企业版-VPN网关”页面,单击“站点入云VPN网关”,进入“站点入云VPN网关”页签,单击右上角“创建站点入云VPN网关”,尝试创建VPN网关,如果创建成功,表示“VPN FullAccess”已生效。 在“服务列表”中选择“网络 > 虚拟专用网络”,进入“虚拟专用网络 > 经典版”页面,单击“创建VPN网关”,尝试创建VPN网关,如果创建成功,表示“VPN FullAccess”已生效。 在“服务列表”中选择“网络 > 虚拟专用网络”,进入“虚拟专用网络 > 企业版-VPN网关”页面,单击“终端入云VPN网关”,进入“终端入云VPN网关”页签,单击右上角“创建终端入云VPN网关”,尝试创建VPN网关,如果创建成功,表示“VPN FullAccess”已生效。 在“服务列表”中选择除VPN服务外(假设当前权限仅包含VPN FullAccess)的任一服务,若提示权限不足,表示“VPN FullAccess”已生效。
  • 监控指标 表1 企业版VPN网关支持的监控指标 指标ID 指标名称 指标含义 取值范围 单位 进制 测量对象(维度) 监控周期(原始指标) gateway_send_pkt_rate 出云包速率 该指标用于统计测量对象平均每秒出云的数据包数量。 ≥ 0 pps 不涉及 网关 1分钟 gateway_recv_pkt_rate 入云包速率 该指标用于统计测量对象平均每秒入云的数据包数量。 ≥ 0 pps 不涉及 网关 1分钟 gateway_send_rate 出云带宽 该指标用于统计测量对象平均每秒出云流量。 0-1 bps 1024(IEC) 网关 1分钟 gateway_recv_rate 入云带宽 该指标用于统计测量对象平均每秒入云流量。 0-1 bps 1024(IEC) 网关 1分钟 gateway_send_rate_usage 出云带宽使用率 该指标用于统计测量对象出云带宽使用率。 0-100 percentage(%) 不涉及 网关 1分钟 gateway_recv_rate_usage 入云带宽使用率 该指标用于统计测量对象入云带宽使用率。 0-100 percentage(%) 不涉及 网关 1分钟 gateway_connection_num 连接数 该指标用于统计测量对象关联VPN连接数。 ≥ 0 count 不涉及 网关 1分钟
  • 背景信息 表1 背景信息 监控指标名称 VPN支持情况 是否默认开启 VPN连接状态 企业版VPN、经典版VPN均支持。 是 链路往返平均时延 链路往返最大时延 链路丢包率 接收包速率 发送包速率 接收速率 发送速率 SA接收包速率 SA发送包速率 SA接收速率 SA发送速率 仅企业版VPN支持。 否 单击VPN连接名称,在“基本信息”页签添加健康检查项。 隧道往返平均时延 隧道往返最大时延 隧道丢包率 仅企业版VPN支持。 是 仅VPN连接使用静态路由模式,且开启NQA检测机制场景时支持私网相关监控指标。
  • 监控指标 表1 经典版VPN带宽支持的监控指标 指标ID 指标名称 指标含义 取值范围 单位 进制 测量对象(维度) 监控周期(原始指标) upstream_bandwidth 出网带宽 该指标用于统计测试对象出云平台的网络速度(原指标为上行带宽)。 ≥ 0 bit/s 1000(SI) 带宽或弹性公网IP 1分钟 downstream_bandwidth 入网带宽 该指标用于统计测试对象入云平台的网络速度(原指标为下行带宽)。 ≥ 0 bit/s 1000(SI) 带宽或弹性公网IP 1分钟 upstream_bandwidth_usage 出网带宽使用率 该指标用于统计测量对象出云平台的带宽使用率。 出网带宽使用率=出网带宽指标/购买的带宽大小 0-100 % 不涉及 带宽或弹性公网IP 1分钟 downstream_bandwidth_usage 入网带宽使用率 该指标用于统计测量对象入云平台的带宽使用率。 入网带宽使用率=入网带宽指标/购买的带宽大小 说明: 由于华为云在部分站点对10Mbps以下的配置带宽提供10Mbps的入网带宽上限,此时监控的入网带宽使用率会存在大于100%的情况。 EIP使用时修改带宽大小,带宽使用率的指标同步生效会有5~10min的延时。 0-100 % 不涉及 带宽或弹性公网IP 1分钟 up_stream 出网流量 该指标用于统计测试对象出云平台的网络流量(原指标为上行流量)。 ≥ 0 Byte 1000(SI) 带宽或弹性公网IP 1分钟 down_stream 入网流量 该指标用于统计测试对象入云平台的网络流量(原指标为下行流量)。 ≥ 0 Byte 1000(SI) 带宽或弹性公网IP 1分钟 表2 经典版VPN连接支持的监控指标 指标ID 指标名称 指标含义 取值范围 单位 进制 测量对象(维度) 监控周期(原始指标) connection_status VPN连接状态 展示VPN连接的通断状态。 0:未连接状态 1:连接状态 0,1 不涉及 不涉及 VPN连接 5分钟
  • 操作系统支持列表 表1 操作系统支持列表 操作系统类型 操作系统版本 客户端版本 如何操作 Windows Windows10及以上 OpenVPN GUI 2.6及以上版本 OpenVPN Connect 3.4.4及以上版本 配置Windows客户端 Linux Ubuntu 24.10 Ubuntu 22.04(jammy) 24.10系统为OpenVPN 2.6及以上版本 22.04系统为OpenVPN 2.5及以下版本 Ubuntu CentOS 7.9 CentOS 8 CentOS Stream 9 7.9、8系统为OpenVPN 2.4.12版本 Stream 9系统为OpenVPN 2.5及以上版本 CentOS Debian12 OpenVPN 2.5及以上版本 Debian Redhat 9.5 OpenVPN 2.5及以上版本 Redhat OpenSUSE 15.5 OpenVPN 2.5及以上版本 OpenSUSE MacOS - Tunnelblick 3.8.8d OpenVPN Connect 3.4.4.4629 配置Mac客户端 Android - OpenVpn Connect APK 3.3.2以上版本 配置Android客户端 iOS - OpenVpn Connect 3.4.0 配置iOS客户端
  • 应用场景 VPN标签是VPN资源的标识。为VPN资源添加标签,可以方便用户识别和管理拥有的VPN。您可以在创建VPN资源的时候增加标签,或者在已经创建的VPN资源详情页添加标签,每个VPN资源最多可以添加20个标签。 VPN标签管理仅支持站点入云VPN企业版和终端入云VPN。 标签共由两部分组成:“键”和“值”,其中,“键”和“值”的命名规则如表 VPN标签命名规则所示。 表1 VPN标签命名规则 参数 规则 样例 键 不能为空。 对于同一虚拟专用网络键值唯一。 长度不超过128个字符。 只能包含以下几种字符: 数字 空格 任意语种字母 特殊字符,包括“_”、“.”、“:”、“-”、“=”、“+”和“@” 首尾不能含有空格,不能以_sys_开头。 vpn_key1 值 长度不超过255个字符。 只能包含以下几种字符: 数字 空格 任意语种字母 特殊字符,包括"."、“:”、“-”、“=”、“+”、“@”、“/”和“_” vpn-01 父主题: 标签管理
  • 简单的IPsec VPN内网对连拓扑说明 如图1所示,假设您在云中已经申请了VPC,并申请了2个子网(192.168.1.0/24,192.168.2.0/24),您在自己的数据中心Router下也有2个子网(192.168.3.0/24,192.168.4.0/24)。您可以通过VPN使VPC内的子网与数据中心的子网互相通信。 图1 IPsec VPN 支持点到点VPN(Site-to-Site VPN),可实现VPC子网和用户数据中心局域网互访。在建立IPsec VPN前,请确认拟开通VPN的用户数据中心满足以下3个条件: 用户数据中心有支持标准IPsec协议的设备。 上述设备可以分配独立的公网IP(NAT IP也支持)。 VPC子网和用户数据中心子网不冲突,用户数据中心子网到上述设备可达。 满足以上条件后,配置IPsec VPN时,需要保证两端IKE策略以及IPsec策略配置一致,两端子网互为镜像。 配置完成后,需要通过私网数据流触发VPN协商。
  • 操作场景 当购买需求管理、代码托管、测试计划等单服务套餐时,管理员(拥有Tenant Administrator角色权限)可以通过“服务级访问权限管理”页面,按服务为项目成员分配访问权限。 服务级访问权限管理仅对需求管理、代码托管、测试计划等计费项中有“用户数”的服务生效。任何加入项目的成员均可根据实际购买情况使用代码检查、构建、部署、流水线等服务。 项目中添加成员时会根据已购买服务的套餐人数自动分配服务访问权限,直到达到套餐人数规格,您可以随时到本页面手动分配人员访问权限。 例如:团队中有5个人A、B、C、D、E, 购买2人规格需求管理套餐、3人规格代码托管套餐。创建项目后,按照A、B、C、D、E的顺序,依次将5个人加入项目。此时,A、B两人默认拥有两个服务的访问权限,C有 代码托管服务 的访问权限,D、E对两个服务都没有访问权限。管理员可以根据实际需要,在“服务级访问权限管理”页面中为5个人开启或关闭两个服务的访问权限,其中最多可为2个人设置需求管理访问权限、最多可为3个人设置代码托管访问权限。 首次购买某类套餐时,按用户名升序自动分配服务访问权限,直到达到套餐人数规格;非首次购买同类套餐时,恢复为上一次的成员服务访问权限。 例如:团队中有5个人A、B、C、D、E,当前已购买5人规格需求管理套餐,并已在项目中添加5人。此时购买3人规格代码托管套餐,默认A、B、C将拥有代码托管服务的访问权限。管理员取消A、B的代码托管服务访问权限,并为D、E授权访问代码托管服务。当代码托管套餐到期后,C、D、E失去代码托管服务访问权限;如果再次购买3人规格代码托管套餐,则C、D、E将恢复代码托管服务的访问权限。
  • 后续操作 完成新建代理后,可完成以下操作。 表5 管理代理 操作 说明 查看代理列表 在“代理列表”页面可查看代理的状态、内存使用率、可用硬盘等信息。 其中,状态包含以下五种: 运行中:代理机正在执行任务。 空闲中:代理机处于连接状态,未运行任务。 停用:代理机处于连接状态,但被停用无法执行任务。 下线:代理机处于掉线断开状态,如需上线请登录代理机重新注册,否则删除即可。 删除中:代理机正在被删除中。 启动/停用代理 在“代理列表”页面,单击目标代理的操作列中,可停用对应代理,停用后,状态列显示为“停用”;单击,可以重新启用代理,状态列恢复为“空闲中”。 删除代理 单独删除:在“代理列表”页面,单击目标代理的操作列中,可以删除对应代理。 批量删除:在“代理列表”页面,勾选待删除的代理,单击“批量删除”。 说明: “运行中”状态的代理无法删除。 如果在新建代理时开启“重启免注册”开关,请参照页面提示,在删除代理前需登录对应主机执行卸载命令。否则,主机重启后,已删除代理会自动重新注册。
  • 设置 消息通知 规则 CodeArts消息通知有两种方式:浏览器桌面通知、邮件通知。 浏览器桌面通知:消息通知将发送至PC端桌面,内容包括代码检查、编译构建、部署、流水线任务的执行结果。 邮件通知:根据各服务通知设置,CodeArts将发送消息通知至的对应成员的邮箱中。 通过“消息设置”页面,可以配置当前用户是否接收CodeArts各服务消息通知。 进入CodeArts首页。 登录CodeArts控制台,单击,选择区域。 单击“前往工作台”。 如果当前账号采用的是历史计费模式(详情请参见历史计费模式说明),则单击“立即使用”。 在导航栏中单击用户名,选择“个人设置”。 页面默认跳转至“消息设置”页面,根据需要可以完成以下配置。 表1 设置消息通知规则 操作 说明 设置勿扰时间 根据需要单击“勿扰时段设置”开关。 如果需要修改勿扰时段,单击“更改设置”,根据需要在弹框中设置开始时间与结束时间,单击“确定”。设置成功后,页面中将显示更新后的时段。 开启/关闭通知 根据需要勾选“开启”或“关闭”。 如果需要修改接收消息通知的邮箱,单击邮箱后的“更改设置”,根据页面提示修改邮箱地址。
  • 设置昵称 当前用户只能给自己设置昵称,该昵称对所有项目成员可见。 在设置工作项处理人时,默认优先显示昵称,如果未设置昵称则显示用户名。 进入CodeArts首页。 登录CodeArts控制台,单击,选择区域。 单击“前往工作台”。 如果当前账号采用的是历史计费模式(详情请参见历史计费模式说明),则单击“立即使用”。 在导航栏中单击用户名,在弹框中单击用户名后的。 如果关闭了“设置个人昵称”开关(操作方法请参考昵称设置),则属于IAM用户无法设置昵称,显示为灰色。 在弹框中输入要设置的昵称(昵称长度不能超过30个字符),单击“确定”完成设置。 图1 设置昵称 刷新页面,页面右上角用户名处将显示新昵称。如果未显示请刷新页面。
  • 新建CodeArts项目 进入CodeArts首页。 登录CodeArts控制台,单击,选择区域。 单击“前往工作台”。 如果当前账号采用的是历史计费模式(详情请参见历史计费模式说明),则单击“立即使用”。 在CodeArts首页单击“新建项目”,选择“Scrum”。 如果首页中显示“您还没有项目”,则单击“Scrum”。 根据需要设置项目信息,单击“确定”。 表1 新建项目 配置项 是否必填 说明 工作项设置模板 是 根据需要选择模板,通常选择内置模板即可。模板的配置方法请参考Scrum项目公共配置管理。 项目名称 是 不超过128个字符。 项目代号 否 支持数字、大小写英文、连字符、下划线,不超过200个字符。 关联企业项目 否 选择关联的企业项目,通常选择默认类型即可。企业项目的创建方法请参考创建企业项目。 项目描述 否 不超过1024个字符。 创建成功,页面自动跳转至到项目内。
  • 操作场景 服务扩展点是CodeArts的一种扩展插件,为CodeArts提供连接第三方服务的能力。 当CodeArts中的一些任务需要连接到远程第三方服务,进行一些获取数据操作时,例如连接第三方GitHub仓库获取项目源码、连接第三方Jenkins服务执行Jenkins任务等,可以通过新建扩展点来实现与相应服务的连接。 CodeArts支持以下扩展点。 表1 服务扩展点 类型 使用场景 Docker repository 用于连接Docker镜像仓库,连接成功后可以通过部署服获取仓库中的Docker镜像。 Jenkins 用于连接Jenkins服务,连接成功后可以在流水线中调用并执行Jenkins服务中所包含的任务。 Kubernetes 用于连接Kubernetes集群,连接成功后可对Kubernetes集群下发部署任务。 nexus repository 用于连接第三方私有Maven仓库,连接成功后可以通过构建任务获取该仓库中文件信息。 通用Git 用于连接第三方Git仓库,连接成功后可以在流水线、构建等服务中获取该仓库的分支等信息。 码云Git 用于连接码云Git账号,连接成功后可以在流水线、构建等服务中获取该账号的仓库、分支等信息。 GitHub 用于连接Github账号,连接成功后可以在流水线、构建等服务中获取该账号的仓库、分支等信息。 IAM账户 用于委托自己账号的AK/SK给需要执行任务的账号,在该账号执行部署任务的时候可以通过AK/SK获得被委托的账号的token执行更高权限的任务。 CodeArts Repo HTTPS 用于授权CodeArts服务对托管的Repo仓库进行代码下载、分支创建、分支合并、代码提交等操作。当前主要用于流水线服务的微服务变更功能模块及其相关插件。 Gerrit 用于连接第三方Gerrit仓库,连接成功后可以在流水线、构建等服务中获取该仓库代码。 GitCode 用于连接GitCode账号,连接成功后可以在流水线、构建等服务中获取该账号的仓库、分支等信息。
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域 指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互通。通过在不同地区创建云资源,可以将应用程序设计的更接近特定客户的要求,或满足不同地区的法律或其他要求。 可用区 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 父主题: 使用前必读
  • 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "project_name", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 响应消息体(可选) 该部分可选。响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中Content-Type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "az-01", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_code": "AS.0001", "error_msg": "The format of message is error" } 其中,“error_code”表示错误码,“error_msg”表示错误描述信息。
  • 请求示例 恢复表数据到指定时间点。 POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in01/restore/tables { "restoreTime": 1583720991838, "restoreTables": [ { "database": "restoretest", "tables": [ { "oldName": "test", "newName": "test_1583720991838" } ] } ], "is_fast_restore" : false }
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-4”,您可以从地区和终端节点获取。 scope参数定义了Token的作用域,上面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 如果是专属云场景采用AK/SK 认证方式的接口请求或者多project场景采用AK/SK认证的接口请求则该字段必选。 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 1 2 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求URI 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如IAM服务在“华北-北京四”区域的Endpoint为“iam.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京四”区域的Token,则需使用“华北-北京四”区域的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 1 https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
  • 响应示例 { "resCode": "0", "resMsg": "成功", "result": { "methodName": "run", "methodObject": "Calculator", "label": "", "description": "do a operation", "script": "命名空间__editEquipment", "types": { "Input": [ { "name": "op", "label": "", "description": "the operation type", "isCollection": false, "required": true, "pattern": "", "message": "", "valueType": "String", "structType": "", "lengthInCharacter": false, "min": null, "max": null }, { "name": "value1", "label": "", "description": "the operation value 1", "isCollection": false, "required": true, "pattern": "", "message": "", "valueType": "Number", "structType": "", "lengthInCharacter": false, "min": null, "max": null }, { "name": "value2", "label": "", "description": "the operation value 2", "isCollection": false, "required": true, "pattern": "", "message": "", "valueType": "Number", "structType": "", "lengthInCharacter": false, "min": null, "max": null } ], "Output": [ { "name": "result", "label": "", "description": "", "isCollection": false, "required": true, "pattern": "", "message": "", "valueType": "Number", "structType": "", "lengthInCharacter": false, "min": null, "max": null } ] }, "inputs": [ { "name": "op", "label": "", "description": "the operation type", "isCollection": false, "required": true, "pattern": "", "message": "", "valueType": "String" }, { "name": "value1", "label": "", "description": "the operation value 1", "isCollection": false, "required": true, "pattern": "", "message": "", "valueType": "Number" }, { "name": "value2", "label": "", "description": "the operation value 2", "isCollection": false, "required": true, "pattern": "", "message": "", "valueType": "Number" } ], "input": "Input", "outputs": [ { "name": "result", "label": "", "description": "", "isCollection": false, "required": true, "pattern": "", "message": "", "valueType": "Number" } ], "output": "Output" } }
共100000条