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

教程

模块 2:创建容器服务

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

概述

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

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

创建 Lightsail 容器服务时,您需要选择创建该服务的 AWS 区域以及应用程序所需的计算能力。您可以选择 1 到 20 个节点,每个节点可以拥有 0.25 到 4 个 vCPU,以及 512 MB 到 8 GB 内存。

您可以根据应用程序的使用情况,随时更改节点数量和节点资源规格。

学习目标

在本模块中,您将:

  • 在 AWS CLI 中安装 Amazon Lightsail 扩展程序
  • 创建容器服务

 时长

10 分钟

 模块学习前期准备

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

*在过去 24 小时内新创建的账户可能无法使用本教程所需的服务。

操作步骤

安装 AWS CLI Lightsail 扩展程序

为了与 Amazon Lightsail 容器交互,您需要安装 AWS CLI 和容器服务插件。容器服务插件是一组可以实现 Lightsail 操作 Docker 容器的扩展程序。您只需进行一次设置,便可启用容器服务插件。

如果没有安装 Lightsail CLI 或容器服务插件,点击查看安装说明,安装适用于您操作系统的扩展程序。

创建容器服务

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

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

在创建容器服务之前,您需要配置三个参数:

  • 选择要部署容器的 AWS 区域。我们建议您选择一个在地理位置上靠近您的用户所在地的区域。有关 AWS 区域和可用区的完整列表,请参阅区域和可用区
  • 计算节点规格。您可以选择从 Nano 到 XLarge 的节点类型。Nano:0.25 个 vCPU 和 512 MB RAM;XLarge:4 个 vCPU 和 8 GB RAM。
  • 节点数量可以是 1 至 20 个。

创建 Lightsail 容器服务。打开终端,然后运行以下命令:

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

此次实验中,我们选择在 AWS 欧洲(巴黎)区域 (eu-west-3) 部署 Nano 类型计算节点。

该命令会输出一条 JSON 消息,如下所示:

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

{
    "containerService": {
        "containerServiceName": "signup-application",        "arn": "arn:aws:lightsail:eu-west-3:012345678901:ContainerService/528a0bcf-fd14-42d4-a09a-943a241adc51",
        "createdAt": "2024-03-18T10:25:22-04: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"

该命令会输出一条 JSON 消息,如下所示:

# 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 容器服务。在下一个模块中,您将学习如何在云中部署服务,以及如何在必要时更新应用程序。

下一项:部署容器