云计算aws知识
WinSCP 上传步骤(必考、必背)
1. 打开 WinSCP
2. 新建会话:
- 文件协议:SFTP
- 主机名:EC2 公网 IP
- 端口号:22
- 用户名:
- Amazon Linux: ec2-user
- Ubuntu: ubuntu
3. 点 高级 → SSH → 认证
- 私钥文件:选你的 .ppk 密钥
4. 点 登录
5. 左边是你电脑,右边是服务器
6. 找到要传的文件,直接拖到右边 → 上传成功
比赛最常传的 2 个文件
1. 网页文件
传到:
/var/www/html/
2. server.ini
传到题目给的路径,一般是:
/home/ec2-user/
或项目目录里
比赛里最容易丢分的 3 个坑
1. 协议一定要选 SFTP,不是 FTP
2. 用户名别写错: ec2-user 或 ubuntu
3. 安全组必须开放 22 端口
一、背景

- 按键盘:Win + R
- 输入:mstsc
- 按回车 → 远程桌面连接 就出来了
- 左下角搜索框输入:远程桌面连接
- 点开就是 RDP 工具
- 输入 EC2 的 公网 IP
- 点 连接
- 输入 用户名 + 密码
- 点 是 / 允许 就进去了
利用windows远程连接rdp连接方法
1.子网 安全组 vpc 秘钥(.pem获取后面远程连接的密码用)实例(windows)安全组(包括rdp 我的ip ec2 8001)



密码通过.pem上传秘钥获得的
2.创建实例

t3.micro



密码是.pem上传之后获得的
你是一名云计算运维工程师,现在需要为某电商企业构建交易网站(LAMP架构)。通过多次沟通交流,最后此单位决定在AWS云的中国区域中部署此网站。现在,需要为客户实现高可用性和高弹性的架构,同时正确部署LAMP应用。已知的要求有:
- 将基于LAMP架构的应用上线运营,对外发布的网站的端口为8001
- 创建全新的VPC及网络架构
- 使用负载均衡、弹性伸缩、EC2、Amazon Aurora等组件构建资源栈
- 实现配置弹性伸缩
- 系统会根据需要,自动添加、配置新的实例,无须手动操作
- 通过使用子网、安全组等技术保护业务的安全
- 通过多可用区部署、群集技术等避免单点故障
- 通过其它必要的技术来应对数据损坏、丢失等意外事件的发生
- EC2实例类型为t2.micro,8GB磁盘
- RDS为Amazon Aurora,db.t3.medium,磁盘80GB
- 为减少Web应用的压力, CSS、图片等文件放置到公开的S3中
- 用户上传的文件需要放置到EFS存储中
- 架构图中组件不能有单点故障
- 设置必要的资源标签
- 部署流程
- VPC及子网
- NAT Gateway
- DB
- EC2
- 部署应用
- EFS
- S3
- AMI
- ELB
- Auto Scaling
- Cloud Watch
- 部署
- VPC
- VPC及子网概念
通过Amazon Virtual Private Cloud (Amazon VPC),可以将AWS资源启动到你定义的虚拟网络中。这个虚拟网络与在传统中心中运行的传统网络极其相似。Amazon VPC 是 Amazon EC2 的网络层,初学者需要掌握以下主要概念:
1、Virtual private cloud (VPC):仅适用于你的AWS账户的虚拟网络。
2、子网:你的 VPC 内的一个 IP 地址范围。
3、路由表:一组称为“路由”的规则,它们用于确定将网络流量发送到何处。
4、互联网网关:连接到VPC的网关,用于启用VPC中的资源与互联网之间的通信。
- 网络规划
VPC名称:vpc
VPC CIDR:10.0.0.0/16
|
Public1 |
App1 |
Data1 |
|
10.0.1.0/24 |
10.0.2.0/24 |
10.0.3.0/24 |
|
Public2 |
App2 |
Data2 |
|
10.0.11.0/24 |
10.0.12.0/24 |
10.0.13.0/24 |
- 创建VPC、子网、NAT、GateWay
1、点击Create VPC

2、如下创建VPC及子网
- 选择要创建的资源:VPC、子网等
- 名称标签自动生成:vpc
- IPv4 CIDR块:10.0.0.0/16
- 可用区(AZ):2个
- 自定义可用区:第一个可用区为us-east-1a;第二个可区为us-east-1b
- 公有子网的数量:2个
- 私有子网的数量:4个
- NAT网关:每个可用区1个
- VPC终端节点暂时不设置,选择无
- 其余默认

3、检查修改路由表
- 修改VPC、路由表及各子网名称



- 两个Public子网路由指向IGW


- App子网指向各自的NAT网关


- 创建一个local路由表,删除自动创建的两个Data路由表,使两个Data子网指向local路由
1)创建local 路由表:

2)删除自动创建的两个Data路由表:略(编辑两个路由表的子网关联,取消关联即可删除)
3)使两个Data子网指向local路由表:编辑local路由表的子网关联,将Data子网添加即可

- 创建数据库
- 创建安全组
- 创建ec2实例的安全组备用
- 安全组名称:ec2
- 描述:ec2
- VPC:选择之前创建的vpc-vpc
- 入站规则:规则一,选择“ssh”类型,源选择“我的IP”;规则二,选择“自定义TCP”,端口选择计划对外开放的“8001”端口,源选择“任何位置-IPv4”(最好不选我的ip,都选ipv4)
- 出站规则:默认

- 创建数据库安全组
- 安全组名称:rds
- 描述:rds
- VPC:选择之前创建的vpc-vpc
- 入站规则:类型为“MYSQL/Aurora”,源为刚刚创建的“ec2”安全组
- 出站规则:默认

- 创建数据库的子网组
- 名称:db
- 描述:db
- VPC:选择之前创建的“vpc-vpc”
- 添加子网:选择创建VPC时选择的可用区,子网选择两个Data子网

- 创建数据库
- 名称:rds
- 凭证设置:用户名自己设置,这里设置:“admin” ,密码自己设置,这里设置:“zhangaoyun”
- 数据库实例类:可突增类
- 多可用区部署:在不同的可用区中创建Aurora副本或读取器节点
- VPC:选择之前创建的“vpc-vpc”
- 子网组:刚刚创建的“db”子网组
- 安全组:“rds”安全组
- 其他默认

- ec2
- 创建密匙对

- 创建ec2实例
- 名称;test
- 系统镜像:Amazon Linux aws
- 实例类型:t2.micro
- 密匙对:key58
- VPC:选择之前创建的“vpc-vpc”
- 子网:Public1
- 自动分配公有IP:启用
- 安全组:“ec2”安全组
- 其他配置默认

(四)部署应用
1、使用PuTTY连接实例


- 登录ec2-user

- 为root用户添加密码,切换到root用户,修改/etc/ssh/sshd_conf文件
Sudo passwd root
Su root
PermitRootLogin yes
PasswordAuthentication yes
![]()

- 安装php、php-mysql、mariadb、httpd(LAMP)
- yum install -y php httpd
yum install -y mariadb105-server mariadb105
yum install -y php-mysqlnd
![]()
- 开启httpd:systemctl start httpd
- 设置开机自启动:systemctl enable httpd
5、修改http配置文件,修改端口:vi /etc/httpd/conf/httpd.conf
Listen 80 修改为 Listen 8001


6、下载test项目包: wget https://tomtrain.s3.cn-northwest-1.amazonaws.com.cn/bookstore2.zip /var/www/html/
解压:unzip bookstore2.zip
下载并部署 Bookstore 项目:cd /var/www/html/ 进入apache目录
下载提供的项目包:wget https://tomtrain.s3.cn-northwest-1.amazonaws.com.cn/bookstore2.zip (取消后面zip的空格)
若显示没有找到:yum install -y wget 先下载一下 wegt
解压压缩包:yum install -y unzip
unzip -o bookstore2.zip(取消后面zip的空格)
若有需要可修改文件的权限:chown -R apache:apache /var/www/html/
chmod -R 755 /var/www/html/
验证是否成功:http://43.192.127.204:8001/test/index.php(ip根据需要来)

- 浏览器输入实例的公有IP端口为8001,测试Web服务使用正常
http://43.192.127.240:8001/test/index.php

- 登录数据库写入节点,写入数据


mysql -h db.cluster-cbemnwdscb9y.rds.cn-northwest-1.amazonaws.com.cn -u admin -p
- 创建bookstore数据库:create database bookstore;
- 进入bookstore数据库:use bookstore;
- 创建books表:
CREATE TABLE `books` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`price` decimal(10,2) NOT NULL,
`author` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;
- 插入数据:
INSERT INTO `books` VALUES (1, 'PHP项目实践', 56.00, '明');
INSERT INTO `books` VALUES (2, 'Java基础', 88.00, '强');
INSERT INTO `books` VALUES (3, 'Python数据分析', 66.00, '飞');
- 检查创建是否正确:select * from books;

- 修改php文件:vi /var/www/html/index.php


- vi /var/www/html/test/index.php (修改define(,)‘’,‘’ 后面的内容
- http://43.192.127.204:8001/test/index.php

- 下载压力测试文件包到/var/www/html下:
wget https://tomtrain.s3.cn-northwest-1.amazonaws.com.cn/cpuload.zip /var/www/html
- 解压:Unzip cpload.zip
- 浏览器输入:实例IP:8001/status.php
下载压力测试文件包到/var/www/html下:
cd /var/www/html/
wget https://tomtrain.s3.cn-northwest-1.amazonaws.com.cn/cpuload.zip
解压包 unzip -o cpuload.zip
http://43.192.127.204:8001/status.php

- EFS
- 创建EFS安全组
- 安全组名称:efs
- 描述:efs
- VPC:vpc-vpc
- 入站规则:类型为“NFS”;源为“ec2安全组”
- 其余默认

- 创建EFS
- 点击创建EFS
- 选择自定义

- 名称:EFS
- VPC:vpc-vpc
- 可用区:创建子网时选择的两个可用区
- 子网:两个Data子网
- 安全组:efs安全组
- 其它默认

- 配置EFS
- 连接实例,安装amazon-efs-untils:yum install -y amazon-efs-utils
yum install -y amazon-efs-utils
(2)创建EFS的挂载目录:mkdir /efs
(3)挂载EFS:sudo mount -t efs -o tls efs-id /efs
注:点击创建好的EFS,点击右上角的连接可找到“使用EFS挂载帮助程序”,注意命令中挂载目录是否需要更改,这里是使用的挂载目录是“/efs”。

(4)设置EFS开机自动挂载:vi /efs/fstab
注:用户指南中可找到命令,例如:fs-0b342a43a636748c1:/ /efs efs _netdev,tls 0 0


yum install -y amazon-efs-utils
mkdir /efs
chown apache:apache /efs
chmod 755 /efs
sudo mount -t efs -o tls fs-048d1ecd9b2ba20f6:/ /efs
df -h
df -h | grep efs
vi /etc/fstab
fs-0788d79956c12f0af.efs.cn-northwest-1.amazonaws.com.cn:/ /efs efs _netdev,tls, 0 0
mount -a
vi /etc/httpd/conf.d/efs.conf
Alias "/efs" "/efs"
<Directory "/efs">
Require all granted
</Directory>
systemctl restart httpd
cd /var/www/html/test/
ls -l
cp 2.jpg /efs/
cd /var/www/html/test/efsimags
http://43.192.127.204:8001/efs/2.jpg
- 创建一个efs.conf: vi /etc/httpd/conf.d/efs.conf
Alias "/efs" "/efs"
<Directory "/efs">
Require all granted
</Directory>
- 将2.jpg放到/efs目录下:cp /var/www/html/efsimags/2.jpg /efs/
- 测试是否成功

(六)AMI
1、使用test实例创建AMI
- 名称:ami
- 描述:ami
- 其它默认


(七)ELB
1、创建目标群组
选择目标类型:实例
目标组名称:target
协议:HTTP
端口:8001
VPC:vpc-vpc
其它默认
注册目标:选择test

- 创建elb安全组
- 安全组名称:elb
- 描述:elb
- VPC:vpc-vpc
- 入站规则:类型为“自定义TCP”;端口为“8001”;源为“任何位置-IPv4”
- 其余默认

- 创建负载均衡器
- 负载均衡器类型:ALB
- 负载均衡器名称:ELB
- 模式:面向互联网
- IP地址类型:IPv4
- VPC:vpc-vpc
- 映射:两个可用区及两个Public子网
- 安全组:elb
- 侦听器和路由:协议为“HTTP”;端口为“8001”;默认操作转发至“target”
- 其余默认

注:网络负载均衡器
目标组创建的时候协议选择TCP,其余均与创建应用负载均衡器一致

- Auto Scaling
1、创建启动模板
- 启动模板名称:launch
- 模板版本说明:launch
- 系统映像:我的AMI“ami”
- 实例类型:t2.micro
- 密匙对:key58
- 安全组:ec2安全组
- 其余默认

- 创建Auto Scaling
- 名称:Auto
- 启动模板:launch
- VPC:vpc-vpc
- 可用区及子网:App1和App2
- 负载均衡:附加到现有的负载均衡器
- 现有的负载均衡器目标组:target
- 运行状态检查:60秒
- 组大小:所需容量:2;最小容量:2;最大容量:4;
- 其余默认

如果如果目标群组是unhealthy 则要检查路径是否正确·(健康状况)



- 测试:在浏览器输入负载均衡器域名端口为8001,多刷新几次发现服务器地址在变化



- CloudWatch
- 创建警报
(1)CPU利用率过高增加实例
- 指标:选择指标->EC2->按Auto Scaling组->Auto Scaling CPUUtilization
- 周期:1分钟
- 每当CPUUitlization为...:大于/等于70
- 通知:删除
- 警报名称:addec2

(2)CPU利用率较低减少实例
- 指标:选择指标->EC2->按Auto Scaling组->Auto Scaling CPUUtilization
- 周期:1分钟
- 每当CPUUitlization为...:小于/等于20
- 通知:删除
- 警报名称:reduceec2

- 附加到Auto Scaling
选择Auto Scaling中的弹性伸缩,创建动态扩展策略

(1)CPU利用率过高增加实例

(2)CPU利用率较低减少实例

Putty对Linux上传下载文件或者文件夹
一、方法一:pscp命令
在Windows命令行中上传文件:
pscp [Windows上的路径,可绝对可相对] [Linux用户]@[Linux的IP地址或网络内唯一主机名]:[Linux上存放地址,绝对路径
例如:pscp f:/ss.zip root@54.166.254.58:/
- 方法二:psftp命令
注意:如若不行,修改实例中ssh配置文件试试(本文档部署应用中)
put 上传文件,目录需要加-r
get 下载文件,目录需要加-r
mput 上传多个文件
mget 下载多个文件
cd 服务器端移动路径
pwd 显示服务器端当前所在路径
lcd 本地端移动路径
lpwd 显示本地端当前所在路径
实例:
C:Usersxuefei>psftp root@192.168.0.11
Using username "root".
root@192.168.0.11's password:
Remote working directory is /root
psftp> lcd Desktop //调整本地端路径
New local directory is C:UsersxuefeiDesktop
psftp> put extundelete-0.2.4 //可以看到但有put是不行的
local: unable to open extundelete-0.2.4
psftp> mput extundelete-0.2.4 //mput一样不行
local: unable to open extundelete-0.2.4
psftp> put -r extundelete-0.2.4 //只有put -r才可以上传目录
更多推荐

所有评论(0)