aws搭建包含服务器和网络的虚拟基础设施(2)

1.EC2使用

2.编写基础架构:CLI,SDK,CloudFormation

3.自动化部署:CloudFormation,ElasticBeanstalk,OpsWorks

4.保护系统安全:IAM,安全组,VPC





1.EC2使用

概念理解:
在这里插入图片描述
在这里插入图片描述



启动虚拟服务器:即启动一个EC2实例

  • 打开AWS console
  • 确保在【美国东部(弗吉尼亚北部)】-----书中示例代码所在的S3云存储桶的位置
  • 点击EC2服务
  • 点击【启动实例】:执行虚拟服务器向导
    该向导将有如下步骤:
    1. 选择OS
      第一步是为虚拟服务器选择OS和预装软件,称为Amazon AMI(Amazon Machine Image,Amazon系统映像)
      虚拟服务器是基于AMI启动的。AMI由AWS,第三方供应商机社区提供。
      AWS Marketplace提供预装了第三方软件的AMI。
      概念解释:虚拟设备AMI,AKI,Xen,HVM
      注意:如果要启动新的虚拟服务器,一定要保证自己使用的是HVM映像
      在这里插入图片描述在这里插入图片描述

    2. 选择虚拟服务器的规格
      选择虚拟服务器的计算能力,在AWS中,计算能力(cpu,mem)被归类到所需的实例类型中。
      一个实例类型主要描述了计算能力:cpu的个数即内存memeory的大小。
      概念解释:实例类型,实例家族,代,尺寸
      在这里插入图片描述
      在这里插入图片描述

    3. 配置详细信息
      在这里插入图片描述在这里插入图片描述
      在这里插入图片描述在这里插入图片描述

    4. 检查输出并为SSH选择一个密钥对
      用户需要一个密钥来登录自己的虚拟服务器。
      用户使用一个密钥而不是密码来完成身份认证,进而登录到自己的虚拟服务器。
      密钥比密码更加安全,而且在AWS上运行Linux服务器强制SSH访问使用密钥方式。
      (此处的密钥认证方式类似于Github中的密钥认证方式,将生成的公钥上传至服务器,而在本地利用私钥作为访问服务器的凭据)

      创建个人密钥的方式:
      1.打开aws管理控制台:点击【服务】----【EC2服务】
      2.点击左侧【密钥对】
      3.点击【创建密钥对】
      4.输入密钥对的名字,点击【创建】,使用浏览器下载创建好的密钥对。
      5.打开一个终端,切换到下载目录
      6.Linux和Mac:在终端中运行chmod 400 密钥文件名.pem来修改密钥文件的权限仅自己可见
      7.WIndows:WIndows没有自带SSH客户端,所以需要安装PuTTY。
      PuTTY带有一个工具叫做PuTTYgen,它可以将【密钥名.pem】文件转换成【密钥名.ppk】。
      打开PuTTYgen,在【Type of key to generate】选择【rsa】,点击【load】,选择刚刚浏览器下载好的密钥文件。
      因为PuTTYgen只显示【*.pkk】文件,需将文件类型切换至【所有】文件类型才可显示刚刚下载好密钥文件。
      最后作为【Save private key】。忽略未使用密码保护保存密钥的警告。
      现在.pem文件已经被转换成了PuTTY所需的.pkk格式。

      在这里插入图片描述在这里插入图片描述
      虚拟服务器启动后,点击【查看实例】打开概览界面,等待虚拟服务器变为【running】状态。
      要完全控制自己的虚拟服务器,用户需要远程登录自己的虚拟服务器。



使用SSH连接到虚拟服务器:
用户可以远程在虚拟服务器上安装额外的软件以及运行命令。
要登录到虚拟服务器,用户要找到虚拟服务器的共有IP地址。



手动安装和运行软件
现已经启动了一台ubuntu OS的虚拟服务器。
安装一个名为linkchecker的工具,它能够让我们找到网站上断裂的连接
sudo apt-get install linkchecker -y
在这里插入图片描述
现在就可以检查那些指向已经不存在的网站的连接了。
现选择一个网站,然后运行:
linkchecker https://...
在这里插入图片描述在这里插入图片描述
根据网页数量的不同,网页爬虫需要一些时间来检查所有的网页是否有断裂的连接。
最终它会列出所有断裂的连接,给用户机会找到并修复他们。



监控和调试虚拟服务器日志监控指标
AWS提供了工具让用户来监控和调试自己的虚拟服务器。

  • 显示虚拟服务器的日志
    AWS允许用户使用管理控制台显示服务器的日志(日志可以显示虚拟服务器在启动时和启动后做了什么)。
    使用如下步骤打开虚拟服务器的日志:

    1.点击【EC2】----【实例】
    2.选择一个正在运行的虚拟服务器
    3.点击【操作】----【实例设置】----【获取系统日志】
    此时会打开一个窗口,然后显示从虚拟服务器得到的日志,这些日志通常在启动期间显示在一台物理监视器上。
    这是一个简单有效的访问用户的服务器的日志系统,并且它不需要SSH连接。
    在这里插入图片描述在这里插入图片描述

  • 监控虚拟服务器的负载
    按如下步骤打开虚拟服务器的指标:

1.【EC2】----【实例】
2.选择一台正在运行的虚拟服务器
3.点击右下角【监控】标签页
在这里插入图片描述




关闭虚拟服务器
为了避免产生费用,用户总是应该关闭不用的虚拟服务器。
用户可以使用以下5个操作来控制一台虚拟服务器的状态:【操作】----【实例状态】
在这里插入图片描述

  • 开启:可以打开一台停止的服务器。
  • 停止:停止一台正在运行的虚拟服务器。
    停止的服务器可以被再次启动。
    一台已经停止了的虚拟服务器将不会产生任何费用,除了网络附加存储这样的附加资源除外。
    如果用户使用了网络附加存储,用户的数据将会被保存。
  • 重启:用户不会在重启时丢失任何数据,而且所有的软件在重启后任会保持被安装了的状态。
  • 终止:删除该虚拟服务器。
    用户不能在此开启一台已经终止了的虚拟服务器。
    终止一台服务器意味着删除这台虚拟服务器及其依赖项(如:网络附加存储)和公有及私有IP地址。
    被终止了的服务器将不会在产生任何费用。
  • 休眠Hibernate

资源清理:
1.【EC2】—【实例】
2.点击正在运行的虚拟服务器
3.【操作】—【实例状态】----【终止】



更改虚拟服务器的容量
用户总是可以更改一台虚拟服务器的容量:云计算的优势之一,它给了用户垂直扩展的能力。
如何更改一台正在运行的虚拟服务器的容量:

1.首先启动一个EC2实例
2.使用SSH连接到EC2实例
Linux或Mac:使用ssh -i连接
Windows:使用PuTTY工具连接
3.执行:
cat /proc/cpuinfo
free -m
来获取服务器的CPU和内存信息
4.如果用户需要更多的cpu,memory,网络容量,或是修改虚拟服务器的实例家族于版本。
首先【停止】该服务器
在服务器停止后,可以更改实例:【操作】----【实例设置】
在这里插入图片描述
更改完成后,公有及私有IP地址也发生了变化。
需要获取新的公有IP地址,通过SSH重新连接到新的IP地址。
5.资源清理:终止该台虚拟服务器



在另一个数据中心开启虚拟服务器
AWS为全球提供数据中心。
要使互联网获得**
**,为主要用户选择一个最近的数据中心十分重要。
更改数据中心:
在这里插入图片描述
用户可以为AWS服务指定区域。
各个区域之间完全独立,数据不在区域间进行传输。
典型情况下,一个区域有两个或更多位于同一地区的数据中心组成。
这些数据中心间有着很好的连接,他们能提供高可用的基础架构。
一些AWS服务:如内容分发网络CDN(Content Delivery Network)服务,域名系统DNS(Domian Name System)服务,是在这些区域之外的数据中心之上全球运行的。

由于各个区域之间相互独立,故在切换区域后需要再次创建新的密钥对用以访问EC2.
用户使用密钥对的形式访问自己创建的虚拟服务器EC2资源,将创建好的密钥对的私钥保存在本地中,当SSH连接到EC2实例时,使用刚刚保存到本地私钥进行认证,进而访问EC2.



分配一个固定的公有IP
前面创建的EC2实例都自动分配了一个公有的IP地址。
但是每次启动或是停止一台虚拟服务器EC2时,公有IP地址就改变了。
如果想用一个固定的IP地址运行一个应用程序,则需使用AWS提供的弹性IP地址服务:Elastic IP address。

使用以下步骤来分配并关联一个公有IP地址到一台虚拟服务器上:

1.点击【EC2】
2.【网络于安全】----【弹性IP】
在这里插入图片描述在这里插入图片描述
3.点击【分配新地址】分配公有IP地址

在拥有了固定的IP地址:即弹性IP地址后,可以将该弹性IP关联到一个EC2实例上:
1.选择刚刚创建好的弹性IP,【操作】-----【关联地址】
2.在【实例】中点击右侧三角,选择需要关联的EC2实例
3.点击右下角【关联】完成EC2实例固定IP地址的设定。
在这里插入图片描述

如果用户需要确保自己的应用的端点不变化,就需要手动创建一个 弹性IP,并将该弹性IP地址关联到EC2实例。
利用弹性IP地址,可以在用户无知觉的情况下换掉后端关联的EC2实例,且可以保持服务的不中断运行。

用户也可以使用多个网络接口来关联多个公有IP地址到一台虚拟服务器。
适用情况:用户需要在同一个端口运行不同的应用或者不同的网站使用一个唯一的固定的公有IP地址。

注意:IPv4地址是稀缺资源。为了防止弹性IP地址浪费,AWS将对没有关联到任何服务器的弹性IP地址收费。



向虚拟服务器添加额外的网络接口
除了公有IP地址,用户还可以控制自己的虚拟服务器的网络接口。
用户可以向一台虚拟服务器添加多个网络接口,并且控制关联到这些网络接口的私有IP地址和公有IP地址。
用户可以使用额外的网络接口管来关联第二个公有IP地址到自己虚拟服务器。
用以下步骤来为自己的虚拟服务器EC2实例,创建一个额外的网络接口:

1.点击EC2服务左侧的【网络接口】
2.点击【创建网络接口】
3.输入该网络接口的描述信息
4.选择自己EC2实例的子网作为新的网络接口的子网。
在这里插入图片描述
5.让【私有IP地址】保持默认的自动分配
6.安全组选择一个即可
7.点击创建
在这里插入图片描述

当新的网络接口的状态变为Available,用户可以将他附加到自己的虚拟服务器。
1.选择新创建的网络接口,点击【附加】
2.选择正在运行的虚拟服务器的ID,点击【附加】
在这里插入图片描述
在这里插入图片描述

现在已经附加了一个额外的网络接口到自己的虚拟服务器,接下来关联一个额外的公有IP地址到这个额外的网络接口。
1.点击左侧的【弹性IP】
点击【分配新地址】来分配一个新的固定的弹性IP地址。
【操作】----【关联地址】,将它连接到刚刚创建的网络接口
在这里插入图片描述

现在虚拟服务器就可以通过两个不同的IP地址来访问了。
这样用户可以根据公有IP地址提供两个不同的网站服务,需要配置网络服务器来根据公有IP地址来应答请求。
在次使用SSH连接到虚拟服务器,并且在终端输入ifconfig后,就能看到自己的新网络接口附加到了虚拟服务器上。

每个网络接口都能连接到一个私有IP地址和一个公有IP地址。
我们需要配置网络服务器来根据IP地址提供不同的网站。
虚拟服务器不知道任何有关于他的公有IP地址的信息,但是我么可以根据私有IP地址来区分请求。

清理资源:
1.终止虚拟服务器
2.转到【网络接口】,选择并删除网络接口
3.转至【弹性IP】—【操作】----【释放IP地址】,释放两个公有弹性IP地址



优化虚拟服务器的开销

省钱的两个选项:

  • 竞价型实例
  • 预留实例
    这两个选项都能够帮助用户减少开销,但是这样会降低灵活性。
    对于竞价型实例,可以对AWS数据中心中未使用的容量出价,价格基于供给与需求。
    如果需要使用一台服务器超过一年,可以使用预留型实例,同一支付给定时间段的费用并提前获取折扣。
    在这里插入图片描述



2.编写基础架构:CLI,SDK,CloudFormation

AWS提供通过接口来控制的基础架构,叫做应用编程接口API(application programming interface)。
用户能通过API控制AWS的每一部分,用户可以使用大多数编程语言,CLI,和其它工具的SDK调用这些API。
在AWS上,一切都可以通过API来控制,用户通过HTTPS协议调用REST API来与AWS交互。

例如:要列出S3对象存储里的所有文件,可以向API端点发送一个GET请求:
GET / HTTP/1.

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

killingwill

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值