在 AWS 中部署一个容器实例

查克尼特·宾
查克尼特·宾
2024年七月3日
更新 2024年十一月19日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

Amazon Elastic Container Service(Amazon ECS)是一种高度可扩展、快速的容器管理服务,使您可以轻松运行、停止和管理容器。 您可以通过在 AWS Fargate 上启动您的服务或任务,将您的容器托管在由 Amazon ECS 管理的无服务器基础设施上。 有关 Fargate 的更多信息,请参阅AWS Fargate for Amazon ECS

步骤1:登录AWS账户

登录 AWS 门户。

如果您没有 AWS 账户,那么注册一个新的 AWS 账户

步骤2:创建一个虚拟私有云

您可以使用 Amazon Virtual Private Cloud (Amazon VPC) 将 AWS 资源启动到您已定义的虚拟网络中。 我们强烈建议您在VPC中启动容器实例。

如果您有默认的 VPC,可以跳过此部分,直接进入下一个任务:创建安全组。要确定是否拥有默认 VPC,请参见 Amazon EC2 用户指南中的 Amazon EC2 控制台支持的平台。否则,您可以使用以下步骤在您的账户中创建一个非默认 VPC。

有关如何创建VPC的信息,请参阅Amazon VPC用户指南中的仅创建VPC部分,并使用以下表格来确定选择哪些选项。

选项 值


资源来创建 VPC 仅限

Name 可选地为您的VPC提供一个名称。

IPv4 CIDR 块 IPv4 CIDR 手动输入
CIDR 块的大小必须介于 /16 和 /28 之间

IPv6 CIDR 块 没有 IPv6 CIDR 块

租赁 默认

有关Amazon VPC的更多信息,请参阅什么是Amazon VPC? 在Amazon VPC用户指南中。

步骤3:创建一个安全组

安全组充当关联容器实例的防火墙,在容器实例级别控制进出流量。 您可以向安全组添加规则,使您能够使用 SSH 从您的 IP 地址连接到您的容器实例。 您还可以添加规则,允许来自任何地方的入站和出站 HTTP 以及 HTTPS 访问。 添加任何由您的任务所需的开放端口规则。 容器实例需要访问外部网络才能与Amazon ECS服务端点通信。

有关如何创建安全组的信息,请参阅Amazon EC2用户指南中的创建安全组,并使用以下表格确定选择哪些选项。

选项 值


Region 您创建密钥对的相同区域

Name 方便您记住的名称,例如 ecs-instances-default-cluster

VPC 默认VPC(标记为“(默认)”)
注意
如果您的账户支持Amazon EC2 Classic,请选择您在前一个任务中创建的VPC。

步骤4:创建一个ECS集群

在 AWS 门户主页的搜索框中搜索“ECS”并选择“Elastic Container Service”。 或者在 https://console.aws.amazon.com/ecs/v2 打开控制台。 搜索 ECS选择 "创建群集"。 创建集群输入“Cluster name”。 在基础设施部分仅选择“AWS Fargate(无服务器)”。 创建群组值将其他值保留为默认值,然后选择创建

步骤5:创建任务定义

集群创建后,选择任务定义。 创建任务定义选择创建新任务定义,然后选择创建新任务定义。 创建新任务定义任务定义配置部分,输入任务定义系列的值。 任务定义配置部分基础设施要求部分,为启动类型CPU内存任务角色任务执行角色输入以下值。

  • 启动类型:仅AWS Fargate
  • CPU: 1 vCPU
  • 内存: 2 GB
  • 任务角色:ecsTaskExecutionRole
  • 任务执行角色:ecsTaskExecutionRole 基础设施要求容器 - 1 部分中,输入以下值: 名称镜像 URI容器端口端口名称环境变量
  • 名称: mycontainer
  • 图片 URI:ironsoftwareofficial/ironsecuredoc 用于获取最新版本或通过标签指定 ironsoftwareofficial/ironsecuredoc:2024.7.1
  • 容器端口:8080
  • 端口名称:8080
  • 添加环境变量:

    • 环境: Production

    • HTTP_PORTS: 8080

    • IronSecureDoc_LicenseKey: YOUR-LICENSE-KEY

    对于IronSecureDoc_LicenseKey,我们不建议直接添加到环境变量中以确保安全性。 我们建议从加密的 Amazon S3 存储桶中检索环境文件,请参阅将敏感数据传递到 Amazon ECS 容器集装箱部分将其他值保留为默认值,然后选择创建

步骤 6: 创建服务

返回到集群页面 > 选择您的集群 (IronSecureDoc)。 选择您的群组选择标签服务 > 然后选择创建。 创建服务环境部分,输入以下计算选项启动类型的值。

  • 计算选项:选择启动类型
  • 启动类型:选择FARGATE 服务环境部署配置部分,输入以下值用于应用类型系列修订服务名称预期任务
  • 应用程序类型:选择服务
  • 任务定义:

    • 系列: 选择创建的任务定义ironsecuredoc
  • 修订:选择任务定义修订版1 (LATEST)
  • 服务名称:myservice
  • 所需任务:1 服务部署配置请注意,进行网络设置时,如果不存在,您可能需要创建VPC安全组

将其他值保留为默认值,然后选择创建

部署开始时,会出现一个通知,表明部署正在进行中。 当服务部署后会显示另一个通知。

查看您的服务 > 然后打开任务。 打开已创建的任务在任务配置中,您可以使用公共 IP 运行 curl 命令以检查 API 是否正常工作,这应该返回pong

curl http://18.118.166.206:8080/v1/document-services/ping

公共 IP恭喜! 通过配置仅几个设置,您已在Amazon Elastic Container Service中部署了一个公开可访问的应用程序。

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。