您现在的位置是:首页 > 编程 > 

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

2025-07-17 22:33:45
1.EC2使用 1.1启动虚拟服务器:即启动一个EC2实例 1.2使用SSH连接到虚拟服务器 1.手动安装和运行软件 1.4监控和调试虚拟服务器 1.5关闭虚拟服务器 1.6更改虚拟服务器的容量 1.7在另一个数据中心开启虚拟服务器

1.EC2使用

  • 1.1启动虚拟服务器:即启动一个EC2实例
  • 1.2使用SSH连接到虚拟服务器
  • 1.手动安装和运行软件
  • 1.4监控和调试虚拟服务器
  • 1.5关闭虚拟服务器
  • 1.6更改虚拟服务器的容量
  • 1.7在另一个数据中心开启虚拟服务器
  • 1.8分配一个固定的公有IP
  • 1.9向虚拟服务器添加额外的网络接口
  • 1.10优化虚拟服务器的开销

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

  • 2.1基础架构即代码
  • 2.2AWS CLI
  • 2.使用SDK,Cloud9,CDK编程
  • 2.4AWS CloudFormation

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

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

  • 4.1AWS安全负责说明
  • 4.2保持软件最新
  • 4.保护AWS账号安全
  • 4.4控制进出虚拟服务器的网络流量
    - 使用安全组控制虚拟服务器的流量
    - 允许ICMP流量
    - 允许SSH流量
    - 允许来自源IP地址的SSH流量
    - 允许来自源安全组的SSH流量:使用堡垒主机
  • 4.5在云中创建一个私有网络:虚拟私有云VPC




1.EC2使用

概念理解:





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

  • 打开AWS cole
  • 确保在【美国东部(弗吉尼亚北部)】-----书中示例代码所在的S云存储桶的位置
  • 点击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.点击左侧【密钥对】
      .点击【创建密钥对】
      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地址。

    • 点击【服务】----【EC2服务】
    • 点击【实例】跳转到正在运行的虚拟服务器。
    • 点击【连接】按钮,打开连接到服务器的说明。
    • 到虚拟服务器的共有IP,有了共有IP地址及用户的密钥,用户就能登录到虚拟服务器了。
  • Linux和Mac
    https://docs.aws.amazon/AWSEC2/latest/UserGuide/AccessingInstances.html?icmpid=docs_ec2_cole
    打开终端,输入 -i $PathToToken/mykey.pem ubuntu@$PublicIp
    使用密钥文件的路径替换$PathToKoken,使用在控制台显示的链接对话框中的公有IP替换$PublicIp
    在关于新主机的认证的安全警告处回答【yes】
  • Windows
    https://docs.aws.amazon/AWSEC2/latest/UserGuide/putty.html?icmpid=docs_ec2_cole
    到创建好的【mykey.pkk】文件,然后双击打开它。
    在PuTTY Pageant会在任务条中显示为一个图标。如果未显示需重装PuTTY。

    启动PuTTY。填写AWS管理控制台的连接对话框中显示的公有IP地址,然后点击【Open】

    在关于新主机的认证的安全警告处回答【是】,然后输入【ubuntu】作为登录名,按【Enter】键。
  • 登录信息
    不论是使用Windows,Linux还是Mac,当登录成功后都会显示如下信息。
    现在已经连接到虚拟服务器,为在虚拟服务器中运行命令做好了准备。


手动安装和运行软件
现已经启动了一台ubuntu OS的虚拟服务器。
安装一个名为linkchecker的工具,它能够让我们到网站上断裂的连接
sudo apt-get install linkchecker -y

现在就可以检查那些指向已经不存在的网站的连接了。
现选择一个网站,然后运行:
linkchecker https://...

根据网页数量的不同,网页爬虫需要一些时间来检查所有的网页是否有断裂的连接。
最终它会列出所有断裂的连接,给用户机会到并修复他们。



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

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

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

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

1.【EC2】----【实例】
2.选择一台正在运行的虚拟服务器
.点击右下角【监控】标签页




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

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

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



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

1.首先启动一个EC2实例
2.使用SSH连接到EC2实例
Linux或Mac:使用 -i连接
Windows:使用PuTTY工具连接
.执行:
cat /proc/cpuinfo
free -m
来获取服务器的CPU和内存信息
4.如果用户需要更多的cpu,memory,网络容量,或是修改虚拟服务器的实例家族于版本。
首先【停止】该服务器
在服务器停止后,可以更改实例:【操作】----【实例设置】

更改完成后,公有及私有IP地址也发生了变化。
需要获取新的公有IP地址,通过SSH重新连接到新的IP地址。
5.资源清理:终止该台虚拟服务器



在另一个数据中心开启虚拟服务器
AWS为全球提供数据中心。
要使互联网获得**
**,为主要用户选择一个最近的数据中心十分重要。
更改数据中心:

用户可以为AWS服务指定区域。
各个区域之间完全独立,数据不在区域间进行传输。
典型情况下,一个区域有两个或更多位于同一地区的数据中心组成。
这些数据中心间有着很好的连接,他们能提供高可用的基础架构。
一些AWS服务:如内容分发网络CD(Content Delivery etwork)服务,域名系统DS(Domian ame System)服务,是在这些区域之外的数据中心之上全球运行的。

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



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

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

1.点击【EC2】
2.【网络于安全】----【弹性IP】

.点击【分配新地址】分配公有IP地址

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

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

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

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



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

1.点击EC2服务左侧的【网络接口】
2.点击【创建网络接口】
.输入该网络接口的描述信息
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.转到【网络接口】,选择并删除网络接口
.转至【弹性IP】—【操作】----【释放IP地址】,释放两个公有弹性IP地址



优化虚拟服务器的开销

省钱的两个选项:

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



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

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

例如:要列出S对象存储里的所有文件,可以向API端点发送一个GET请求:
GET / HTTP/1.1
Host: Bucketame.s.amazonaws
Authorization: […]

使用底层的HTTPS请求直接调用API不太方便,另一种简单的方法时:使用CLI或SDK来和AWS
交互。



基础架构即代码
【基础架构即代码】:表达了使用高级编程语言来控制IT系统的思想。
在软件开发中,自动化测试,代码库和构建服务器提高了软件工程的质量。
如果用户的基础架构可以当作代码来对待,用户就能过关对自己的基础架构代码和应用程序代码使用相同的技术。
最终用户可以使用自动化测试,代码库和构建服务来改善基础架构的质量。

注意:区别【基础架构即代码】和【基础架构即服务IaaS】:IaaS指的是按照使用量进行付费的租用服务器,存储和网络的业务模式

自动化和DevOps(Development Operati)是软件开发驱动的一个方法,以便让开发和运维更加紧密的结合在一起:即自己开发的软件自己进行后续的运维工作。

基础架构语言:JIML(JSO Infrastructure Markup Language)JSO基础架构标记语言
JSO转为AWS API调用的过程:

  • 解析JSO输入
  • JIML解释器将资源和他们的依赖项连接起来,创建一张依赖图
  • JIML解释器从底层叶子节点到顶层根遍历依赖图中的书,然后产生一个线性的命令流。这些命令由一个伪语言来表达。
  • 然后JIML运行时环境将这些伪语言的命令翻译成AWS API调用该

注意:JIML解释器确定了资源的创建顺序,JIML解释器把依赖图变成一个现行的使用伪语言的命令流。这个伪语言代表了用正确的舒徐创建所有资源所需要的步骤。最后JIML运行时环境将伪语言命令翻译成AWS API调用。
即:基础代码即架构的所需的一切:都与依赖项相关。



2.使用AWS CLI
CLI官方文档:https://aws.amazon/cn/cli/

使用CLI创建基础架构:CLI是实现基础架构即代码的一种工具。
AWS CLI是一个从命令行使用AWS的便捷方法。它运行在linux,mac,Windows上,用python编写。
AWS CLI为所有的AWS服务提供了一个统一的访问接口。

安装AWS CLI

  • 1.Linux和Mac:
    CLI需要Python及pip。pip是安装python程序包的推荐工具。
python -version		//检查python版本
pip --version			//检查pip版本
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"		//若未安装pip,则执行该命令安装pip
sudo python get-pip.py
pip --version			//验证pip的安装
sudo pip install awscli		//安装AWS CLI
aws --version
  • 2.Windows

    64位的安装程序网址:https://s.amazonaws/aws-cli/
    下载AWS CLI(64位或2位)MSI安装程序
    运行下载好的安装程序,按照向导的提示安装CLI
    用管理员身份运行PowerShell,执行Set-ExecutionPolicy Unrestricted,按Enter键执行这一命令。这样就能执行示例中的未签名的PowerShell副本。
    关闭PowerShell窗口,不在需要以管理员身份工作了。
    通过【开始】菜单中的PowerShell项运行。
    在PowerShell中执行aws --version以验证AWS CLI是否正常工作。

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1103023.html

相关标签:无
上传时间: 2025-07-15 21:49:22
留言与评论(共有 20 条评论)
本站网友 北京德语培训学校
21分钟前 发表
尺寸 配置详细信息 检查输出并为SSH选择一个密钥对 用户需要一个密钥来登录自己的虚拟服务器
本站网友 阳光枫情
7分钟前 发表
用户通过HTTPS协议调用REST API来与AWS交互
本站网友 北京个人出租
7分钟前 发表
现在已经连接到虚拟服务器
本站网友 天一广场
1分钟前 发表
用户不能在此开启一台已经终止了的虚拟服务器
本站网友 魏建锋
30分钟前 发表
典型情况下
本站网友 小麦病虫害
9分钟前 发表
但是每次启动或是停止一台虚拟服务器EC2时
本站网友 建筑施工合同
6分钟前 发表
JIML解释器把依赖图变成一个现行的使用伪语言的命令流
本站网友 孕妇吃什么好啊
13分钟前 发表
等待虚拟服务器变为【running】状态
本站网友 专业脱毛
12分钟前 发表
CloudFormation
本站网友 荔枝产地
21分钟前 发表
在关于新主机的认证的安全警告处回答【yes】 Windows https
本站网友 建阳二手房
19分钟前 发表
1.选择新创建的网络接口
本站网友 武汉宠物医院
0秒前 发表
利用弹性IP地址
本站网友 关于全面推开营业税改征增值税试点的通知
27分钟前 发表
并且控制关联到这些网络接口的私有IP地址和公有IP地址
本站网友 心脏支架手术
24分钟前 发表
它给了用户垂直扩展的能力
本站网友 青岛机械公司
25分钟前 发表
HVM 注意:如果要启动新的虚拟服务器
本站网友 瑞哺恩
10分钟前 发表
5.让【私有IP地址】保持默认的自动分配 6.安全组选择一个即可 7.点击创建 当新的网络接口的状态变为Available
本站网友 冬泉谷
28分钟前 发表
创建一张依赖图 JIML解释器从底层叶子节点到顶层根遍历依赖图中的书
本站网友 首博
3分钟前 发表
Linux和Mac https
本站网友 柠檬酸的作用
8分钟前 发表
(此处的密钥认证方式类似于Github中的密钥认证方式