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 端口

一、背景

  1. 按键盘:Win + R
  2. 输入:mstsc
  3. 按回车 → 远程桌面连接 就出来了
  • 左下角搜索框输入:远程桌面连接
  • 点开就是 RDP 工具
  1. 输入 EC2 的 公网 IP
  2. 连接
  3. 输入 用户名 + 密码
  4. 是 / 允许 就进去了

利用windows远程连接rdp连接方法

1.子网 安全组 vpc 秘钥(.pem获取后面远程连接的密码用)实例(windows)安全组(包括rdp 我的ip ec2 8001)

密码通过.pem上传秘钥获得的

2.创建实例

t3.micro

密码是.pem上传之后获得的

你是一名云计算运维工程师,现在需要为某电商企业构建交易网站(LAMP架构)。通过多次沟通交流,最后此单位决定在AWS云的中国区域中部署此网站。现在,需要为客户实现高可用性和高弹性的架构,同时正确部署LAMP应用。已知的要求有:

  1. 将基于LAMP架构的应用上线运营,对外发布的网站的端口为8001
  2. 创建全新的VPC及网络架构
  3. 使用负载均衡、弹性伸缩、EC2、Amazon Aurora等组件构建资源栈
  4. 实现配置弹性伸缩
  5. 系统会根据需要,自动添加、配置新的实例,无须手动操作
  6. 通过使用子网、安全组等技术保护业务的安全
  7. 通过多可用区部署、群集技术等避免单点故障
  8. 通过其它必要的技术来应对数据损坏、丢失等意外事件的发生
  9. EC2实例类型为t2.micro,8GB磁盘
  10. RDS为Amazon Aurora,db.t3.medium,磁盘80GB
  11. 为减少Web应用的压力, CSS、图片等文件放置到公开的S3中
  12. 用户上传的文件需要放置到EFS存储中
  13. 架构图中组件不能有单点故障
  14. 设置必要的资源标签

  • 部署流程
  1. VPC及子网
  2. NAT Gateway
  3. DB
  4. EC2
  5. 部署应用
  6. EFS
  7. S3
  8. AMI
  9. ELB
  10. Auto Scaling
  11. 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及子网

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

3、检查修改路由表

  1. 修改VPC、路由表及各子网名称

  1. 两个Public子网路由指向IGW

  1. App子网指向各自的NAT网关

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

1)创建local 路由表:

2)删除自动创建的两个Data路由表:略(编辑两个路由表的子网关联,取消关联即可删除)

3)使两个Data子网指向local路由表:编辑local路由表的子网关联,将Data子网添加即可

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

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

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

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

  • ec2
  1. 创建密匙对

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

(四)部署应用

1、使用PuTTY连接实例

  1. 登录ec2-user

  1. 为root用户添加密码,切换到root用户,修改/etc/ssh/sshd_conf文件

Sudo passwd root

Su root

PermitRootLogin yes

PasswordAuthentication yes

  1. 安装php、php-mysql、mariadb、httpd(LAMP)
  2. yum install -y php httpd

yum install -y mariadb105-server mariadb105  

yum install -y php-mysqlnd

  1. 开启httpd:systemctl start httpd
  2. 设置开机自启动: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根据需要来)

  1. 浏览器输入实例的公有IP端口为8001,测试Web服务使用正常

http://43.192.127.240:8001/test/index.php

  1. 登录数据库写入节点,写入数据

mysql -h db.cluster-cbemnwdscb9y.rds.cn-northwest-1.amazonaws.com.cn -u admin -p

  1. 创建bookstore数据库:create database bookstore;
  2. 进入bookstore数据库:use bookstore;
  3. 创建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;

  1. 插入数据:

INSERT INTO `books` VALUES (1, 'PHP项目实践', 56.00, '明');
INSERT INTO `books` VALUES (2, 'Java基础', 88.00, '强');
INSERT INTO `books` VALUES (3, 'Python数据分析', 66.00, '飞');

  1. 检查创建是否正确:select * from books;

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

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

  1. 下载压力测试文件包到/var/www/html下:

wget https://tomtrain.s3.cn-northwest-1.amazonaws.com.cn/cpuload.zip /var/www/html

  1. 解压:Unzip cpload.zip
  2. 浏览器输入:实例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
  1. 创建EFS安全组
  1. 安全组名称:efs
  2. 描述:efs
  3. VPC:vpc-vpc
  4. 入站规则:类型为“NFS”;源为“ec2安全组
  5. 其余默认

  1. 创建EFS
  1. 点击创建EFS
  2. 选择自定义

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

  1. 配置EFS
  1. 连接实例,安装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

  1. 创建一个efs.conf: vi /etc/httpd/conf.d/efs.conf

Alias "/efs" "/efs"

<Directory "/efs">

Require all granted

</Directory>

  1. 将2.jpg放到/efs目录下:cp /var/www/html/efsimags/2.jpg  /efs/
  2. 测试是否成功

(六)AMI

1、使用test实例创建AMI

  1. 名称:ami
  2. 描述:ami
  3. 其它默认

(七)ELB

1、创建目标群组

选择目标类型:实例

目标组名称:target

协议:HTTP

端口:8001

VPC:vpc-vpc

其它默认

注册目标:选择test

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

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

注:网络负载均衡器

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

  • Auto Scaling

1、创建启动模板

  1. 启动模板名称:launch
  2. 模板版本说明:launch
  3. 系统映像:我的AMI“ami”
  4. 实例类型:t2.micro
  5. 密匙对:key58
  6. 安全组:ec2安全组
  7. 其余默认

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

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

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

  • CloudWatch
  1. 创建警报

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

  1. 指标:选择指标->EC2->按Auto Scaling组->Auto Scaling CPUUtilization
  2. 周期:1分钟
  3. 每当CPUUitlization为...:大于/等于70
  4. 通知:删除
  5. 警报名称:addec2

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

  1. 指标:选择指标->EC2->按Auto Scaling组->Auto Scaling CPUUtilization
  2. 周期:1分钟
  3. 每当CPUUitlization为...:小于/等于20
  4. 通知:删除
  5. 警报名称:reduceec2

  1. 附加到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才可以上传目录

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐