使用云助手自动化运维 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 系列视频/文章。


相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
10月前
|
存储 人工智能 容灾
阿里云服务器2核8G、4核16G、8核32G配置热门实例性能对比与场景化选型指南
2核8G/4核16G/8核32G配置的阿里云服务器在阿里云活动中目前有经济型e、通用算力型u1、通用型g7、通用型g8y和通用型g9i五种实例可选,目前2核8G配置选择u1实例活动价格652.32元1年起,4核16G月付选择经济型e实例最低89元1个月,8核32G配置160元1个月起,本文将为大家解析经济型e、通用算力型u1、通用型g7及通用型g8y实例,帮助用户根据自身需求合理选择最适合的实例规格和配置。
|
9月前
|
存储 弹性计算 安全
阿里云渠道商:新手如何选择阿里云ECS实例?
阿里云ECS凭借弹性扩展、稳定可靠与安全防护,助力企业高效上云。本文系统解析实例规格选择关键因素:业务场景匹配、性能评估、成本优化、地域部署与扩展规划,结合计费模式与实际需求,提供科学选型建议,助您精准匹配资源,提升云上效能。(238字)
|
10月前
|
存储 弹性计算 网络协议
阿里云服务器ECS通用算力型u2a实例,CPU采用AMD EPYC处理器,睿频最高3.7 GHz
阿里云ECS通用算力型u2a实例搭载AMD EPYC处理器,睿频高达3.7GHz,基于CIPU架构,网络与存储突发带宽最高25Gbps,I/O性能强、延迟低。支持多种云盘及IPv4/IPv6,适用于中小型数据库、APP服务等场景,性价比高,官网价降低9%-22%,是中小企业上云优选。
1214 0
|
10月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
837 0