简介:
小李哥从今天开始将开启全新亚马逊云科技AWS云计算知识学习系列,适用于任何无云计算或者亚马逊云科技技术背景的开发者,让大家0基础5分钟通过这篇文章就能完全学会亚马逊云科技一个经典的服务开发架构。
我将每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿云开发/架构技术基础解决方案,帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS最佳实践,并应用到自己的日常工作里。本次我将介绍如何在亚马逊云科技上维护EC2网页服务器,利用system manager登录EC2服务器进行日常维护,并配置开机启动脚本。本方案架构图如下:
方案所需基础知识
什么是 Amazon EC2?
Amazon Elastic Compute Cloud(简称 EC2)是 Amazon Web Services(AWS)提供的一项弹性计算服务。通过 EC2,用户可以在云中启动和管理虚拟服务器(实例),这些实例可以根据需求进行扩展和缩减。EC2 提供了多种实例类型、操作系统选项和存储选项,适用于各种应用场景,包括网站托管、数据分析、机器学习和大规模计算等。
什么是 AWS Systems Manager?
AWS Systems Manager 是 AWS 提供的一项管理服务,旨在帮助用户统一管理和自动化 AWS 资源和本地服务器的操作任务。Systems Manager 提供了集成的用户界面,通过此界面可以查看和控制整个 AWS 基础设施,简化资源管理流程。
利用 AWS Systems Manager 维护 EC2 的优势
简化管理:
通过集中式控制台,用户可以统一管理所有 EC2 实例,简化日常运维任务,提高管理效率。
增强安全性:
使用参数存储功能安全管理敏感信息,自动化补丁管理确保系统始终保持最新,降低安全风险。
提高可见性:
实时监控和记录实例状态,帮助用户及时发现和解决问题,提高系统的可用性和稳定性。
自动化操作:
利用自动化功能创建和执行常见任务的工作流,减少手动操作,降低人为错误的风险。
批量操作:
通过运行命令功能,可以在多个实例上同时执行命令,简化大规模操作任务,提高运维效率。
合规管理:
通过状态管理功能,确保所有实例始终符合预定义的配置要求,帮助企业保持合规性。
本方案包括的内容:
1. 了解EC2实例不同的大小类型
2. 利用EC2的属性对服务器进行搜索
3. 通过System Manager SSH进入服务器
4. 通过命令行对EC2服务器运维管理
5. 通过控制台对EC2服务器运维管理
项目搭建具体步骤:
- 进入到亚马逊云科技控制台,搜索EC2服务后进入
- 如果希望为自己的EC2服务器获取合适的实例类型,我们可以进入到左侧的"Instances Type"部分进行查看。
- 如果我们想进入到服务器中,我们可以选中服务器,点击界面上方的Connect
- 再点击第二个选项Session Manager,并点击Connect通过SSH连接进入
- 进入到Amazon Linux(基于RedHat的Distribution)的命令行里,运行以下命令进行基本的维护操作。
在命令中可以测试以下Linux内的常见命令行操作。
bash
# 切换到超级用户
sudo -i
# 切换到指定目录
cd ../home/ec2-user/sample_app
# 列出目录中的文件和子目录
ls
# 实时查看日志文件的末尾内容
tail -lf aws_compute_solutions.log
# 常见的 Bash 服务器维护命令及备注:
# 更新包列表并升级系统中的所有包
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
sudo yum update -y # CentOS/RHEL
# 查看系统状态和资源使用情况
top # 显示系统任务和资源使用情况
htop # 交互式显示系统任务和资源使用情况,需要先安装:sudo apt install htop 或 sudo yum install htop
# 检查磁盘空间使用情况
df -h # 显示文件系统的磁盘空间使用情况
# 检查目录大小
du -sh /path/to/directory # 显示指定目录的大小
# 查看系统日志
journalctl -xe # 显示系统日志,特别是错误信息
tail -f /var/log/syslog # 实时查看系统日志(Ubuntu/Debian)
tail -f /var/log/messages # 实时查看系统日志(CentOS/RHEL)
# 管理服务
sudo systemctl start service_name # 启动服务
sudo systemctl stop service_name # 停止服务
sudo systemctl restart service_name # 重启服务
sudo systemctl status service_name # 查看服务状态
# 检查网络连接
ping google.com # 检查与外部服务器的连接
netstat -tuln # 显示所有监听端口
ss -tuln # 显示所有监听端口(现代系统上更推荐)
# 管理用户
sudo adduser username # 添加新用户
sudo passwd username # 修改用户密码
sudo usermod -aG groupname username # 将用户添加到组
# 监控系统资源
free -h # 显示系统内存使用情况
vmstat 5 # 每5秒显示一次系统性能
# 管理文件权限
chmod 755 filename # 设置文件权限
chown user:group filename # 更改文件所有者和所属组
# 压缩和解压文件
tar -czvf archive.tar.gz /path/to/directory # 压缩目录
tar -xzvf archive.tar.gz # 解压归档文件
- 开机启动脚本则在EC2的Instance Settings的User Data中配置。
7. 在EC2控制台中,点击Instance State,对EC2实例进行关闭/开启/重启
- 需要注意的是,在EC2实例停止后,才能对EC2的部分配置进行修改,正在启动过程中部分参数(如实例类型大小)是不能修改的。
以上就是在亚马逊云科技上利用System Manager对于服务器进行管理的全部步骤。欢迎大家关注0基础5分钟上手AWS系列,未来获取更多国际前沿的AWS云开发/云架构方案!