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


相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
2天前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
104 78
|
3月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
101 2
|
22天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
134 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
1月前
|
运维 Ubuntu 应用服务中间件
自动化运维之路:使用Ansible进行服务器管理
在现代IT基础设施中,自动化运维已成为提高效率和可靠性的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化日常的服务器管理任务。我们将一起探索如何配置Ansible、编写Playbook以及执行自动化任务,旨在为读者提供一条清晰的路径,从而步入自动化运维的世界。
|
29天前
|
运维 网络安全 Python
自动化运维:使用Ansible实现批量服务器配置
在快速迭代的IT环境中,高效、可靠的服务器管理变得至关重要。本文将介绍如何使用Ansible这一强大的自动化工具,来简化和加速批量服务器配置过程。我们将从基础开始,逐步深入到更复杂的应用场景,确保即使是新手也能跟上节奏。文章将不包含代码示例,而是通过清晰的步骤和逻辑结构,引导读者理解自动化运维的核心概念及其在实际操作中的应用。
|
30天前
|
运维 Ubuntu 网络协议
自动化运维:使用Ansible进行服务器配置管理
在现代IT架构中,自动化运维已成为提升效率、减少人为错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和标准化服务器的配置管理过程。通过具体的代码示例和操作步骤,我们将展示如何快速部署应用、管理配置以及自动化日常任务,从而确保环境的一致性和可靠性。
|
2月前
|
运维 安全 Ubuntu
自动化运维:使用Ansible进行服务器配置管理
在现代IT基础设施中,自动化运维是确保高效、稳定和安全服务的关键。本文将深入介绍如何使用Ansible这一开源工具来简化服务器配置管理工作,从基础安装到高级应用,我们将一步步展示如何通过Ansible Playbooks实现自动化部署和维护,旨在帮助读者构建更加灵活和可扩展的运维体系。
47 7
|
2月前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
2月前
|
运维 应用服务中间件 调度
自动化运维:使用Ansible实现服务器批量管理
【10月更文挑战第26天】在当今快速发展的IT领域,自动化运维已成为提升效率、降低人为错误的关键技术手段。本文通过介绍如何使用Ansible这一强大的自动化工具,来简化和加速服务器的批量管理工作,旨在帮助读者理解自动化运维的核心概念和实践方法。文章将围绕Ansible的基础使用、配置管理、任务调度等方面展开,通过实际案例引导读者深入理解自动化运维的实现过程,最终达到提高运维效率和质量的目的。