# Amazon EC2

# 概念

Amazon Elastic Compute Cloud (Amazon EC2) 在 Amazon Web Services (AWS) 云中提供可扩展的计算容量。

使用 Amazon EC2 可避免前期的硬件投入,因此您能够快速开发和部署应用程序。

通过使用 Amazon EC2,您可以根据自身需要启动任意数量的虚拟服务器、配置安全和网络以及管理存储。

Amazon EC2 允许您根据需要进行缩放以应对需求变化或流行高峰,降低流量预测需求。

你可以使用 Amazon EC2启动虚拟机,把它当做虚拟服务器。或将数千个虚拟服务器当做你的数据中心。

你可以使用 Amazon EC2启动虚拟机,并可以进行相关的安全和联网配置。

  • 云端的虚拟服务器实例
  • 可调计算容量
  • 几分钟内获取并启动服务器实例

# 自动扩缩容

Amazon EC2 实例将自动向上扩展以增加 容量,从而处理更多的流量。Amazon EC2 不支持动态增加实例,只能扩展单个实例的容量。

# 虚拟环境

Amazon EC2 环境被称为实例。

实例类型包罗万象,它们的CPU计算能力,内存大小,存储大小和联网能力的组合情况各不相同。

AWS 还为你的实例提供预配置模板,称之为亚马逊系统镜像(AMI)。

这些 AMI 模板可以只包括一个操作系统,如 Linux 或 Windows。或者可以包含各种组件,如操作系统和预安装软件包。

# 实例类型

Amazon EC2 实例的类型从小型的“micro”实例(处理小型任务),到高性能的“x-large”实例(处理数据仓库之类的大型任务),不等。

你可以根据实际所需的内存容量或计算能力,混合搭配,使用不同的实例类型。

甚至有些实例类型具有较高的图像处理能力。

# 通用型

通用型实例提供平衡的计算、内存和网络资源,可用于各种不同的工作负载。

# 计算优化型

计算优化型实例是受益于高性能处理器的受计算限制的应用程序的理想选择。

# 内存优化型

内存优化型实例旨在让处理内存中的大型数据集的工作负载实现快速性能。

# 存储优化型

存储优化型实例适用于需要对本地存储上的极大型数据集进行高性能顺序读写访问的工作负载。它们经过了优化,可以向应用程序提供每秒上万次低延迟性随机 I/O 操作 (IOPS)。

# 加速计算

如果您需要高处理能力,您可以从使用加速计算实例中获益,这些实例可让您访问基于硬件的计算加速器,如图形处理单元 (GPU) 或现场可编程门阵列 (FPGA)。加速计算实例能在计算密集型工作负载上提供更高的并行度,以实现更高的吞吐量。

# 安全性

安全组 充当实例的虚拟防火墙,可以控制传入和传出流量。入站规则控制传入到实例的流量,出站规则控制从实例传出的流量。在启动实例时,您可以指定一个或多个安全组;否则,Amazon EC2 使用默认安全组。您可以为每个安全组添加规则,规定流入或流出其关联实例的流量。您可以随时修改安全组的规则。新规则和修改后的规则将自动应用到与安全组相关联的所有实例。在 Amazon EC2 确定是否允许流量到达实例时,它评估与实例关联的所有安全组中的所有规则。

通过相关设置,您可以指定协议,端口和源或目标IP范围,以便可以使用安全组到达您的实例。安全组类似于传统的防火墙。

# 密钥对

密钥对是安全功能,用于实例创建后,控制对该实例的访问。如果没有合适的密钥对,将不能访问该实例。

# 镜像

可以通过给已经存在的实例创建一个镜像,然后就可以选择这个创建的镜像,快速的创建一个和以前的一个实例,省去了安装各种软件的步骤。从测试到正式发布可以做到无环境差异。

# 用户数据

使用 user data 在开机时自动运行命令。

一般情况下,当启动 EC2 实例之后,我们会手动的在这个 EC2 实例上安装很多软件,比如网页服务器,或者更新已安装的package。除了这种方法,还可以在启动 EC2 实例的时候,写安装软件,或者配置服务器的Shell脚本,将这些脚本以用户数据的形式传递给将要启动的实例。举个栗子:

#!/bin/bash

yum update -y

yum install nginx

上面的几行命令行要做的事情就是使用 root 更新一下实例已有的安装包,然后安装 nginx。这样当实例启动之后,就会自动的执行我们写入的命令行。

更新时间: 6/17/2020, 12:03:34 PM