玩转ECS第9讲 | ECS云助手,实现云上运维自动化

简介: 本次内容由阿里云技术专家朱士松 (锐奇)为大家介绍《ECS云助手,实现云上运维自动化》。以往需要操作 ECS 实例内部的系统时,要先通过公网或跳板机或远程桌面登入实例,而后在实例内执行一些文件或命令操作。如果使用 ECS 云助手,不但免除公网环境的限制需求,而且能通过阿里云 OpenAPI 完全自动化地实现文件发送与执行命令,适用于在 ECS 实例内部署与更新应用、监控系统或应用的运行状态、以及批量操作多个实例内部系统的这些场景。本篇内容适合于 ECS 系统运维人员。

关键词:ECS 运维、远程操作、自动化

演讲嘉宾简介:朱士松 (锐奇),阿里云技术专家,2016 年加入阿里云,先后开发了 ECS 售卖约束系统、阿里云区块链服务,目前负责 ECS 云助手。

以下内容根据演讲视频以及PPT整理而成。 观看回放
更多课程请进入“玩转ECS详情页”了解

本次分享主要围绕以下四个方面:

一、云助手-功能简介
二、使用说明与演示
三、远程操作方式比较
四、云助手的适用场景

一、ECS云助手简介

云助手是阿里云ECS提供的一种自动化的远程操作方式,在阿里云官方的系统镜像中几乎都包含有云助手。

云助手的使用方法比较简单,只有两项主要功能:

1、向指定的实例发送命令,对应 API ecs:RunCommand
2、向指定的实例发送文件,对应 API ecs:SendFile

image.png

(一)通过 API 使用云助手

1、发送命令 (RunCommand)
发送命令的功能,由 ECS:RunCommand API 承载,API 的主要参数如下:

aliyun ecs RunCommand \
  --RegionId="cn-shenzhen" \
  --InstanceId.1="i-wz9g75dkmfp0ofsplnlr" \
  --InstanceId.2="i-wz9g75dkmfp0ofsplnls" \
  --Type="RunShellScript" \
  --CommandContent="yum install -y git" \
  --Timeout=60

• 参数:"RegionId" - 指的是目标 ECS 实例所在的地域
• 参数:"InstanceId - 可以指定该地域下的一个或多个 ECS 实例
• 参数:"Type" - 指的是脚本类型,目前支持三种:分别是
• Linux 上支持执行 Shell 脚本,类型值 RunShellScript
• Windows 上支持的 Batch 与 PowerShell 脚本,类型值 RunBatScript 与 RunPowerShellScript
• 参数:"CommandContent" - 指的是脚本内容,比如当前示例通过 yum 安装 git 客户端
• 参数:Timeout - 批的时脚本执行超时时间,默认60秒;
• 关于 ecs:RunCommand 的详细 API 文档: https://help.aliyun.com/document_detail/141751.html.
• 推荐使用 aliyun 命令行工具 (https://help.aliyun.com/document_detail/110244.html) 执行阿里云 API。

调用了 RunCommand 之后,将会创建一个任务,并返回 InvokeId 值;之后可使用 DescribeInvocationResults 轮论这次任务的执行进度与结果;关于 DescribeInvocationResults 说明,请参见文档:https://help.aliyun.com/document_detail/64845.html

2、发送文件 (SendFile)
发送文件的功能,由 SendFile API 承载,API 的主要参数如下:

aliyun ecs SendFile \
  --RegionId="cn-shenzhen" \
  --InstanceId.1="i-wz9g75dkmfp0ofsplnlr" \
  --InstanceId.2="i-wz9g75dkmfp0ofsplnls" \
  --TargetDir="/root/.ssh/" \
  --Name="authorized_keys" \
  --Content="ssh-rsa AAAA...."

• 其他参数:RegionId & InstanceId - 指定实例所在地域和实例 ID 列表
• 参数:TargetDir 与 Name - 分别指定文件在实例上的目录名与文件名
• 参数:Content - 指定文件的内容
• 关于 ecs:SendFile 的详细 API 文档:https://help.aliyun.com/document_detail/184118.html

调用了 SendFile 之后,也将会创建一个任务,并返回 InvokeId ;之后可使用 DescribeSendFileResults 轮论这次任务的执行进度与结果。

了解了以上两对 API,也就学会云助手的主要用法,那么就可以在脚本或代码中使用。

(二)通过控制台使用云助手

如果想通过阿里云控制台使用云助手,可以从这个两个位置找到“云助手”控制台:
1、一是 Ecs 控制台 https://ecs.console.aliyun.com/ 左侧的“运维与监控” 服务列表这里

image.png

2、二是 Ecs “实例详情”页面的“本实例远程命令”

image.png

二、使用实践示例

接下来,咱们通过一个实践,体验一下云助手的使用,实现一项常规的任务:将一个应用的代码自动部署到 ECS 服务器上,并且当代码更新时立即更新服务。

(一)准备的资源

将要使用的资源如下:

1、应用代码:这里使用示例代码是 spring-boot 的官方示例程序 gs-rest-service 并稍有修改。

代码库地址 https://github.com/treesong/gs-rest-service

2、代码编译机:一台 ECS,将安装 JDK + git + maven, 负责下载和编译代码并打包;
3、Web服务器:三台 ECS,负责将安装 JRE,部署代码包,并启动 Web 应用;
4、负载均衡:一个 SLB,后端挂载这三台Web应用服务器,并对外提供服务;

(二)操作的步骤

操作步骤如下:
1、创建虚拟专有网络(VPC)与虚拟交换机

如果您已经拥有虚拟专有网络与虚拟交换机,可以跳过本步骤。

转到 VPC 控制台 (https://vpc.console.aliyun.com/vpc/cn-shenzhen/vpcs/new), 创建 VPC 实例及交换机

image.png

新建 VPC 的设置项:

• VPC 名称:vpc-for-assist-demo——IPv4 网段:192.168.0.0/16
• 交换机名称:vsw-for-axt-demo-d——IPv4 网络:192.168.0.0/29
• 其他选项:可使用默认值,或按需自由设置

注:在实际应用中,您也可以根据网络规划需要,选择使用其他网段

2. 创建一台 ECS 实例,用作编译服务器
新建 ECS 的设置项:

• 数量:1 台
• 镜像: CentOS,或其他 Linux 类型
• 网络:专有网络,并选择上一步创建的专有网络(vpc-for-assist-demo)与交换机(vsw-for-axt-demo-d)
• 公网IP:不需要
• 实例名称:code-compile-server
• 主机名称:code-compile-server
• 其他选项:可使用默认值,或按需自由设置

确认订单,以创建 ECS 实例。

image.png

image.png

3、另创建两台 ECS 实例,用作应用服务器
在现有的 VPC 实例 vpc-for-assist-demo 下,另创建一个新虚拟交换机实例,设置项:

• 交换机名称:vsw-for-axt-demo-e
• IPv4 网络:192.168.1.0/29
• 其他选项:可使用默认值,或按需自由设置

在新的虚拟交换机实例 (vsw-for-axt-demo-e) 下,创建 3 台 ECS 作为应用服务器,设置项:

• 数量:2 台
• 镜像:CentOS,或其他 Linux 类型
• 网络:专有网络,并选择上一步创建的专有网络实例与交互机(vsw-for-axt-demo-e)
• 公网IP:不需要
• 实例名称:webapp-server-
• 主机名称:webapp-server-
• 有序后辍:是,为 实例名称 和 主机名 添加有序后缀
• 其他选项:可使用默认值,或按需自由设置

确认订单,以创建 ECS 实例。

4、配置 VPC 网络以允许 ECS 实例出公网
因需要从公网上下载源代码等,因此需要允许 ECS 实例 code-compile-server 可访问公网,需要:

• 配置 vpc-for-assist-demo 的 NAT 网关
• 为该 NAT 网关创建 SNAT 条目,为 vsw-for-axt-demo-d 绑定一个公网 IP

(略过该步骤的详细过程,如需详细步骤,请参考 VPC 的使用资料)

5、编译机的初始化
转到云助手的控制台 (https://ecs.console.aliyun.com/#/cloudAssistant/region/cn-shenzhen)
5.1 编译机的初始化
创建以下命令,以初始化编译机(code-compile-server),作用

• 安装 JDK
• 安装 GIT
• 下载 Maven 并配置 settings.xml
• 生成访问 github.com 的密钥对

image.png

• 命令名称:1-init-compiler-server.sh
• 命令类型:Shell
• 超时时间:600(秒)
• 命令内容:(如下,或从 https://github.com/treesong/aliyun-assist-demo 获得)

## 阿里云-云助手使用演示
## [编译机]
## 检测/安装 JDK
java -version
if [ $? = 127 ]; then
    yum install -y java-1.8.0-openjdk-devel
    echo "install java done"
    java -version
fi;
printf "_____\n\n"
## 检测/安装 GIT
git --version
if [ $? = 127 ]; then
    yum install -y git
    echo "install git done"
fi;
printf "_____\n\n"
## 检测/下载 Maven
cd /root
if [ ! -d "/root/apache-maven" ]; then
    wget -q https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip
    unzip -q -o -d ./ ./apache-maven-3.6.3-bin.zip
    ln -s /root/apache-maven-3.6.3/ /root/apache-maven
fi;
export PATH=/root/apache-maven/bin/:$PATH
mvn --version
printf "_____\n\n"
## 更新 maven settings.xml 配置
echo '
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <localRepository>/root/.m2/repository</localRepository>
    <mirrors>
        <mirror>
            <id>aliyun</id>
            <name>aliyun Maven</name>
            <mirrorOf>central</mirrorOf>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </mirror>
        <mirror>
            <id>CN</id>
            <name>OSChina Central</name>
            <url>http://maven.oschina.net/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
    </mirrors>
    <profiles></profiles>
</settings>
' > /root/apache-maven/conf/settings.xml
## 生成 git 密钥
if [ ! -f "/root/.ssh/id_rsa_git" ]; then
    ssh-keygen -q -t rsa -b 4096 \
      -C "treesong@github.com" \
      -f /root/.ssh/id_rsa_git \
      -N ""
fi;
## 配置自动选择 git 密钥
echo "host github.com
    HostName github.com
    StrictHostKeyChecking no
    User treesong
    IdentityFile /root/.ssh/id_rsa_git
" > /root/.ssh/config
echo "===== beging pub key for git ====="
cat /root/.ssh/id_rsa_git.pub
echo "===== end pub key for git ====="

点击“保存”按钮,保存该条命令。

image.png

如上图,已经创建了该条命令,继续“执行”,并选择 ECS 实例 code-compile-server

image.png

等待执行完成

image.png

命令执行所生成的 git 公钥,请用来添加在您的 git 帐号中,以允许从主机 code-compile-server 内从 github 上拉取应用代码 https://github.com/treesong/aliyun-assist-demo

5.2 生成 ssh 密钥对,以免密编译机分发应用包到应用服务器

注:您也可以将应用包上传到 OOS 中,并在应用服务器内下载应用包

创建以下命令,以初始化编译机(code-compile-server),作用:

• 生成一个 ssh 密钥对,以用于 scp 应用包到应用服务器

image.png

• 命令名称:2-generate-ssh-key.sh
• 命令类型:Shell
• 命令内容:(如下,或从 https://github.com/treesong/aliyun-assist-demo 获得)
• 使用参数:是

## 生成 ssh 密钥
if [ ! -f "/root/.ssh/id_rsa_ssh" ]; then
    ssh-keygen -q -t rsa -b 4096 \
      -C "ruiqi@alibaba-inc.com" \
      -f /root/.ssh/id_rsa_ssh \
      -N ""
fi;
echo "===== begin pub key for ssh ====="
cat /root/.ssh/id_rsa_ssh.pub
echo "===== end pub key for git ====="
echo ""
done;

选择实例 code-compile-server 并执行该脚本,执行完成后将显示新生成的 id_rsa_ssh.pub 文件内容。

6. 应用服务器的初始化

6.1 添加 ssh 免密登录公钥到应用服务器 (webapp-server-*)

• 添加 ssh 免密登录公钥 (公钥内容来自上一步生成的 id_rsa_ssh.pub 文件内容)

image.png

• 命令名称:3-append-ssh-keys
• 命令类型:shell
• 命令内容:(如下,或从 https://github.com/treesong/aliyun-assist-demo 获得)
• 使用参数:是

if [ -f "/root/.ssh/authorized_keys" ]; then
    ssh_key=$(cat /root/.ssh/authorized_keys | grep "ruiqi@alibaba-inc.com")
    
    if [ -z "${ssh_key}" ]; then
        echo "{{ssh-rsa-pub}}" >> /root/.ssh/authorized_keys
    fi;
else
    echo "{{ssh-rsa-pub}}" > /root/.ssh/authorized_keys
fi;
echo "===== content of ssh-rsa-pub ====="
cat /root/.ssh/authorized_keys | grep "ruiqi@alibaba-inc.com"
mkdir -p /root/webapp

执行命令 3-append-ssh-keys.sh,选项:

• 参数 ssh-ras-pub:内容填入 2-generate-ssh-key 生成与打印的 id_rsa_ssh.pub 文件内容
• 目标实例:选择全部的 webapp-server-* 实例

image.png

7、编译与分发代码

7.1 拉取最新的代码,编译打包,并分发到应用服务器

image.png

创建命令选项:

• 命令名称:4-pull-build-deploy-code
• 命令类型:Shell
• 命令内容:(如下,或从 https://github.com/treesong/aliyun-assist-demo 获得)
• 使用参数:是

## [编译机]
## 下载源代码
if [ ! -d "/root/source/gs-rest-service" ]; then
    mkdir -p /root/source && cd /root/source
    git clone git@github.com:treesong/gs-rest-service.git
fi;
## 拉取新代码
echo "> cd /root/source/gs-rest-service/complete"
cd /root/source/gs-rest-service/complete
echo "> git pull ..."
git pull && git checkout {{branch}}
printf "_____\n\n"
## 编译代码
export PATH=/root/apache-maven/bin/:$PATH
echo "> mvn clean package -Dmaven.test.skip=true"
mvn clean package -Dmaven.test.skip=true
printf "_____\n\n"
## 分发代码
if [ ! -z "{{vm-ip-list}}" ]; then
  for ip in {{vm-ip-list}}; do
    echo "> scp *.jar to $ip ..."
    scp -i /root/.ssh/id_rsa_ssh.pub ./target/rest-service-0.0.1-SNAPSHOT.jar root@$ip:/root/webapp/
  done;
  echo "copy files done."
else
  echo "copy files skip."
fi;

执行命令选项:

• 命令参数:
• branch: 等部署的代码分支
• vm-ip-list:应用服务器 IP 列表
• 目标实例:代码服务器(code-compile-server)

image.png

8、启动/重启 Web 应用

在 webapp-server-* 上启动应用

• 检查与安装 JRE
• 停止 WebApp
• 启动 WebApp

image.png

创建命令选项:

• 命令名称:5-start-webapp-server
• 命令类型:Shell
• 命令内容:(如下,或从 https://github.com/treesong/aliyun-assist-demo 获得)

## 阿里云-云助手使用演示
## [应用服务器]
## 安装 JRE/JDK
java -version
if [ $? = 127 ]; then
    echo "install jdk ..."
    yum install -y java-1.8.0-openjdk-devel
    echo "install jdk done"
    java -version
fi;
printf "_____\n\n"
## 停止 WebApp
pid=$(jps -l | grep jar | cut -d' ' -f 1)
if [[ $pid =~ ^[0-9]+$ ]]; then
   jps -l | grep jar 
   echo "stop java process $pid ..."
   kill -9 $pid
fi;
pid=$(jps -l | grep rest | cut -d' ' -f 1)
if [[ $pid =~ ^[0-9]+$ ]]; then
   jps -l | grep rest
   echo "stop java process $pid ..."
   kill -9 $pid
fi;
printf "_____\n\n"
## 启动 WebApp
if [ -f  "/root/webapp/rest-service-0.0.1-SNAPSHOT.jar" ]; then
    echo "> ls -l1 --color "/root/webapp""
    ls -l1 --color "/root/webapp"
    printf "_____\n\n"
    
    echo "start java rest webapp ..."
    /bin/bash -c "java -jar /root/webapp/rest-service-0.0.1-SNAPSHOT.jar > /dev/null &"
    for i in {1..60}; do
        echo "[$i] > curl -s http://localhost:8080/ping"
        msg=$(curl -s http://localhost:8080/ping)
        if [ "$msg" = "pong" ]; then
            echo "[$i] > $msg"
            pid=$(jps -l | grep rest | cut -d' ' -f 1)
            echo "java webapp started, pid: $pid"
            break;
        fi;
        echo "wait for java webapp starts ...."
        sleep 2
    done;
else 
    echo "file not exists: /root/webapp/rest-service-0.0.1-SNAPSHOT.jar"
    exit 127
fi;

执行命令选项:

• 目标实例:选择全部的 webapp-server-*

image.png

执行命令,并等待执行完成

image.png

9、挂载应用服务器到 SLB,以供互联网访问

image.png

操作小结
通过以上的演示,大家可以看到,全程不需要连接进入实例系统内部;通过使用云助手发送脚本命令,就可以完成实例内部的变更运维操作;
因此,你可以通过阿里云 OpenAPI 自动化的实现以上操作,并且当代码有更新时,自动触发该系列操作,实现自动更新应用。可以访问 https://github.com/treesong/aliyun-assist-demo 获得更多的自动化脚本,或使用阿里云提供的相关应用部署服务。

三、远程操作方式比较

image.png

相比于其他常用登入系统的方式,例如 Linux SSH 或 Windows 的 RemteDesktop ,云助手的以下多个方面的个方面优势:

1. 免公网流量:
云助手的功能实现,是通过控制系统来完成。所以不需要让实例暴露在公网上,即有利于实例的安全,也节省了公网流量费用。

2. 免登入系统:
登入系统需要有系统的帐号用户与密码,或者私钥;而密码与私钥的使用与管理上有许多不便。云助手一切操作使用都基于阿里云帐号AK,有云上强大的帐号/AK 管理体系。

3. 有权限控制:
通过 RAM 角色与权限的管理,所以做到严格的控制子帐号是否执行特定操作的能力,可以事前防止不被授权的操作。

4. 有操作审计:
同样,云上的 API 操作都有 ActionTrail 记录,可以被事后审计。

5. 支持自动化:
这也是云助手最显著的优势,有了 API 就可以很容易的跟其他系统集成,以实现云上运维的

四、云助手的适用场景

image.png

通过上的介绍与演示,咱们可以体会到,借助云助手,能够自动化的处理 ECS 实例创建后的多个使用环节,例如:

• 系统与应用的安装配置
• 服务程序的部署与更新
• 系统的监控与数据采集
• 系统的问题诊断与修复

阿里云也有在这些方面上继续丰富的服务,给大家的工作来带来更多的便利。

结束& 感谢

感谢大家的收看,今天的分享就到这里,欢迎持续关注阿里云-玩转 ECS 系列视频/文章。


关注百晓生,笑谈云计算

二维码-三分之一.gif

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
存储 弹性计算 运维
端到端的ECS可观测性方案,助力云上业务安全稳定
本文介绍了云原生时代保障业务系统可靠性的方法和挑战,重点探讨了阿里云ECS在提升业务稳定性、性能监控及自动化恢复方面的能力。文章分为以下几个部分:首先,阐述了业务可靠性的三个阶段(事前预防、事中处理、事后跟进);其次,分析了云上业务系统面临的困难与挑战,并提出了通过更实时的监测和自动化工具有效规避风险;接着,详细描述了ECS实例稳定性和性能问题的解决方案;然后,介绍了即将发布的ECS Lens产品,它将全面提升云上业务的洞察能力和异常感知能力;最后,通过具体案例展示了如何利用OS自动重启和公网带宽自适应调节等功能确保业务连续性。总结部分强调了ECS致力于增强性能和稳定性的目标。
|
2月前
|
弹性计算 监控 容灾
阿里云ECS提供强大的云上灾备解决方案,通过高可用基础设施、多样的数据备份方式及异地灾备服务,帮助企业实现业务的持续稳定运行
在数字化时代,企业对信息技术的依赖加深,确保业务连续性至关重要。阿里云ECS提供强大的云上灾备解决方案,通过高可用基础设施、多样的数据备份方式及异地灾备服务,帮助企业实现业务的持续稳定运行。无论是小型企业还是大型企业,都能从中受益,确保在面对各种风险时保持业务稳定。
53 4
|
4月前
|
存储 弹性计算 运维
自动化监控和响应ECS系统事件
阿里云提供的ECS系统事件用于记录云资源信息,如实例启停、到期通知等。为实现自动化运维,如故障处理与动态调度,可使用云助手插件`ecs-tool-event`。该插件定时获取并转化ECS事件为日志存储,便于监控与响应,无需额外开发,适用于大规模集群管理。详情及示例可见链接文档。
|
4月前
|
弹性计算 JSON 运维
阿里云ECS实例运维属性-如何控制实例的宕机表现
介绍如何通过运维属性指定阿里云ECS的宕机运维表现等
|
5月前
|
弹性计算 JSON 开发工具
"一键玩转阿里云ECS!Python大神揭秘:如何自动化创建镜像并跨地域复制,让你的云资源部署秒变高效达人!"
【8月更文挑战第14天】本文介绍如何使用Python与阿里云SDK自动化管理ECS镜像,包括创建镜像及跨地域复制,以优化云资源部署。首先安装`aliyun-python-sdk-ecs`并配置阿里云凭证。接着,通过Python脚本实现镜像创建与复制功能,简化日常运维工作并增强灾难恢复能力。注意权限及费用问题。
106 2
|
6月前
|
弹性计算 网络安全 Docker
云服务器 ECS产品使用问题之如何实现自动化管理
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
6月前
|
弹性计算 运维 Kubernetes
阿里云ECS与混合云策略结合,提供云上云下无缝对接,提升业务灵活性和运维效率。
【7月更文挑战第3天】阿里云ECS与混合云策略结合,提供云上云下无缝对接,提升业务灵活性和运维效率。ECS支持多种计费模式和先进架构,保证低延迟计算。混合云融合公有云灵活性与私有云安全,实现资源最优配置。通过VPC互通、应用迁移、数据同步实践,确保安全合规,助力企业数字化转型。阿里云服务展示技术实力,支持企业在混合云时代抓住机遇。
174 3
|
8月前
|
弹性计算 运维 监控
【阿里云弹性计算】ECS实例的生命周期管理:阿里云自动化工具与策略介绍
【5月更文挑战第29天】阿里云提供自动化工具和策略管理ECS实例生命周期,如资源编排服务(ROS)实现一键部署,通过模板定义实例配置;自动化运维服务(OOS)执行自动化运维任务;弹性伸缩策略动态调整实例数量;定时启动/停止策略节省成本;监控告警策略确保业务连续性。通过这些工具和策略,企业可实现ECS实例的高效管理。
126 2
|
8月前
|
弹性计算 运维 监控
【阿里云弹性计算】云上自动化运维实践:基于阿里云ECS的自动化部署与管理
【5月更文挑战第27天】阿里云ECS自动化运维实践:借助ECS API和SDK实现自动化部署,通过Python示例展示实例创建。利用Ansible、Docker等工具进行配置管理和容器化,结合CloudMonitor和Auto Scaling实现监控告警及资源动态调整,提升运维效率和系统稳定性。
349 0
|
8月前
|
弹性计算 监控 容灾
【阿里云弹性计算】云上灾备解决方案:基于阿里云 ECS 的业务连续性策略
【5月更文挑战第25天】阿里云ECS提供强大的云上灾备解决方案,保障企业业务连续性。通过高可用基础设施、数据备份和异地容灾服务,应对自然灾害、硬件故障等突发事件。示例代码展示如何配置数据备份。企业应合理规划资源,定期演练,监控优化灾备系统。阿里云将持续创新,为企业提供更优质的灾备解决方案,支持各类型企业在数字化时代稳定运行,实现业务连续性。
396 0

相关产品

  • 云服务器 ECS