在 AWS 中部署一个容器实例
亚马逊弹性容器服务 (亚马逊 ECS) 是一种高度可扩展、快速的容器管理服务,可让您轻松运行、停止和管理容器。您可以通过在 AWS Fargate 上启动服务或任务,将容器托管在由 Amazon ECS 管理的无服务器基础架构上。有关 Fargate 的更多信息,请参阅 亚马逊 ECS 的 AWS Fargate.
第 1 步:登录 AWS 账户
登录 AWS 门户。
如果没有 AWS 帐户,请完成以下步骤,通过打开来创建一个帐户 https://portal.aws.amazon.com/billing/signup.
第 2 步:创建虚拟私有云
您可以使用亚马逊虚拟私有云 (亚马逊 VPC) 将 AWS 资源启动到您定义的虚拟网络中。我们强烈建议您在 VPC 中启动容器实例。
如果您有默认 VPC,则可以跳过本节,转到下一个任务 "创建安全组"。要确定您是否拥有默认 VPC,请参阅《Amazon EC2 用户指南》中的 Amazon EC2 控制台支持的平台。否则,您可以使用以下步骤在账户中创建一个非默认 VPC。
有关如何创建 VPC 的信息,请参阅《Amazon VPC 用户指南》中的 "仅创建 VPC",并使用下表确定要选择的选项。
选项 价值
创建资源 仅 VPC
名称 可选择提供 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 用户指南》中的创建安全组,并使用下表确定要选择的选项。
选项 价值
区域 与您创建密钥对的区域相同
名称 易于记忆的名称,如 ecs-instances-default-cluster
VPC 默认 VPC (标有"(默认)"
备注
如果您的账户支持 Amazon EC2 Classic,请选择您在上一任务中创建的 VPC
第 4 步:创建 ECS 群集
在 AWS 门户主页上,在搜索框中搜索 "ECS",然后选择 "Elastic Container Service"。或在以下网址打开控制台 https://console.aws.amazon.com/ecs/v2.
选择 "创建群集"。
输入 "群集名称"。仅选择 "AWS Fargate (无服务器)基础设施部分的""。
将其他值保留为默认值,然后选择 创建。
第 5 步:创建任务定义
创建群集后,选择任务定义。
选择创建新任务定义,然后选择创建新任务定义。
在任务定义配置部分,输入任务定义系列的值。
在基础设施要求部分,为启动类型、CPU、内存、任务角色和任务执行角色输入以下值。
- 启动类型:只有 "AWS Fargate
- CPU:1 vCPU
- 内存: `2 GB
- 任务角色:
ecsTaskExecutionRole
(任务执行角色 - 任务执行角色:
ecsTaskExecutionRole
在 容器 - 1 部分,为 名称、图像 URI、容器端口、端口名称和 环境变量输入以下值。
- 名称:我的容器
- 图片 URI:最新的
ironsoftwareofficial/ironsecuredoc
或通过标签ironsoftwareofficial/ironsecuredoc:2024.7.1
指定 - 容器端口:
8080
- 端口名称:
8080
添加环境变量:
环境变量:生产
HTTP_PORTS:
8080
- IronSecureDoc_LicenseKey: `YOUR-LICENSE-KEY
对于 IronSecureDoc_LicenseKey,为了安全起见,我们不建议直接添加到 环境变量中。我们建议从加密的亚马逊 S3 存储桶中获取环境文件,请参阅 将敏感数据传递到 Amazon ECS 容器.
将其他值保留为默认值,然后选择 创建。
第 6 步:创建服务
返回群集页面 > 选择群集 (IronSecureDoc).
选择标签服务 > 然后选择创建。
在环境部分,为计算选项和启动类型输入以下值。
- 计算选项:选择 "启动类型
- 启动类型:选择 "FARGATE
在部署配置部分,为应用程序类型、系列、版本、服务名称和预期任务输入以下值。
- 应用程序类型:选择 "服务
任务定义
- 家庭:选择已创建的任务定义
ironsecuredoc
- 家庭:选择已创建的任务定义
- 修订:选择任务定义修订版
1 (最新)
- 服务名称:`myservice
- 预期任务:
1
请注意,如果不存在VPC和安全组,则可能需要创建VPC和安全组。
将其他值保留为默认值,然后选择 创建。
部署开始时,会出现一个通知,显示部署正在进行中。服务部署完成后,会显示另一个通知。
查看服务 > 然后打开任务。
在 "任务配置 "中,您可以使用公共 IP 运行 curl 命令来检查 API 是否正常工作,该命令应返回 "pong"。
curl http://18.118.166.206:8080/v1/document-services/ping
祝贺! 只需配置几个设置,您就可以在 Amazon Elastic Container Service 中部署一个可公开访问的应用程序。