在 Amazon Lightsail 上部署容器 Web 应用程序

入门指南

模块 2:创建容器服务

在本模块中,您将学习如何创建 Lightsail 容器服务

简介

Amazon Lightsail 容器服务是一个计算资源,您可以在其中部署 Docker 镜像。当您将镜像部署到 Lightsail 容器服务时,该服务会自动在 AWS 基础设施中启动并运行您的容器。

您可以将 Lightsail 容器服务视为一个计算环境,它允许您使用创建的镜像在 AWS 基础设施上运行容器。除了计算资源之外,容器服务还会分配一个 DNS 名称、一个 TLS 证书和一个可选的网络负载均衡器,以在容器的多个实例之间分配网络流量。

创建 Lightsail 容器服务时,选择已创建服务的 AWS 区域以及您的应用程序所需的计算能力。您可以选择 1 到 20 个节点之间的任意容量,每个节点具有 0.25 个 vCPU 到 4 个 vCPU,以及 512Mb 和 8Gb 的 RAM,

您可以随时更改节点的数量和大小,具体取决于您的应用程序使用情况。

您将学到的内容

  • 如何将 Amazon Lightsail 扩展程序安装到 AWS CLI。
  • 创建容器服务。

 完成所需时间

10 分钟

 模块先决条件

  • 具有管理员级访问权限的 AWS 账户**
  • 推荐的浏览器:最新版 Chrome 或 Firefox

[**] 过去 24 小时内创建的账户可能尚不具有访问此教程所需服务的权限。

实施

安装 AWS CLI Lightsail 扩展程序

要与 Amazon Lightsail 容器交互,您需要安装 AWS CLI 和容器服务插件,这是一组允许 Lightsail 操作 Docker 容器的扩展程序。这是一次性设置。

如果您没有安装 Lightsail CLI 或容器服务插件,则可以按照此处针对您的操作系统的说明进行操作。

创建容器服务

要部署我们的容器,首先要创建一个 Lightsail 容器服务。容器服务是部署和运行容器所需的计算基础设施。

容器服务由计算节点、TLS 证书、DNS 域名和可选的负载均衡器组成。

在创建容器服务之前,需要确定三个参数:

  • 要在其中部署容器的 AWS 区域。通常选择地理位置靠近客户所在区域的区域。
  • 计算节点的大小。大小的表示方式与 T 恤尺寸相同,在 Nano(0.25 个 vCPU 和 512Mb RAM)和 XLarge(4 个 vCPU 和 8Gb RAM)之间
  • 要分配的节点数,介于 1 到 20 之间。

要创建 Lightsail 容器服务,请打开终端并键入以下命令:

aws lightsail create-container-service \
    --region eu-west-3                 \
    --service-name signup-application  \
    --power nano                       \
    --scale 1

在这里,我选择使用一个 Nano 计算节点在 AWS 欧洲(巴黎)区域 (eu-west-3) 上进行部署。

该命令会输出一条 JSON 消息,例如:

{
    "containerService": {
        "containerServiceName": "signup-application",
        "arn": "arn:aws:lightsail:eu-west-3:012345678901:ContainerService/528a0bcf-fd14-42d4-a09a-943a241adc51",
        "createdAt": "2021-07-17T13:38:40+02:00",
        "location": {
            "availabilityZone": "all",
            "regionName": "eu-west-3"
        },
        "resourceType": "ContainerService",
        "tags": [],
        "power": "nano",
        "powerId": "nano-1",
        "state": "PENDING",
        "scale": 1,
        "isDisabled": false,
        "principalArn": "",
        "privateDomainName": "signup-application.service.local",
        "url": "https://signup-application.me04fvc6dbk4e.eu-west-3.cs.amazonlightsail.com/"
    }
}

请注意 "state": "PENDING" 状态。一段时间后,状态将变为 READY。您可以使用以下命令检查容器服务的状态:

aws lightsail get-container-services  \
    --region eu-west-3                \
    --service-name signup-application \
    --query "containerServices[].state"
[
    "READY"
]

您可以随时更改节点的数量和大小,具体取决于您的应用程序使用情况。以下是将比例从 1 更改为 2 的示例:

aws lightsail update-container-service \
    --region eu-west-3                 \
    --service-name signup-application  \
    --scale 2   

恭喜,您的容器服务现已准备好托管您的容器。

结论

在本模块中,您学习了如何创建 Amazon Lightsail 容器服务。在下一个模块中,您将学习如何将其部署到云以及如何在发生更改时更新您的应用程序。

下一模块:部署容器

请就我们的表现提供反馈。