您将为模块 2 中启动的集群部署三项新服务。与模块 2 类似,您将为每项服务编写任务定义。
⚐ 注意:可将多个容器添加到单个任务定义。这意味着您可以将三个微服务作为不同于单个服务的容器运行。但是,采用这种方式构建的仍是整体式架构,因为每个容器仍需要与服务一起进行线性扩展。您的目标是创建三项独立的服务。每项服务都需要自己的任务定义借助相应的服务映像运行容器。
您可以从 Amazon ECS 控制台创建这些任务定义,或以 JSON 的形式编写任务定义,以加快处理速度。要以 JSON 文件的形式编写任务定义,请遵循以下步骤:
- 在 Amazon ECS 下的 Amazon Container Services 控制台中,选择任务定义。
- 在任务定义页面,选择新建任务定义按钮。
- 在选择启动类型兼容性页面中,选择 EC2 选项,然后选择下一步。
- 在“配置任务和容器定义”页面中,滚动到卷部分,然后选择通过 JSON 配置按钮。
- 将以下代码段复制并粘贴到 JSON 字段,替换现有代码。
记住替换 [service-name]、[account-ID]、[region] 和 [tag] 占位符。
⚐ 注意:以下参数用于任务定义:
- 名称 = [service-name: posts, threads, and users]
- 映像 = [Amazon ECR repository image URL]:latest
- cpu = 256
- 内存 = 256
- 容器端口 = 3000
- Host Post = 0
{
"containerDefinitions": [
{
"name": "[service-name]",
"image": "[account-id].dkr.ecr.[region].amazonaws.com/[service-name]:[tag]",
"memoryReservation": "256",
"cpu": "256",
"essential": true,
"portMappings": [
{
"hostPort": "0",
"containerPort": "3000",
"protocol": "tcp"
}
]
}
],
"volumes": [],
"networkMode": "bridge",
"placementConstraints": [],
"family": "[service-name]"
}