AWS学习笔记(二十一):ECS
集群 Cluster
Amazon ECS 集群是任务或服务的逻辑分组。您可以使用集群隔离应用程序。这样,他们就不会使用相同的底层基础设施。当您的任务在 Fargate 上运行时,您的集群资源也由 Fargate 托管。
容器和镜像
要在 Amazon ECS 上部署应用程序,必须配置应用程序组件以在容器中运行。容器是软件开发的标准化单位,它包含软件应用程序运行需要的所有内容。这包括相关代码、运行时、系统工具和系统库。从称为映像的只读模板中创建容器。
通常通过 Dockerfile 进行构建镜像。Dockerfile 是一个纯文本文件,指定了容器中包含的所有组件。构建完成后,这些映像将存储在可从中下载它们的注册表。然后,下载后,您可以使用它们在集群上运行。有关容器技术的更多信息,请参阅 Amazon ECS 的 Docker 基本信息。
任务定义
任务定义是描述构成应用程序的一个或多个容器的文本文件,该文件以 JSON 格式。您可以使用它来描述最多 10 个容器。任务定义可以用作应用程序的蓝图。它为您的应用程序指定各种参数。例如,您可以使用它指定操作系统的参数、要使用哪些容器、要为应用程序打开哪些端口以及任务中的容器应使用哪些数据卷。可用于任务定义的特定参数取决于您的特定应用程序需求。
您的整个应用程序堆栈不需要存在于单个任务定义上。实际上,我们建议您的应用程序跨越多个任务定义。您的应用程序可通过将相关容器组合到其自己的任务定义(每个任务定义表示一个组件)中来操作。
任务
任务 是集群内的任务定义的实例化。在为 Amazon ECS 中的应用程序创建任务定义后,您可以指定将在集群上运行的任务的数量。您可以运行独立任务,也可以将任务作为服务的一部分运行。
服务
您可以使用 Amazon ECS 服务在 Amazon ECS 集群中同时运行和维护所需数量的任务。它的工作原理是,如果您的任何任务出于任何原因失败或停止,Amazon ECS 服务调度器将根据您的任务定义启动另一个实例。这样做是为了替换它,从而保持服务中所需的任务数量。
容器代理
容器代理 在 Amazon ECS 群集内的每个实例上运行。代理向 Amazon ECS 发送有关容器当前正在运行的任务和资源使用率的信息。在接收来自 Amazon ECS 的请求时启动和停止任务。有关更多信息,请参阅 Amazon ECS 容器代理。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理