在 AWS 中部署一个容器实例
亚马逊弹性容器服务(亚马逊 ECS)是一种高度可扩展、快速的容器管理服务,使运行、停止和管理容器变得简单。 您可以通过在 AWS Fargate 上启动您的服务或任务,将您的容器托管在由 Amazon ECS 管理的无服务器基础设施上。 有关 Fargate 的更多信息,请参阅亚马逊 ECS 的 AWS Fargate.
步骤1:登录AWS账户
登录 AWS 门户。
如果您还没有AWS账户,请按照以下步骤创建一个:打开https://portal.aws.amazon.com/billing/signup.
步骤2:创建一个虚拟私有云
您可以使用Amazon Virtual Private Cloud(亚马逊 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(最新)
- 家庭:选择已创建的任务定义
- 服务名称:
myservice
- 所需任务:
1
请注意,对于网络连接,如果不存在,您可能需要创建VPC和安全组。
将其他值保留为默认值,然后选择 创建。
部署开始时,会出现一个通知,表明部署正在进行中。 当服务部署后会显示另一个通知。
查看您的服务 > 然后打开任务。 在 "任务配置 "中,您可以使用公共 IP 运行 curl 命令来检查 API 是否正常工作,该命令应返回 "pong"。
curl http://18.118.166.206:8080/v1/document-services/ping
祝贺! 通过配置仅几个设置,您已在Amazon Elastic Container Service中部署了一个公开可访问的应用程序。