ECS-弹性容器服务 - Part 1

news2024/11/24 9:19:46

67-ECS-弹性容器服务 - Part 1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D7IW2OxS-1672280454240)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/acf29a8f-c4eb-4b0f-a129-5f2ee00d274f/Untitled.jpeg)]

Hello大家好,我们今天的课时内容是ECS-AWS的弹性容器服务。

ECS-AWS的弹性容器服务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TOqFm89r-1672280454241)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/66e129e3-4e2e-4dab-81a8-c567b4e73742/Untitled.jpeg)]

ECS是高度可扩展的、快速的容器管理和编排服务。
使用ECS,能够将您的Docker容器运行在AWS EC2或者 Fargate管理的无服务器架构上。

将容器运行在AWS,会涉及很多到一些相关的内容,如:

  • ECS的EC2启动类型,可以将ECS任务运行在用户自主管理的EC2实例上;
  • Fargate启动类型,可以将ECS任务运行在Fargate上,将容器运行在ECS管理的无服务器基础架构上。
  • EKS,可以将容器运行在EKS,EKS是AWS提供的Kubernetes托管服务。
  • ECR,AWS的Docker镜像仓库的托管服务。

以上涉及的内容比较多,对于SAP认证考试,会有一些使用ECS场景,如和其他的服务作为答案让您判断哪个是正确或最佳实践等等。

最后,ECS 非常适合于微服务架构和批处理作业。

什么是Docker?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hrbVAmkc-1672280454241)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c427ebc1-cd6d-478e-8ff0-dbe31b76ce6c/Untitled.jpeg)]

ECS是Docker容器管理和编排的工具,那接下来我们首先简单介绍下什么是Docker。

Docker 是一个开源的应用容器引擎,够让开发者打包他们的应用以及依赖包到一个可移植的镜像中,然后在发布到任何流行的且安装了Docker运行环境的 Linux或Windows 机器上。容器技术通过将应用程序和其运行环境、依赖关系等打包在一起,使得我们的应用程序可以以相同的运行环境,运行在任何的服务器上。

容器之间相互是隔离的,相互之间不会互相影响。

您还可以控制分配给单个容器的资源(包括CPU、内存和磁盘空间)。一个容器的应用出问题将不会使用你全部的可用资源,从而影响其他容器。

您还可以配置Docker容器的网络模式

与虚拟机相比,Docker容器的启动速度更快,资源利用率更高,性能开销更小,这也是为什么Docker容器技术这么受欢迎,现在很多组织都在使用容器来运行他们的业务。

而本课时讨论的ECS服务,就是在AWS上运行Docker容器的一个非常棒的平台,它是一个高度可用且可扩展的服务,可以通过ECS对运行的容器进行配置和管理。比如使用ECS能够快速扩展或者缩减您运行容器的数量,这个快速是秒级别,而虚拟机可能是分钟级别。

ECS常见的使用场景

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eXV83eWl-1672280454241)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/cac08c57-42b7-48fa-9bbd-2552cb4dc82a/Untitled.jpeg)]

那ECS有哪些常见的使用场景呢?

首先,它非常适合于运行微服务架构。微服务是通过一种软件体系结构方法构建的,该方法将复杂的应用程序分解为较小的独立服务,而我们都知道容器是运行小型,分离服务的最佳选择。

  • 因为都是较小的独立的服务,那就能够将多个容器运行在同一台服务器上。
  • 如果微服务的应用负载会随着时间变化的话,ECS也支持配置根据负载变化进行横向伸缩。
  • ECS通过集成应用程序负载均衡器,为微服务的架构提供了大多数分布式系统的关键功能,服务发现。
  • 也可以基于容器的微服务架构,轻松构建CI/CD过程,如监控代码库,从该来源构建Docker镜像,然后将镜像推送到ECR,最后更新ECS服务的应用程序。

通过以上的这些提供的功能和特性,也让ECS成为了一个运行微服务的很好的一个平台之一。

ECS除了适合运行微服务架构,也非常适合运行一些批处理作业

  • 批处理作业通常是短暂的且并行的工作。您可以将批处理应用程序打包到Docker映像中,然后部署到 ECS任务中运行。
  • ECS集群可以将容器运行在按需、RI、以及Spot实例上,具体需要根据业务场景来选择。比如可以将一些如图形处理,数据处理等临时性的任务跑在Spot实例上达到更高的成本效益。

最后一个常见的ECS用例是迁移应用程序到云端。通过将运行在本地数据中心的旧的应用程序容器化,然后就可以直接迁移应用程序至ECS。

ECS的核心概念

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MNo5sEcB-1672280454242)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/228b57dd-c791-4610-8000-eca0a2e2cdd6/Untitled.jpeg)]

接下来我们讨论下ECS包括的一些核心的概念。

首先,什么是ECS集群?ECS集群是ECS任务或服务的逻辑分组,ECS任务和服务我们一会讨论。目前可以把ECS集群理解成,您可以向ECS集群注册一个或者多个EC2实例,注册的实例组成ECS集群,然后可在这些实例上运行容器(任务)。当然也可以使用Fargate提供的无服务器架构来运行容器(任务),这个我们后面讨论。

我们看下右侧这个图,有两台EC2实例注册到了ECS集群,就可以在EC2实例上运行容器(任务)

另外,ECS集群的每一个EC2实例上,都会运行一个容器的agent,也就是容器代理。代理将实例当前运行的任务信息以及资源利用率等信息发送到ECS服务;以及执行ECS服务发送的启动和停止任务的请求。

然后前面我们说ECS集群是ECS任务或服务的逻辑分组,那什么是ECS任务?如果要在ECS集群运行容器,您的容器首先要在”任务定义”中定义

”任务定义“可以是一个JSON格式的文本,描述了构成您的应用程序的一个或多个容器(最多10个)。通过“任务定义”为您的容器的应用程序指定各种参数,比如为应用程序指定容器的信息,如容器使用的镜像,内存限制,端口映射等。然后就可以在ECS集群中运行任务。

所以要在集群运行容器就要先进行“任务定义”,然后选择“任务定义”在ECS集群上运行任务,从而运行您配置的容器。

所以“任务定义”是用于运行任务,以及 (注意)还用于创建ECS服务的。

什么是ECS服务呢?您可以将ECS任务理解成那种单一的,一次性执行的工作;ECS服务能够指定要在集群中运行并保持多少个“任务定义”副本。

所以像一些需要持续运行的业务或者服务,应该配置成ECS服务运行在ECS集群,这样的话任何任务失败或者终止,调度程序将会启动任务的另一个副本来替换它,能够维持您配置的指定的数量。

好的,以上是ECS的核心概念,我们继续。

Fargate

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EoVdZB6g-1672280454242)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a2cd411c-ba66-4801-8766-b9bb4fb483a7/Untitled.jpeg)]

前面我们讲了可以向ECS集群注册一个或者多个EC2实例,组成ECS集群。然后可在这些集群的EC2实例上运行任务或者服务。

这种方式的话是要自行创建和维护EC2实例的,也就是说ECS集群如果需要5台实例,您就要创建5台EC2实例。而且如果后续您的服务的访问量上来了,您需要扩展服务时,那就需要向ECS集群添加更多的EC2实例从而增加集群的计算能力。

在这种情况下,我们就不得不管理越来越多的基础设施,管理任务越来越多,如实例的打安全补丁等。

那除此之外,在ECS上运行容器还有另外一种方式,不用在自行注册EC2实例组成ECS集群运行服务,而是使用Fargate提供的无服务器架构来运行任务或者服务。

Fargate非常棒,使用Fargate我们不在需要创建EC2实例,也不用在管理集群的EC2实例,**由AWS来负责管理集群的基础设施,**我们甚至看不到这些基础设施。

我们要做的只要创建“任务定义”,然后选择FARGATE启动类型,任务就会在AWS负责管理的基础设施上运行,这些基础设施对我们是不可见的,由AWS负责管理。

这样的话,在后面如果需要扩展规模也会非常的容易,只需要增加任务数就搞定了。然后AWS会在其管理的基础设施上运行新的规模数量,我们不需要在新增EC2注册,在管理EC2,一切都由AWS负责搞定和管理,这就是Fargate无服务器架构的优势。

所以,在组织要使用ECS时,可以优先评估Fargate是否能够满足需求。

好的,以上就是我们今天课时的内容,我们ECS的内容的第一部分,希望能够给大家带来帮助。

希望此系列教程能为您通过 AWS解决方案架构师认证 Professional 认证考试带来帮助,如您有任何疑问,请联系我们:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/126590.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

磨金石教育摄影技能干货分享|什么是序列摄影?它让摄影更加深刻

著名摄影师肖尔曾这样表达过自己的摄影理念。 他说:“吸引我的总是平淡无奇的瞬间”。 他与著名的纪实摄影师布列松不同,他不喜欢去游荡在生活之外,去抓拍他人的精彩瞬间。 他也不喜欢报道式的摄影,不去过多关注社会话题。 而是将…

第二证券|首批浮动费率基金三年成绩出炉 规模虽小收益可观

2019年12月18日至12月26日,6家基金公司试点建立了职业第一批逐笔比例提取成绩酬劳的起浮办理费率基金(下称“起浮费率基金”)。如今,这6只起浮费率基金运作均已满三年,到2022年12月26日,6只产品建立以来均匀…

Selenium Webdriver 实现原理详解

目录 1. Selenium 概述 2. 术语解释: 3. Selenium WebDriver 实现原理 4. 安装selenium 客户端,浏览器,驱动 4.1 安装selenium client lib 4.2 安装浏览器和浏览器驱动 4.3 例子代码 4.4 省略浏览器驱动的方法 4.5 测试代码与Webdr…

MAC控制器驱动

嵌入式Linux开发模式下,以太网硬件架构一般都是 MAC与PHY是独立的。所以以太网模块的硬件相关的驱动代码主要包括 GMAC 和 PHY,其中MAC控制器驱动由SoC厂商开发,PHY芯片驱动由PHY厂商开发,PHY 驱动一般使用通用 PHY 驱动&#xff…

无线烧录器(2)

传送门:连接 继上次完成了ESP32无线烧录器。那么有一个问题就是,一堆人都在一起想用这个来无线烧录呢,那么固件中定死的热点名称岂不是会互相的扰乱。所以需要自己编译属于自己的热点名称。 首先需要准备以下几样东西。 Ubuntu (需…

excel数据透视表:善用这些功能,提高工作效率!下篇

在上篇文章中,我们为大家分享了透视表的前5条妙用,分别是合并同类项、按条件汇总数据、统计非重复数据、排名、批量创建表格,不知道大家都还记得吗?那么今天我们书接上回,继续为大家分享关于透视表的后5条妙用。 六、…

密码学_SM4国密算法

目录 简介 两类参数 加密流程 RKi和Ki4的生成方法 Xi4的生成方法​编辑 左移的概念 简介 在商用密码体系中,SM4主要用于数据加密,其算法公开,分组长度与密钥长度均为128bit,加密算法与密钥扩展算法都采用32轮非线性迭代结构&…

2022年终总结——脚踏实地,勇敢做自己

不知不觉又来到了年尾,即便都要迈入2023年了,但是在写日期的时候还会下意识的写成2021,这可能就是感觉一年额外漫长的原因吧。其实还是不希望过年的,毕竟跨过了新年要长岁了,看着日益增长的年岁还是会有点难过的&#…

JVM- 第一章-JVM与Java体系结构

JVM-第一章-JVM与Java体系结构1.1. 前言1.2开发人员如何看待上层框架1.3架构师每天都在思考什么?1.4我们为什么要学习JVM1.5 Java VS C1.6面向人群及参考书籍1.1. 前言 作为Java工程师的你曾被伤害过吗?你是否也遇到过这些问题? ● 运行着…

尚医通-数据字典添加缓存-配置nginx(十五)

目录: (1)后台系统 数据字典-添加缓存 (2)后台系统配置nginx (1)后台系统 数据字典-添加缓存 Spring Cache Redis 缓存数据 Spring Cache 是一个非常优秀的缓存组件。自Spring 3.1起&#xff…

CSDN第19次竞赛题解与总结

2022/12/28 19:00 CSDN第19次竞赛火热进行。 本场竞赛由「电子工业出版社 & CSDN」联合主办。 《Python机器学习算法与实战》 本书基于Python语言,结合实际的数据集,介绍如何使用机器学习与深度学习算法,对数据进行实战分析,在…

MySQL 启动日志报错:Starting MySQL. ERROR! The server quit without updating PID file

一 问题描述 1.1 问题描述 1.首先通过切换到mysql数据库所属用户: hd-mysql [rootlocalhost local]# su hd-mysql 2.启动mysql,报错 [hd-mysqllocalhost data]$ service mysql start Starting MySQL. ERROR! The server quit without updating PID…

50+Vue经典面试题源码级详解,你值得收藏!(一天更新一题,持续更新!!!)

Vue经典面试题源码级详解1、Vue组件之间通信方式有哪些?分析:思路分析:回答范例:1. 组件通信常用方式有以下8种:2、根据组件之间关系讨论组件通信最为清晰有效2、v-if 和 v-for哪个优先级更高分析:思路分析…

学习C语言笔记:数据和C

C Primer Plus (第6版)中文版第3章 学习内容: 1.关键字——int、short、long、unsigned、char、float、double、_Bool、_Complex、_Imaginary; 2.运算符——sizeof(); 3.函数——scanf(); 4.整数类型和浮点数类型的区别; 5.如何书写整型和浮点…

STL简介

目录 什么是STL STL的版本 STL的六大组件 如何学习STL STL的缺陷 结束语 什么是STL STL(standard template libaray-标准模板库):是C标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架 STL的版本…

公司来了个卷王,我愿称之为王中王,让人崩溃

前几天我们公司一下子也来了几个新人,这些年前人是真能熬啊,本来我们几个老油子都是每天稍微加会班就打算走了,这几个新人一直不走,搞得我们也不好走。 2023年春招就要开始了,最近内卷严重,各种跳槽裁员&a…

从TikTok功能优化,抓住直播带货机遇

从今年流出的各类消息总结,TikTok的发展势头愈发迅猛,无论是布局东南亚各个站点,还是在其下载量的激增,都迸发出了前所未有的劲头,其对本身的优化也一直在进行。那么今年,TikTok都进行了哪些功能优化呢&…

p5.js 使用npm安装p5.js后如何使用?

本文简介 点赞 关注 收藏 学会了 在 《p5.js 光速入门》 中都是使用 CDN 的方式去使用 p5.js 的,不太符合当下的开发习惯。 不管是使用 Vue 还是 React,我们日常项目大部分应该都是使用脚手架的方式进行开发了,按照 《p5.js 光速入门》 …

互联网营销的基础方法

推广目的 1.让目标消费群在最短的时间内认知新产品的功能、效果,缩短新产品推广期的时间长度,尽快进入成长期,创造效益。 2.使目标消费群产生试用的欲 望,并逐步将其培育成品牌忠诚者。 3.提高品牌知名度和美誉度。 4.提高现场售点的产品的销量。 5.巩固通路经销商的客…

ARM64内存虚拟化分析(1)基础知识

1 两级转换 1.1 什么是stage2转换 Stage2转换允许hypervisor控制虚拟机VM中内存视图。它允许hypervisor控制一个虚拟机可以访问哪块内存映射的系统资源,以及这些资源应该出现在虚拟机地址空间的哪个位置。 这种控制内存访问的能力对于隔离是非常重要的。Stage2转换…