使用云助手自动化运维 ECS 实例

简介: 介绍与演示云助手的用法,包含:- 云助手的简介- 在 ECS 实例上手动执行命令的实例- 在 ECS 实例上安装 Jenkins 的实验

一、ECS云助手简介

云助手是阿里云ECS官方提供的自动化运维通道,通过云助手可免密码、免公网IP、免跳板机,实现在ECS实例上执行命令(Shell、Powershell和Bat)和发送文件等操作。典型的使用场景包括:安装卸载软件、启动或停止服务、部署应用、分发配置及执行一般的命令(或脚本)等。


在阿里云官方的 Windows 与 Linux 系统镜像中,都默认带有云助手,无需自行安装 (仅 Redhat 需要手动安装)。

您也可在私有云主机或其他云服务器上安装云助手 Agent,将此主机注册在您的阿里云帐户下,统一使用云助手进行主机运维。


云助手的主要功能项:

  • 向指定的实例发送命令,对应 API RunCommand
  • 向指定的实例发送文件,对应 API SendFile


您可通过阿里云 SDK、CLI 及控制台使用该功能,以下分别以阿里云 CLI 及控制台为例,介绍云助手的用法。


通过阿里云 CLI 使用云助手

关于 aliyun cli 命令行工具,请参见https://help.aliyun.com/document_detail/110244.html

发送命令 (RunCommand)

RunCommand 的常用参数如下:

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秒;
  • 其他:您也可以指定让脚本的定时运行、周期运行、或开机自动执行,完整参数详见 RunCommand API 文档: https://next.api.aliyun.com/document/Ecs/2014-05-26/RunCommand

执行 RunCommand 之后,将会创建一个异步任务,并立即返回 InvokeId 值;您可以通过 DescribeInvocations 来轮询该任务的进度及脚本输出结果,直到任务终结。

通过阿里云控制台使用云助手

以下有两个小实验,演示了云助手的使用。

  1. 首先,准备一或多台实验用的 Linux ECS 实例
  • 为了能够完成 Jenkins 的全部安全步骤,最好该实例带有公网 IP;
  • 推荐使用 CentOS、Debian、Ubuntu、Foedora 或 Aliyun Liunx。
  1. 导航到 ECS 控制台,打开“运维与监控”下的“云助手”

image.png


实验一:在实例上执行自定义脚本命令

  1. 点击按钮“创建/执行命令”,打开对话框"创建命令”

  • (可选) 在命令名称中输入“detect_linux_release_type.sh”
  • 在命令内容中,输入以下脚本:


#!/bin/bash# detect linux release typefunction get_linux_type {
type=""if which lsb_release > /dev/null 2>&1; thenecho"> lsb_release -a"        lsb_release -a;
type="$(lsb_release -a | grep "Distributor ID" | cut -d':' -f2 | xargs echo -n)"elif [ -f /etc/os-release ]; thenecho"> cat /etc/os-release"cat /etc/os-release;
type="$(cat /etc/os-release | grep -e "^ID=" | cut -d'=' -f2 | xargs echo -n)"elif [ -f /etc/system-release ]; thenecho"> cat /etc/system-release"cat /etc/system-release;
type="$(cat /etc/system-release | cut -d' ' -f1 | xargs echo -n)"elsetype="Unknown"fiecho-e"\n\e[0;45m$type\e[0m\n"}
get_linux_type


  1. 勾择一台或多台实例,然后点击“执行”按钮

  1. 查看命令执行进度及结果


实验二:在实例上安装 Jenkins 服务


  1. 切换到 ECS 云助手下的“公共命令” 标签页

“公共命令”列表,是由阿里云所提供的命令,你可直接使用,或复制修改后使用。

  1. 找到名为 "ACS-ECS-Application-Setup-Jenkins.sh" 的公共命令

  1. 点击该命令的 “执行”,并选择先前准备的 ECS 实例
  2. 查看执行进度,等待约 2~5分钟后,命令可执行完成

  1. 命令结束后,打开末尾所示的 Jenkins 服务地址

  1. 在实例上执行此 cat 命令,获得 Jenkins Admin 密码,并继续 Unlock Jenkins

cat /var/lib/jenkins/secrets/initialAdminPassword

  1. 实验步骤完成

实验三:将私有云主机托管到阿里云

您可以将私有云或其它云上的服务器,注册为阿里云托管实例。注册完成后,此在该主机上使用阿里云提供的多种在线服务,如云助手、运维编排、云效等多种服务,并且操作方式与阿里云 ECS 实例一致。


阿里云托管实例,支持 Windows 或 Linux 主机,进行该实验前需要有一台私有主机。


  1. 切换到云助手的“托管实例”页面

  1. 点击“创建激活码”,打开“创建激活码”
  2. 填写表单,然后点击“生成激活码”按钮

  1. 根据您的主机的系统类型,选择并复制生成的脚本,并在私有主机上执行
  2. 脚本执行完成后,返回到阿里云控制台,查看云助手的"托管实例" 列表

此处将显示您刚才注册的私有主机

  1. 试一试对该托管实例上“执行命令”!


二、远程操作方式对比


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

  1. 支持自动化:

使用云助手时,无需实例密码。可使用阿里云 Open API,或阿里云 CLI 编写程序或脚本,实现自动化的 ECS 实例运维操作。

  1. 免公网暴露:

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

  1. 安全易控制:

通过 RAM 角色与权限的管理,所以配置子帐号能否在指定实例上执行执行特定的操作,可以防止不被授权的操作。

  1. 有操作审计:

同样,云上的 API 操作都有 ActionTrail 记录,以及命令执行记录,可以被事后审计。

四、云助手的适用场景

借助云助手,能够实现自动化完成 ECS 实例的多种运维操作,例如:

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


阿里云也将继续提供更多的服务,为实例运维来带来更多的便利。

五、结束& 感谢

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


相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
阿里云操作系统控制台提供了便捷的服务器监控与管理功能,简化了运维工作。通过将多台服务器纳入统一监控平台,用户可以快速查看CPU、内存、磁盘和网络等关键资源的使用情况,避免了逐一远程连接查询的繁琐操作。此外,该工具支持自动化数据汇总,极大地方便了日报、周报和月报的编写。测试过程中,系统展示了良好的稳定性和响应速度,尤其在网络抖动和大文件健康状态测试中表现出色。整体体验流畅,显著提升了运维效率。 操作系统控制台地址:[点击访问](https://alinux.console.aliyun.com/)
139 26
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
536 79
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
192 14
GitHub 热门开源运维工具 Websoft9:如何实现服务器管理效率翻倍?
Websoft9 提供 200+ 开源应用一键部署,支持容器化隔离、GitOps 自动化和企业级安全防护,助力服务器管理效率提升 80%。
141 1
基于AI的自动化服务器管理:解锁运维的未来
基于AI的自动化服务器管理:解锁运维的未来
465 0
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
2142 16
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
基于AI的自动化事件响应:智慧运维新时代
基于AI的自动化事件响应:智慧运维新时代
297 11
|
6月前
|
阿里云服务器批量执行命令(系统运维管理oos)
阿里云【系统运维管理oos】批量执行详情
146 5
使用阿里云服务器自动搭建WordPress网站流程,超简单by系统运维管理OOS
本教程介绍如何使用阿里云服务器(ECS)和系统运维管理OOS自动搭建WordPress网站,支持Ubuntu、CentOS及Alibaba Cloud Linux等操作系统。前提条件包括ECS实例处于运行中、有公网IP且安全组已开启80端口。安装步骤简单:进入ECS快速购买控制台选择预装WordPress,确认下单后通过管理控制台查看实例详情并开放安全组端口。最后,通过实例公网IP访问,出现WordPress登录页即表示安装成功。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问