Amazon ECS 开发人员工具概述 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon ECS 开发人员工具概述

无论是大型企业还是初创企业,无论专业知识水平如何,Amazon ECS 都提供多种工具,可帮助您快速启动和运行容器。您可以通过以下方式使用 Amazon ECS:

Amazon Web Services Management Console

Amazon Web Services Management Console 是用于管理 Amazon ECS 资源的基于浏览器的界面。该控制台提供了服务的直观概述,无需使用其他工具,您可以轻松地探索 Amazon ECS 的特性和功能。提供了许多相关教程和演练,可以指导您使用控制台。

有关指导您使用控制台的教程,请参阅 Amazon ECS 入门

在开始时,许多客户更喜欢使用控制台,因为它提供了关于他们采取的行动是否成功的即时视觉反馈。熟悉 Amazon Web Services Management Console 的 Amazon 客户可以轻松管理相关资源,如负载平衡器和 Amazon EC2 实例。

从 Amazon Web Services Management Console 开始

Amazon Command Line Interface

Amazon Command Line Interface (Amazon CLI) 是用于管理 Amazon 服务的统一工具。单独使用这个工具,您可以控制多个 Amazon 服务,并通过脚本自动执行这些服务。Amazon CLI 中的 Amazon ECS 命令是 Amazon ECS API 的反映。

Amazon 提供两组命令行工具:Amazon Command Line Interface(Amazon CLI)和 Amazon Tools for Windows PowerShell。有关更多信息,请参阅 Amazon Command Line Interface 用户指南Amazon Tools for Windows PowerShell 用户指南

Amazon CLI 适用于喜欢并习惯于使用命令行工具编写脚本并与之交互的客户,他们确切知道希望在其 Amazon ECS资源 上执行哪些操作。Amazon CLI 对于希望熟悉Amazon ECS API的客户也很有帮助。客户可以使用 Amazon CLI 直接从命令行界面对 Amazon ECS 资源执行多项操作,包括创建、读取、更新和删除操作。

如果您熟悉或希望熟悉 Amazon ECS API 和相应的 CLI 命令,并希望编写自动脚本并在 Amazon ECS 资源上执行特定操作,使用 Amazon CLI。

Amazon CloudFormation

Amazon CloudFormationTerraform 为 Amazon ECS 提供了强大的方法,让您可以将基础设施定义为代码。您可以轻松跟踪您的模板版本或随时运行 Amazon CloudFormation 堆栈,并在需要时回滚到以前的版本。您可以以相同的自动化方式执行基础架构和应用程序部署。这种灵活性和自动化使得 Amazon CloudFormation 和 Terraform 两种常用格式,用于从连续交付管道将工作负载部署到 Amazon ECS。

有关 Amazon CloudFormation 的更多信息,请参阅 使用 Amazon CloudFormation 创建 Amazon ECS 资源

使用 Amazon CloudFormation 或 Terraform,如果您希望在 Amazon ECS 上自动执行基础设施部署和应用程序,并明确定义和管理所有Amazon环境中的资源。

Amazon Copilot CLI

Amazon Copilot CLI(命令行界面)是一个全面的工具,使客户能够直接从源代码在 Amazon ECS 上部署和操作包装在容器和环境中的应用程序。使用Amazon Copilot 时,您可以执行这些操作,而无需了解Amazon和了解 Amazon ECS 元素,如应用程序负载平衡器、公共子网、任务、服务和集群Amazon。Copilot Amazon 代表您从固定的服务模式(如负载平衡的web服务或后端服务)创建资源,为容器化应用程序提供即时生产环境。您可以通过 Amazon CodePipeline 管道跨多个环境、账户或区域,所有这些都可以在 CLI 内进行管理。通过使用 Amazon Copilot,您还可以执行操作员任务,例如查看日志和服务运行状况。AmazonCopilot 是一 all-in-one 款可帮助您更轻松地管理云资源的工具,以便您可以专注于开发和管理应用程序。

有关更多信息,请参见 使用 Amazon Copilot 命令行界面

使用 Amazon Copilot 完整的 end-to-end 开发人员工作流程来创建、发布和操作符合基础设施Amazon最佳实践的容器应用程序。

Amazon CDK

Amazon Cloud Development Kit (Amazon CDK) 是一个开源软件开发框架,使您可以使用熟悉的编程语言对云应用程序资源进行建模和预置。通过 Amazon CloudFormation,Amazon CDK 能够以安全、可重复的方式预置资源。使用 CDK,客户可以使用与构建应用程序时使用的语言相同的语言,使用更少的代码行生成环境。Amazon ECS 在 CDK 中提供了一个名为 ecs-patterns 的模块,创建了通用的体系结构。一个可用的模式是 ApplicationLoadBalancedFargateService()。此模式创建集群、任务定义和其他资源,以便在 Amazon Fargate 上运行负载平衡的 Amazon ECS 服务。

有关更多信息,请参见 使用 Amazon CDK 的 Amazon ECS 入门

如果要将基础结构或体系结构定义为首选编程语言中的代码,请使用 Amazon CDK。例如,您可以使用与编写您的应用程序相同的语言。

Amazon App2Container

有时企业客户可能已经拥有托管在本地或 EC2 实例上(或两者)的应用程序。他们对 Amazon ECS 上容器的可移植性和工具生态系统感兴趣,需要首先进行容器化。AmazonApp2Container 使您能够做到这一点。App2Container (A2C) 是一个命令行工具,用于将 .NET 和 Java 应用程序现代化为容器化应用程序。A2C 分析并构建在虚拟机、本地部署或云中运行的所有应用程序的清单。选择要进行容器化的应用程序后,A2C将应用程序工件和标识的依赖项打包到容器映像中。然后,它会配置网络端口并生成 Amazon ECS 任务。最后,它会创建一个 CloudFormation 模板,您可以根据需要部署或修改该模板。

有关更多信息,请参阅 Amazon App2Containe 入门

如果您的应用程序托管在本地部署或 Amazon EC2 实例上(或两者),请使用 App2Container。

Amazon ECS CLI

通过 Amazon ECS CLI,您可以在 Amazon ECS 和 Amazon Fargate 上使用 Docker Compose 文件格式运行应用程序。您可以快速配置资源,使用 Amazon ECR 推送并拉取映像,并监控 Amazon ECS 上正在运行的应用程序或 Amazon Fargate。您还可以在 CLI 中测试本地运行的容器以及云中的容器。

有关更多信息,请参见 使用 Amazon ECS 命令行界面

如果您有 Compose 应用程序并希望将其部署到 Amazon ECS,或者使用云中 Amazon ECS中运行的容器测试本地容器,请使用 ECS CLI。

与 Amazon ECS 集成的 Docker Desktop

Amazon 和 Docker 合作打造简化的开发人员体验,使您能够直接使用 Docker 工具在 Amazon ECS 上部署和管理容器。现在,您可以使用 Docker Desktop 和 Docker Compose 本地构建和测试容器,然后将它们部署到 Fargate 上的 Amazon ECS。要开始使用Amazon ECS和 Docker 集成,请下载 Docker Desktop 并选择注册 Docker ID。有关更多信息,请参阅 Docker DesktopDocker ID 注册

容器的初学者通常会使用 Docker CLI 和 Docker Compose等 Docker 工具开始学习容器。这样,使用 Docker Compose CLI 插件进行 Amazon ECS 成为在本地测试后 Amazon 上运行容器的下一步。Docker 提供了有关在 Amazon ECS上部署容器的演练。有关更多信息,请参阅 Docker Compose CLI-Amazon ECS

您可以利用其他 Amazon ECS 功能,例如服务发现、负载平衡和其他 Amazon 资源与 Docker Desktop 配合使用的应用程序。

你也可以直接从中下载适用于亚马逊 ECS 的 Docker Compose CLI 插件。 GitHub有关更多信息,请参阅上的 Amazon ECS 的 Docker Compose CLI 插件。 GitHub

Amazon 开发工具包

您还可以使用 Amazon SDK 用于通过各种编程语言管理 Amazon ECS 资源和操作。软件开发工具包提供了帮助处理任务的模块,包括以下列表中的任务。

  • 对服务请求进行加密签名

  • 重试请求

  • 处理错误响应

有关可用软件开发工具包的更多信息,请参阅 Amazon Web Services 的工具

总结

有很多选项可供选择,您可以选择最适合您的选项。请考虑以下选项。

  • 如果您是以视觉为导向的,则可以使用 Amazon Web Services Management Console 创建并操作容器。

  • 如果您更喜欢 CLI,请考虑使用 Amazon Copilot 或 Amazon CLI。如果您更喜欢 Docker 生态系统,您可以利用 Docker CLI 中的ECS功能部署到 Amazon。部署这些资源后,您可以继续通过 CLI 或控制台进行直观管理。

  • 如果您是一名开发人员,您可以使用 Amazon CDK 通过与应用程序相同的语言定义基础结构。您可以使用 CDK 和 C Amazon opilot 导出到 CloudFormation 模板,在模板中您可以更改精细设置、添加其他Amazon资源,并通过脚本或 CI/CD 管道(例如)自动部署。Amazon CodePipeline

Amazon CLI、软件开发工具包或 ECS API 是在 ECS 资源上自动执行操作的有用工具,非常适合部署。要使用 Amazon CloudFormation 部署应用程序,可以使用多种编程语言或简单的文本文件来建模和提供应用程序所需的所有资源。然后,您可以以自动安全的方式跨多个区域和账户部署您的应用程序。例如,您可以将 ECS 集群、服务、任务定义或容量提供程序定义为文件中的代码,然后通过Amazon CLI CloudFormation 命令进行部署。

要执行操作任务,您可以使用 Amazon CLI、软件开发工具包或 ECS API。describe-taskslist-services 等命令显示最新的元数据或所有资源的列表。与部署类似,客户可以编写一个自动化,其中包含 update-service,以便在检测到意外停止的资源时提供纠正措施。您也可以使用 Amazon Copilot 操作您的服务。copilot svc logscopilot app show 等命令提供有关每个微服务或整个应用程序的详细信息。

客户可以使用本文档中提到的任何可用刀具,并以各种组合方式使用。ECS工具提供了多种途径,可以从某些工具升级到使用其他适合您不断变化需求的工具。例如,您可以根据需要选择对资源进行更精细的控制或更多的自动化。ECS还提供多种工具,满足各种需求和专业水平。