在 AWS 中部署一个容器实例
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 打开控制台。 选择 "创建群集"。
输入“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
恭喜! 通过配置仅几个设置,您已在Amazon Elastic Container Service中部署了一个公开可访问的应用程序。