我是一个初学者,开始学习Amazon EC2,如果有人可以提供基本定义以及可能将它们联系在一起的示例,那我将会很清楚:

任务,
服务,
容器,
实例,
集群(容器),
状态(集群中,多数情况),
ECS。

部分答案也很有价值。

评论

可以尝试docs.aws.amazon.com/general/latest/gr/glos-chap.html,但我无法撼动您将从食谱中受益的感觉。

#1 楼

AWS提供了不同的服务,并根据计算,存储,数据库,管理,分析,消息传递,开发人员工具等对它们进行了分类。

ECS属于计算服务。

Amazon EC2容器服务(ECS)–适用于AWS Cloud的容器管理


运行打包为Docker容器的应用程序。EC2容器服务(或简称ECS)。这项服务将使您轻松使用强大的API和其他工具在Amazon Elastic Compute Cloud(EC2)实例的托管集群中运行任意数量的Docker容器。使用ECS时,您无需安装群集管理软件,购买和维护群集硬件或使硬件清单与软件需求匹配。


在这里,我将解释在ECS和术语中设置基于Docker的应用程序的步骤。




集群:集群是特定AWS区域中的EC2实例池,全部由ECS管理。一个群集可以包含多个实例类型和大小,并且可以驻留在一个或多个可用区中。

这是创建ECS的第一步。在需要任何群集之前,可以将其默认或创建EC2实例类型:在集群中,您需要为容器实例选择Amazon EC2实例类型。您选择的实例类型确定了可用于运行任务的资源。

Amazon Elastic Compute Cloud(Amazon EC2)是一项Web服务,可在云中提供安全的,可调整大小的计算能力。在您的PC上,您可以安装mongo,MySQL(最适合MySQL RDS),PHP,节点或其中想要的任何东西。创建EC2时,您必须定义要在ec2中使用的操作系统。您可以使用pem文件访问EC2将在创建ec2期间由AWS提供.https://aws.amazon.com/ec2/


容器:–容器是打包的(或“ Dockerized”,很酷的孩子喜欢说的)应用程序组件。集群中的每个EC2实例都可以充当一个或多个容器的主机。
对于每个任务定义,您都需要指定一个容器,以告知CPU,内存和其他资源。
ECR注册表Amazon EC2容器注册表(Amazon ECR)是一项托管的AWS Docker注册表服务,该服务安全,可扩展且可靠。 Amazon ECR使用AWS IAM支持具有基于资源权限的私有Docker存储库,以便特定用户或Amazon EC2实例可以访问存储库和图像。开发人员可以使用Docker CLI推送,拉取和管理映像。

以上环境就绪后,您就可以放置任务或启动服务。


任务定义:任务定义就像您的应用程序的蓝图。在此步骤中,您将指定任务定义,以便Amazon ECS知道将哪个Docker映像用于容器,在任务中使用多少个容器以及每个容器的资源分配。
服务服务将管理您要执行的任务已创建。一旦创建了任务定义,就将配置Amazon ECS服务。服务将启动并维护集群中任务定义的副本。例如,通过将应用程序作为服务运行,Amazon ECS将自动恢复所有已停止的任务并维持您指定的副本数。

注意:可以在执行任何操作之前设置弹性负载平衡。当您要创建服务时,可以使用负载均衡器进行配置。负载均衡器包含需要均衡的目标组和容器.https://aws.amazon.com/elasticloadbalancing/



Elastic Load Balancing Elastic Load Balancing自动在多个Amazon EC2实例之间分配传入的应用程序流量。它使您能够在应用程序中实现容错能力,从而无缝地提供路由应用程序流量所需的所需负载平衡容量。


#2 楼



EC2(弹性计算云)实例-虚拟机服务器

ELB(弹性负载平衡器)-EC2中的一项服务,该服务使用DNS和托管实例来管理传入流量(不是对用户可见)。将HTTP / TCP请求重定向到ELB中注册的实例。包括运行状况检查机制以包括/排除EC2实例。

ALB目标组-一组EC2实例,通常包含在特定TCP端口上侦听的服务的重复项。包括运行状况检查机制。

ALB(应用程序负载平衡器)-新一代ELB。允许将多个URL路径和Host:标头映射到EC2实例的目标组。

EBS(弹性块存储)-EC2实例的可连接磁盘

ASG(自动缩放)组)-一种用于创建/增加/减少组中EC2实例数量的机制。

启动配置-描述如何在ASG中创建EC2的模板。

图像(通常是Docker映像)-一种特殊格式的文件,您可以“拉”和“推”到Docker注册表。包含“用户空间”的可执行文件,库和文件。

容器(通常为Docker容器)-在Docker守护程序服务下运行的Image的执行。

ECS(弹性容器服务)-EC2中Docker容器的协调器。

ECS群集-ECS用于运行容器的EC2集合(通常在ASG中)。

ECS主机-一个ECS群集中注册的所有实例中的EC2实例。

ECS任务定义-有关如何运行特定容器的模板。包含您可以使用docker run命令找到的大多数参数/参数。

ECS任务-ECS群集中某个位置的运行容器。通常用于按计划或一次性运行容器。

ECS服务-管理ECS任务运行的服务。还可以在特定的ALB目标组中注册容器的侦听端口。

ECS代理-开源服务,在每个ECS主机上作为容器运行。负责从ECS服务接收有关运行/停止/等容器的命令...

ECR(弹性容器注册表)-ECS中的托管服务,用于存储/推送/拉取Docker映像。与Docker Hub,Quay和其他用于将图像即服务管理的工件存储服务类似。


评论


我尝试从基础开始,仅在解释以下术语时参考上面定义的术语。

– Evgeny Zislis
17年5月16日在15:51

那是一个很好的文档摘要,但是并没有为初学者带来可操作的信息。在这个长度上,有关如何将所有这些粘合在一起的段落(或者,ecs不需要ec2实例,它们对最终用户隐藏了)将比OP的服务字典更好地帮助OP了解整个画面

–滕西拜
17年5月18日在20:58



@Tensibai使用ECS时,不会向用户隐藏EC2实例。它们是一个常规的Auto Scaling组,您将在EC2控制台中看到。

– Evgeny Zislis
17年5月23日15:50

我应该说“是由AWS为用户处理的”,而不是“隐藏的”,关键是您不必管理它们。 (除非我确实错过了ECS工作方式的变化)

–滕西拜
17年5月23日15:55