用途
本技能把容器镜像部署到 Amazon Lightsail Container Service,返回一个由 AWS 托管的 HTTPS 地址。该服务按固定月费计费,URL、TLS 证书和负载均衡均包含在内,无需自行搭建集群、VPC、负载均衡器或镜像仓库。技能也用于诊断无法正常提供服务的 Lightsail 部署。
主要能力
- 创建 Lightsail 容器服务,并轮询至 READY 状态。
- 支持三种镜像来源:公有仓库镜像(无需构建和推送)、本地构建后推送、从 GitHub 仓库克隆构建后走本地镜像路径。
- 创建部署版本(containers + 一个 publicEndpoint + 健康检查),轮询至 ACTIVE。
- 部署成功后读取服务生成的 URL 并验证响应,报告 URL、月费和拆除命令。
- 读取容器日志以诊断部署失败或 502/503 问题。
- 调整运行中服务的容量(power/scale),会自动无停机重新部署当前版本。
- 回滚到先前部署版本,或删除服务停止计费。
使用方式
前提:确认镜像来源、应用监听端口和区域;运行时发现可用的 power 和区域,不硬编码;创建前确认并说明固定月费(power × scale,无流量也计费),除非用户已明确要求继续。
工具:公有仓库镜像部署只需 AWS CLI v2,操作可通过 AWS MCP 工具(优先)或本地 CLI 执行。本地构建或推送还需运行中的 Docker;使用 push-container-image 快捷方式还需 lightsailctl 插件(免插件推送改用 docker + register-container-image)。
lightsailctl 安装:
- macOS:
brew install aws/tap/lightsailctl - Linux:
curl "https://s3.us-west-2.amazonaws.com/lightsailctl/latest/linux-amd64/lightsailctl" -o /usr/local/bin/lightsailctl && chmod +x /usr/local/bin/lightsailctl - Windows:下载 https://s3.us-west-2.amazonaws.com/lightsailctl/latest/windows-amd64/lightsailctl.exe 并加入 PATH。
参考文件(需从技能目录读取,如 <skill-dir>/references/NAME.md):public-image.md、local-image.md、github-source.md、deployment.md、troubleshooting.md。
工作流:创建服务并轮询至 READY;按镜像来源导入镜像;创建部署并轮询至 ACTIVE;验证并报告 URL、月费和拆除命令。创建和部署异步完成,端到端约 5–10 分钟,应以短调用加间隔轮询,不要在单次长调用中等待,否则可能触发约 30 秒执行超时。
定价
月费为 power 单价 × scale,从创建到删除持续计费。每个服务包含一个月度数据传输额度,额度不随 power 和 scale 变化;超出部分按 GB 计费,费率因区域而异。价格只能从 get-container-service-powers 和 get-products(service code AmazonLightsail)等来源实时读取,不得凭记忆报价。
限制与安全
- 无自动伸缩、无缩容到零,容量需手动调整。
- 每服务节点数、每部署容器数和部署版本数有固定上限,见 Lightsail 配额,不可申请提升;新账户实际配额可能低于公布默认值。
- 环境变量存储在部署规格中,可通过 get-container-service-deployments 读取,无独立密钥注入机制;涉及凭据时须先警告用户,且不得打印或记录这些值。
- 端点仅 HTTPS,使用 AWS 托管证书,Shield Standard 覆盖常见网络层 DDoS;但无请求限流和 WAF,也不注入安全响应头,输入校验、限流和 CSP/HSTS 等需应用自行负责。
- 容器对同账户同区域的其它 Lightsail 资源有不受限网络访问,区域内启用 VPC 对等时也延伸至自有 VPC;部署非用户构建的镜像前须警告用户。
- CloudTrail 记录所有 Lightsail API 调用。
适用场景
适合希望以固定月费快速上线单个容器应用、不想管理集群和负载均衡的用户;不适合需要微服务、自动伸缩的场景,此类需求应推荐 ECS/EKS 或 ECS Express Mode。
分类依据
用途为容器部署与托管,涉及部署与运维,故选 devops。