华为云用户手册

  • 设置定时执行任务 为了防止问题代码进入生产环境,确保应用总是处于可部署的状态,团队建议对应用进行持续不断地验证。 通过以下设置,可实现构建任务的定时执行。 在任务“phoenix-sample-ci”的详情页,单击“编辑”。 选择“执行计划”页签。 打开“启用定时执行”开关,根据需要选择执行日与执行时间,关闭“代码变化才执行”,保存任务。 本文档中勾选“全选”,执行时间为“12:00”(本文中使用默认时区,可以根据实际需要修改时区)。 验证配置结果:根据配置时间查看构建任务是否自动执行,本节不再赘述。
  • 设置提交代码触发自动编译 通过以下配置,可实现代码变更后自动触发构建任务的执行,从而实现项目的持续集成。 在任务“phoenix-sample-ci”的详情页,单击“编辑”。 选择“执行计划”页签。 打开“提交代码触发执行”开关,保存任务。 由于在“参数设置”页签中“codeBranch”配置的默认值为“master”,因此本次设置的结果是当master有代码变更时自动触发构建。 验证配置结果:修改项目代码并提交至master,即可查看构建任务是否自动执行。
  • 预置任务简介 样例项目中预置了以下5个构建任务。 表1 预置任务 预置任务 任务说明 phoenix-sample-ci 基本的构建任务。 phoenix-sample-ci-test 构建测试环境可用镜像的任务。 phoenix-sample-ci-worker 构建Worker功能镜像的任务。 phoenix-sample-ci-result 构建Result功能镜像的任务。 phoenix-sample-ci-vote 构建Vote功能镜像的任务。 本章节以任务“phoenix-sample-ci”为例进行讲解,此任务包含的步骤如下。 表2 构建步骤 构建步骤 说明 制作Vote镜像并推送到SWR仓库 依据代码仓库中的“vote/Dockerfile”文件制作Vote功能镜像,并将镜像推送到 容器镜像服务 。 制作Result镜像并推送到SWR仓库 依据代码仓库中的“result/Dockerfile”文件制作并推送Result功能镜像,并将镜像推送到容器 镜像服务 。 使用Maven安装Worker依赖包 使用Maven安装Worker功能所需的依赖。 制作Worker镜像并推送到SWR仓库 依据代码仓库中的“worker/Dockerfile”文件制作并推送Worker功能镜像,并将镜像推送到容器镜像服务。 生成Postgres and Redis Dockerfile 通过shell命令生成Dockerfile文件,用以制作Postgres(数据库)和Redis(缓存)镜像。 制作Postgres镜像并推送到SWR仓库 依据“生成Postgres and Redis Dockerfile”步骤中所生成的Dockerfile文件制作Postgres镜像,并将镜像推送到容器镜像服务。 制作Redis镜像并推送到SWR仓库 依据“生成Postgres and Redis Dockerfile”步骤中所生成的Dockerfile文件制作Redis镜像,并将镜像推送到容器镜像服务。 替换Docker-Compose部署文件镜像版本 为了将镜像部署到E CS 时,能够可以拉取到正确的镜像,使用shell命令进行完成以下操作。 使用sed命令,依次将文件“docker-compose-standalone.yml”中的参数替换为构建任务的参数“dockerServer”、“dockerOrg”、“BUILDNUMBER”进行替换。 使用tar命令,将文件“docker-compose-standalone.yml”压缩为“docker-stack.tar.gz”,将部署所需文件进行打包,以便于后续步骤将该文件上传归档。 替换Kubernetes部署文件镜像版本 为了将镜像部署到CCE时,能够可以拉取到正确的镜像,使用shell命令进行完成以下操作。 使用sed命令,将代码仓库中目录“kompose”下所有以“deployment”结尾的文件中的参数“docker-server”、“docker-org”,替换为构建任务的参数“dockerServer”、“dockerOrg”。 使用sed命令,将代码仓库中“result-deployment.yaml”、“vote-deployment.yaml”、“worker-deployment.yaml”三个文件中的参数“image-version”用构建任务参数“BUILDNUMBER”进行替换。 上传Kubernetes部署文件到软件发布库 将“替换Kubernetes部署文件镜像版本”步骤中修改后的所有“.yaml”文件上传到软件发布库中归档。 上传docker-compose部署文件到软件发布库 将“替换Docker-Compose部署文件镜像版本”步骤中压缩好的“docker-stack.tar.gz”上传到软件发布库中归档。
  • 新建构建任务并执行 在编译构建服务页面,单击“新建任务”,按照如下参数说明配置参数,其他参数保持默认即可。 名称:自定义构建任务名称,例如“custom_env_build_task”。 代码源:选择本次构建拉取的代码源,这里选择“Repo”。 代码仓:选择新建CodeArts Repo代码仓中新建的代码仓“custom_env_repo”。 单击“下一步”,选择“空白构建模板”。然后单击“确定”,自动跳转到构建步骤配置页面。 在“构建步骤”页签,单击“图形化”,单击“点击添加构建步骤”。 在右侧区域“容器类”页签中,单击“使用SWR公共镜像”所在行的“添加”,按照图4配置参数。其中“镜像地址”填写10中保存的完整镜像名称“swr.{regionID}.myhuaweicloud.com/hwstaff_codeci_gray/custom_ubuntu_image:v1.0”,将如下代码示例拷贝至“命令”中,其余参数保持默认即可。 java -version # 打印当前镜像里安装的jdk版本号 mvn -v # 打印当前镜像里安装的maven版本号 mvn package -Dmaven.test.skip=true -U -e -X -B # 执行maven构建命令 图8 配置使用SWR公共镜像 单击“添加步骤”,添加“上传软件包至软件发布库”构建步骤,“构建包路径”输入“**/target/*.?ar”,其他参数保持默认即可。 单击页面右上角“保存并执行”,在弹出的窗口中单击“确定”,跳转到构建任务执行页面。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建私有依赖库 新建本实践中使用的私有依赖库。 新建dependency_repo代码仓 新建发布“dependencyProject-1.0.jar”工具包使用的代码仓。 新建dependency_task构建任务 新建发布“dependencyProject-1.0.jar”工具包的构建任务。 新建release_repo代码仓 新建发布应用使用的代码仓。 新建release_task构建任务 新建发布应用使用的构建任务,该构建任务依赖“dependencyProject-1.0.jar”工具包。 查看构建结果 查看本实践的的构建结果。
  • 应用场景 本实践案例将为您介绍,如何在CodeArts Build构建工程中引用私有依赖库中的二方或三方依赖包,实现应用的编译构建。本实践案例为您演示依赖包的发布和下载引用两个环节,共涉及2个Maven构建工程,1个私有依赖库。 构建工程“dependency_task”:用于发布工具包,将“pom.xml”文件定义的“dependencyProject-1.0.jar”工具包发布到私有依赖库,为构建工程“release_task”提供依赖工具包引用。 构建工程“release_task”:用于发布应用,构建时依赖构建工程“dependency_repo”发布到私有依赖库的工具包“dependencyProject-1.0.jar”。 私有依赖库“dependency_libs”:存放构建工程“dependency_task”发布的工具包“dependencyProject-1.0.jar”,为构建工程“release_task”提供依赖工具包下载。 本实践需要依赖使用的其他服务如下: 代码托管服务 ,用于存储实践中项目所使用的代码。 制品仓库服务,用于存储实践中使用的私有依赖包。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建私有依赖库 新建本实践中使用的私有依赖库。 查询私有依赖仓库信息 查询私有依赖库的id和url信息,用于配置在代码仓的“pom.xml”文件中。 上传settings.xml文件至编译构建 上传“settings.xml”文件到编译构建服务的“文件管理”中。 新建CodeArts Repo代码仓 新建本实践需要使用的代码仓。 配置Maven构建产物发布的私有依赖库地址 配置构建产物上传的私有依赖库的地址。 新建编译构建任务 新建本实践需要使用的编译构建任务。 配置构建步骤并执行构建任务 配置“下载文件管理的文件”和“Maven构建”步骤并执行构建任务。 查看编译构建结果 在私有依赖库中查看编译构建结果。
  • 配置构建步骤并执行构建任务 单击“点击添加构建步骤”,添加“下载文件管理的文件”构建步骤,“步骤显示名称”和“工具版本”保持默认,“下载文件”选择上传settings.xml文件至编译构建中上传的文件“settings.xml”。 单击“添加步骤”,添加“Maven构建”构建步骤,“命令”窗口中mvn package -Dmaven.test.skip=true -U -e -X -B命令前加“#”注释,删除mvn deploy -Dmaven.test.skip=true -U -e -X -B前的“#”,并将mvn deploy -Dmaven.test.skip=true -U -e -X -B改为mvn deploy -Dmaven.test.skip=true -s settings.xml -U -e -X -B,其他参数保持默认即可。 图5 打包命令 图6 发布依赖包命令 单击“保存并执行”。在弹出的窗口中单击“确定”,等待构建任务执行完成。
  • 查看编译构建结果 “构建流程”页签中展示了当前构建任务运行的全量流程图,在构建任务未执行完成时,可以清晰的看到Job1和Job2是并行执行,Job3是等待Job1和Job2执行完成后才执行。 单击“构建流程”页签中左侧菜单的“Job1”或右侧界面的绿色矩形图形的“Job1”,进入Job1构建任务的执行详情页面,可以查看Job1构建任务的构建日志,如图2所示。 图2 查看构建结果 其中, “步骤日志”页签展示了当前构建任务运行顺序和资源调度情况。 “构建参数”页签展示了当前构建任务全局的参数信息。 “构建脚本”页签展示了当前构建任务执行的脚本内容。 参考1可查看“Job2”和“Job3”的构建任务执行详情。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建CodeArts Repo代码仓 为本实践新建Repo代码仓用于存储代码文件。 新建build.yml文件 通过“build.yml”定义整个构建的流程。 新建build.yml中使用的子任务执行脚本 新建整个构建过程中依赖的构建任务的执行脚本。 新建并执行编译构建任务 新建BuildFlow编译构建任务并执行。 查看编译构建结果 查看编译构建结果。
  • 应用场景 在编译构建中,构建任务是构建的最小单元,适用于业务比较简单的场景,但是在有些复杂的构建场景下,构建任务可能并不能满足复杂的构建要求。例如,用户希望更模块化、更加细粒度的拆分构建任务,并按照构建任务之间的依赖顺序进行构建。 为此,编译构建服务支持使用BuildFlow将多个存在依赖关系的构建任务按照有向无环图(DAG)的方式组装起来,BuildFlow将会按照构建的依赖关系并发进行构建。 本实践为您演示构建任务Job3依赖于构建任务Job1和构建任务Job2的构建工程,实践中依赖使用代码托管服务,用于存储实践中项目所使用的代码。
  • 应用场景 编译构建服务支持通过yaml文件配置构建脚本,用户可以将构建时需要配置的构建环境、构建参数、构建命令、构建步骤等操作,通过yaml语法编写成build.yml文件实现,并且将build.yml文件和被构建的代码一起存储到代码仓库。执行构建任务时,系统会以build.yml文件作为构建脚本执行构建任务,使构建过程可追溯、可还原,安全可信。本实践以使用Maven构建为例,为您演示上传软件包至软件发布库和推送镜像到SWR。 本实践需要依赖使用的其他服务如下: SWR,即容器镜像服务。SWR镜像仓库用于存储用户上传的Docker镜像,可以在构建、部署或其他场景使用。 代码托管服务,用于存储实践中项目所使用的代码。 制品仓库服务,用于存储实践中使用的私有依赖包。
  • 应用场景 当编译构建服务提供的内置执行机构建环境不满足业务要求时,您可接入自行提供的计算资源,通过注册的方式托管到编译构建服务中,委托编译构建服务进行调度并执行构建任务。本实践我们通过“Maven构建”和“上传软件包到软件发布库”两个构建步骤来演示使用自定义执行机的构建场景。 本实践需要依赖使用的其他服务如下: 代码托管服务,用于存储实践中项目所使用的代码。 制品仓库服务,用于存储实践中使用的私有依赖包。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建自定义执行机资源池 为本实践新建所需的自定义执行机资源池。 新建CodeArts Repo代码仓 为本实践新建存储代码的代码仓。 新建并执行编译构建任务 为本实践新建构建任务,包括“Maven构建”和“上传软件包到软件发布库”构建步骤。 查看构建任务和构建结果 为您介绍通过查看构建日志确认该实践的构建任务使用的执行机和在制品仓中查看上传的软件包。
  • 配置构建步骤并执行构建任务 配置“Npm构建”。 在命令编辑器里,npm run build命令前加“#”,新增zip -r ./nodeserver.zip ./命令,用来将代码打包成“nodeserver.zip”,如图1所示。其他参数保持默认即可。 图1 命令示例 按图2所示配置“上传软件包到软件发布库”。 图2 配置上传软件包到软件发布库 配置完所有构建步骤,单击“保存并执行”,执行编译构建任务。
  • 查看构建结果 在“步骤日志”页签中,构建日志控制台滚动输出构建任务执行日志信息。如图15所示,表示本次构建任务使用的是新建Windows自定义执行机资源池中的代理机“agent_1727592540799-JEyZiq7Ytw”。 图15 构建日志 单击“执行shell命令”,在构建日志控制台打印了systeminfo命令执行的日志。如图16所示,打印了当前执行机的操作系统信息是Windows。 图16 执行shell命令日志
  • Windows服务器安装JDK编译工具 在弹性云服务器列表页,单击前提准备中购买的服务器所在行的“远程登录”。 选择VNC登录方式。 图2 VNC登录 登录成功后,输入购买Windows服务器时预置的密码,登录到Windows系统桌面。 浏览器地址栏输入“https://www.java.com/zh-CN/”,访问该网站。 在浏览器页面单击“下载Java”。 图3 下载Java 在下载页面,单击“Download Java”下载安装包。 图4 下载安装包 下载到本地后,双击下载的可执行文件“jre-8u421-windows-x64”,在弹出的窗口中单击“安装”。 安装完成后,打开“Windows PowerShell”工具,输入java -version命令,按回车执行,输出如图所示的Java版本信息,代表安装完成。 图5 Java安装完成
  • 操作流程 表1 操作流程 流程 说明 Windows服务器安装JDK编译工具 JDK(Java Development Kit)是用于开发Java应用程序的软件开发工具包。它包含了Java运行环境(JRE)、Java工具和Java基础类库。使用JDK,开发者可以编写、编译和执行Java程序。关于JDK的更多详情请参考OpenJDK。 Windows服务器安装GIT编译工具 Git是一个分布式版本控制系统,主要用于跟踪计算机文件集的变化,特别是软件开发过程中的代码变化。使用Git,开发者可以记录项目的历史版本、协作开发、回溯到之前的项目状态等。关于Git的更多详情请参考Git官方网站。 新建项目 为本实践新建项目。 新建Windows自定义执行机资源池 为本实践新建所需的Windows自定义执行机资源池并创建代理。 新建CodeArts Repo代码仓 为本实践新建存储代码的代码仓。 新建并执行编译构建任务 为本实践新建构建任务,包括“执行Shell命令”构建步骤。 查看构建结果 为您介绍通过查看构建日志确认该实践的构建任务使用的Windows执行机。
  • Windows服务器安装GIT编译工具 浏览器地址栏输入“https://git-scm.com/downloads”,访问该网站。 单击“Download for Windows”。 图6 下载 下载适合用户系统的Git安装程序,当前案例单击“64-bit Git for Windows Setup”,下载到本地。 图7 选择版本 双击下载的可执行文件“Git-2.46.2-64-bit”。 根据界面提示单击“Next”,直至安装完成。 安装后,在任意目录按下鼠标右键,选择“Open Git Bash here”。 图8 安装Git 在弹出的命令窗口中输入“git-v”,如图所示显示已安装的Git版本号。 图9 安装完成
  • 访问策略 权限 对应API接口 授权项(Action) 依赖的授权项 IAM 项目(Project) 企业项目(Enterprise Project) 创建VPN访问策略 POST /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/access-policies vpn:p2cVpnGateway:createAccessPolicy - √ x 查询VPN访问策略列表 GET /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/access-policies vpn:p2cVpnGateway:listAccessPolicies - √ x 修改VPN访问策略 PUT /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/access-policies/{policy_id} vpn:p2cVpnGateway:updateAccessPolicy - √ x 查询VPN访问策略 GET /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/access-policies/{policy_id} vpn:p2cVpnGateway:getAccessPolicy - √ x 删除VPN访问策略 DELETE /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/access-policies/{policy_id} vpn:p2cVpnGateway:deleteAccessPolicy - √ x 父主题: 终端入云VPN授权项列表
  • 用户管理 权限 对应API接口 授权项(Action) 依赖的授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建VPN用户 POST /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/users vpn:p2cVpnUser:create - √ x 批量创建VPN用户 POST /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/users/batch-create vpn:p2cVpnUser:batchCreate - √ x 查询VPN用户列表 GET /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/users vpn:p2cVpnUser:list - √ x 修改VPN用户 PUT /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/users/{user_id} vpn:p2cVpnUser:update - √ x 查询VPN用户 GET /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/users/{user_id} vpn:p2cVpnUser:get - √ x 删除VPN用户 DELETE /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/users/{user_id} vpn:p2cVpnUser:delete - √ x 批量删除VPN用户 POST /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/users/batch-delete vpn:p2cVpnUser:batchDelete - √ x 修改VPN用户密码 PUT /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/users/{user_id}/password vpn:p2cVpnUser:updatePassword - √ x 重置VPN用户密码 POST /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/users/{user_id}/reset-password vpn:p2cVpnUser:resetPassword - √ x 创建VPN用户组 POST /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/groups vpn:p2cVpnGateway:createUserGroup - √ x 查询VPN用户组列表 GET /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/groups vpn:p2cVpnGateway:listUserGroup - √ x 修改VPN用户组 PUT /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/groups/{group_id} vpn:p2cVpnGateway:updateUserGroup - √ x 查询VPN用户组 GET /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/groups/{group_id} vpn:p2cVpnGateway:getUserGroup - √ x 删除VPN用户组 DELETE /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/groups/{group_id} vpn:p2cVpnGateway:deleteUserGroup - √ x 添加VPN用户到组 POST /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/groups/{group_id}/add-users vpn:p2cVpnGateway:addUsers - √ x 删除组内VPN用户 POST /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/groups/{group_id}/remove-users vpn:p2cVpnGateway:removeUsers - √ x 查询组内VPN用户 GET /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/groups/{group_id}/users vpn:p2cVpnGateway:listUsersInGroup - √ x 父主题: 终端入云VPN授权项列表
  • 服务端 权限 对应API接口 授权项(Action) 依赖的授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建终端入云VPN服务端 POST /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/vpn-servers vpn:p2cVpnGateway:createServer scm:cert:get scm:cert:list scm:cert:download vpc:publicIps:get vpc:routeTables:update vpc:subnets:get √ x 查询一个网关下的服务端信息 GET /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/vpn-servers vpn:p2cVpnGateway:listServers - √ x 更新指定网关的服务端 PUT /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id} vpn:p2cVpnGateway:updateServer scm:cert:get scm:cert:list scm:cert:download vpc:publicIps:get vpc:routeTables:update vpc:subnets:get √ x 导出服务端对应的客户端配置信息 POST /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/client-config/export vpn:p2cVpnGateway:exportClientConfig - √ x 校验CA证书的合法性 POST /v5/{project_id}/p2c-vpn-gateways/vpn-servers/client-ca-certificates/check vpn:system:checkClientCaCertificate - √ x 导入客户端CA证书 POST /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/client-ca-certificates vpn:p2cVpnGateway:importClientCa - √ x 修改客户端CA证书 PUT /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/client-ca-certificates/{client_ca_certificate_id} vpn:p2cVpnGateway:updateClientCa - √ x 查询客户端CA证书 GET /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/client-ca-certificates/{client_ca_certificate_id} vpn:p2cVpnGateway:getClientCa - √ x 删除客户端CA证书 DELETE /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/client-ca-certificates/{client_ca_certificate_id} vpn:p2cVpnGateway:deleteClientCa - √ x 查询租户下的所有服务端信息 GET /v5/{project_id}/vpn-servers vpn:p2cVpnGateway:listAllServers - √ x 断开终端入云VPN网关连接 POST /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/connections/{connection_id}/disconnect vpn:p2cVpnGateway:disconnectConnection - √ x 更新终端入云VPN连接日志配置 PUT /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/log-config vpn:p2cVpnGateway:updateConnectionsLogConfig - √ × 查询终端入云VPN连接日志配置 GET /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/log-config vpn:p2cVpnGateway:getConnectionsLogConfig - √ × 删除终端入云VPN连接日志配置 DELETE /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/log-config vpn:p2cVpnGateway:deleteConnectionsLogConfig - √ × 父主题: 终端入云VPN授权项列表
  • VPN网关 权限 对应API接口 授权项(Action) 依赖的授权项 IAM项目 (Project) 企业项目 (Enterprise Project) 订购包周期终端入云VPN网关 POST /v5/{project_id}/p2c-vpn-gateways/subscribe/{order_id} vpn:p2cVpnGateway:subscribe vpn:system:listAvailabilityZones vpc:vpcs:list vpc:subnets:get vpc:bandwidths:list vpc:publicIps:create vpc:publicIps:delete vpc:publicIps:update vpc:publicIps:list vpc:quotas:list √ × 变更包周期 VPN网关规格 PUT /v5/{project_id}/p2c-vpn-gateways/update-specification/{order_id} vpn:p2cVpnGateway:updateSpecification - √ × 更新终端入云VPN网关 PUT /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id} vpn:p2cVpnGateway:update vpc:publicIps:create vpc:publicIps:delete vpc:publicIps:update vpc:publicIps:get vpc:publicIps:list vpc:bandwidths:list √ × 查询终端入云VPN网关详情 GET /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id} vpn:p2cVpnGateway:get vpc:publicIps:get √ × 查询终端入云VPN网关列表 GET /v5/{project_id}/p2c-vpn-gateways vpn:p2cVpnGateway:list vpc:publicIps:get √ × 查询终端入云VPN连接列表 GET /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/connections vpn:p2cVpnGateway:listConnections - √ × 断开P2C VPN网关连接 POST /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/connections/{connection_id}/disconnect vpn:p2cVpnGateway:disconnectConnection - √ × 父主题: 终端入云VPN授权项列表
  • 对端网关 权限 对应API接口 授权项(Action) 依赖的授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建对端网关 POST /v5/{project_id}/customer-gateways vpn:customerGateways:create - √ x 查询对端网关详情 GET /v5/{project_id}/customer-gateways/{customer_gateway_id} vpn:customerGateways:get - √ x 查询对端网关列表 GET /v5/{project_id}/customer-gateways vpn:customerGateways:list - √ x 更新对端网关 PUT /v5/{project_id}/customer-gateways/{customer_gateway_id} vpn:customerGateways:update - √ x 删除对端网关 DELETE /v5/{project_id}/customer-gateways/{customer_gateway_id} vpn:customerGateways:delete - √ x 父主题: 站点入云VPN授权项列表
  • 终端入云VPN服务端限制 表2 终端入云VPN服务端限制 VPN网关类型 资源 默认限制 如何提升配额 企业版VPN 每服务端支持导入的客户端CA证书数量 10 不支持修改 每服务端支持添加的本端网段数量 20 修改协议、端口、认证算法、加密算法等,您需要重新下载客户端配置。 本端子网的全0配置,暂不开放支持。 本端网段的限制网段为0.0.0.0/8,224.0.0.0/4,240.0.0.0/4,127.0.0.0/8,不能与这些特殊网段重叠或冲突。 每个用户最多建立5个连接。 每个VPN网关最多可创建500个用户。 用户数最大配置为网关的最大连接数。 用户组数量配置最大为50。 单策略目的网段数量为10。 访问策略数量最大规格为100。 VPN连接只支持VPN网关在正常状态下断连,不支持在非正常状态下断连,比如故障、更新中、删除中或冻结状态。
  • IPsec VPN IPsec VPN是一种加密的隧道技术,通过使用加密的安全服务在不同的网络之间建立保密而安全的通讯隧道。在云上即站点入云VPN,如果需要购买站点入云VPN网关,您可以单击立即购买。 如图1所示,假设您在云上已经申请了VPC,并申请了2个子网(192.168.1.0/24,192.168.2.0/24),同时您在自己的数据中心也有2个子网(192.168.3.0/24,192.168.4.0/24),那么您可以通过VPN使VPC内的子网与数据中心的子网互相通信。 图1 IPsec VPN 支持站点到站点VPN(Site-to-Site VPN),可实现VPC子网和数据中心局域网互访。 父主题: 基本概念
  • 站点入云企业版VPN和经典版VPN的区别 表1 企业版VPN和经典版VPN的区别 类别 对比项 企业版VPN 经典版VPN 租户隔离 租户独享网关 支持 不支持 功能&特性 策略模式 支持 支持 路由模式 静态路由/BGP路由 不支持 VPN Hub 支持 不支持 企业路由器 支持 不支持 网络类型 公网/私网 公网 容量&性能 子网数量 路由模式:50 策略模式:5 策略模式:5 更多信息,请参见表 企业版VPN不同规格的区别。 可靠性 网关保护方式 主备/双活 - 网关跨AZ部署 支持 不支持 双线路双活 支持 不支持 与专线互备 支持 不支持
  • 产品概述 虚拟专用网络 (Virtual Private Network,以下简称VPN),用于在企业用户本地网络、数据中心与云上网络之间搭建安全、可靠、高性价比的加密连接通道。 不支持在中国大陆和非中国大陆之间建立VPN跨境连接。 VPN分为站点入云VPN(Site-to-Cloud VPN,以下简称S2C VPN)和终端入云VPN(Point-to-Cloud VPN,以下简称P2C VPN),站点入云VPN基于IPsec协议,终端入云VPN基于SSL协议,两者适用于不同的应用场景。 站点入云VPN由VPN网关、对端网关和VPN连接组成。 VPN网关提供了VPC的公网出口,与用户数据中心的对端网关对应。 VPN连接通过加密技术,将VPN网关与对端网关相关联,使数据中心与VPC通信,更快速、更安全地构建混合云环境。 站点入云VPN组网图如图 站点入云VPN组网图所示。 图1 站点入云VPN组网图 终端入云VPN由VPN网关、服务端和客户端组成。 VPN网关提供了VPC的公网出口,并绑定对应服务端。 服务端实现数据包的封装和解封装,设置和客户端通信的通信端口、加密算法、连通网段。 客户端与服务端建立VPN连接,实现对云上资源或服务的远程访问。 终端入云VPN组网图如图 终端入云VPN组网图所示。 图2 终端入云VPN组网图
  • 组成部分 站点入云VPN VPN网关:虚拟专用网络在云上的虚拟网关,与用户本地网络、数据中心的对端网关建立安全私有连接。 对端网关:用户数据中心的VPN设备或软件应用程序。控制台上创建的对端网关是云上虚拟对象,用于记录用户数据中心实体设备的配置信息。 VPN连接:VPN网关和对端网关之间的安全通道,使用IKE和IPsec协议对传输数据进行加密。 终端入云VPN VPN网关:虚拟专用网络在云上的虚拟网关,与客户端建立安全私有连接。 服务端:虚拟网关提供SSL服务的功能模块,用于配置管理及客户端的连接认证。 客户端:用户终端设备上部署的VPN客户端软件。
  • 如何选择区域? 选择区域时,您需要考虑以下几个因素: 地理位置 一般情况下,建议就近选择靠近您或者您的目标用户的区域,这样可以减少网络时延,提高访问速度。 在除中国大陆以外的亚太地区有业务的用户,可以选择“中国-香港”、“亚太-曼谷”或“亚太-新加坡”区域。 在非洲地区有业务的用户,可以选择“非洲-约翰内斯堡”区域。 在拉丁美洲地区有业务的用户,可以选择“拉美-圣地亚哥”区域。 “拉美-圣地亚哥”区域位于智利。 资源的价格 不同区域的资源价格可能有差异,请参见华为云服务价格详情。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全