2026阿里云国际版弹性容器实例ECI实战教程:Serverless容器按秒计费与ACK/ASK联动全攻略
Meta Description: 手把手讲解阿里云国际版弹性容器实例ECI(Elastic Container Instance):核心概念、按秒计费参考价格表、ECI vs ECS vs ACK节点池 vs ASK选型对比、aliyun CLI创建容器组实操、镜像与公网访问配置、ACK虚拟节点弹…
- 先给结论:ECI 到底解决什么问题
- ECI 核心概念:搞懂这五件事就不会迷路
- ECI 价格与计费模型:按秒计费到底贵不贵
- 实操一:用 aliyun CLI 创建第一个 ECI 容器组
- 实操二:让容器真正能被公网访问
- 实操三:ACK 虚拟节点——把 Pod 甩给 ECI
- 实操四:云盘与 NAS 存储挂载
- 成本优化:把 ECI 账单压下来的六个动作
Meta Description: 手把手讲解阿里云国际版弹性容器实例ECI(Elastic Container Instance):核心概念、按秒计费参考价格表、ECI vs ECS vs ACK节点池 vs ASK选型对比、aliyun CLI创建容器组实操、镜像与公网访问配置、ACK虚拟节点弹性伸缩、云盘与NAS存储挂载、成本优化与避坑清单,附常见问题FAQ。
关键词:阿里云国际版ECI、弹性容器实例教程、Serverless容器、ECI价格、ACK虚拟节点、ASK弹性伸缩、ECI计费、容器组
一、先给结论:ECI 到底解决什么问题
如果你已经习惯了"买一台 ECS、装 Docker、跑容器"这套流程,那么你其实绕了一个大圈:你为了跑一个容器,先养了一整台服务器的操作系统。ECI 存在的意义,就是把这台"中间的服务器"从你的账单和运维清单里彻底删掉。
一句话定义:ECI(Elastic Container Instance,弹性容器实例)是阿里云提供的 Serverless 容器运行服务。你提交一个容器镜像、一份 vCPU/内存规格,几秒钟后拿到一个正在运行的容器——不需要选实例规格族、不需要装操作系统、不需要打补丁、不需要为闲置时间付费。
它最适合三类人:
- 跑一次性任务的开发者:CI/CD 构建、数据清洗、爬虫抓取、批量图片转码——任务几十分钟跑完就该关机,按量 ECS 的最小计费单位会让你为大量闲置时间买单。
- 做 K8s 但不想管节点的团队:通过 ACK 的虚拟节点(Virtual Node),Pod 直接调度到 ECI 上执行,集群里没有 Node 可以打补丁、没有节点池需要缩容,集群容量随业务自然伸缩。
- 流量波动剧烈的业务:白天 200 个 Pod、凌晨 5 个 Pod,用节点池就只能"按峰值买节点",用 ECI 就是"用多少付多少"。
不适用:需要长期常驻、负载平稳(比如 7×24 的数据库、固定流量的 Web 服务)。这类负载用包年包月的 ECS 或预留实例,单位成本会明显低于 ECI 的按秒计费。
📝 小提示:ECI 在阿里云国际站(alibabacloud.com)以控制台显示为准,功能与国内版基本一致,但地域覆盖、计费币种与促销政策存在差异,不要直接照搬国内版的文档链接与价格。
二、ECI 核心概念:搞懂这五件事就不会迷路
2.1 容器组(Container Group)是调度单位
ECI 的最小单位不是"一个容器",而是容器组——一个容器组可以包含多个容器,它们共享网络命名空间(同一个 IP、同一个端口空间)和存储卷。这一点和 K8s 的 Pod 完全对应,事实上 ECI 的容器组就是为 Pod 而生。
关键约束:同一个容器组内的多个容器不能用同一个端口。如果你把 Nginx 和另一个也要监听 80 的容器塞进同一个组,创建会直接失败。解决办法是把它们拆成两个容器组,或者让其中一个换端口。
2.2 规格由 vCPU + 内存组合决定,可精细到 0.25 核
ECI 不需要你选 ecs.g7.large 这类固定规格,而是直接指定:
- vCPU:
0.25 / 0.5 / 1 / 2 / 4 / 8 ...(按 0.25 递增的细粒度) - 内存:与 vCPU 有配比区间约束,通常 1 vCPU 可配 0.5–8 GiB
这种"点菜式"规格的意义在于:一个只需要 0.5 核 1 GiB 的定时任务,你可以真的只买 0.5 核 1 GiB,而不是被迫买一整台 1 核 2 GiB 的 ECS。
2.3 镜像来自 ACR 或公网仓库
ECI 拉取镜像的两个来源:
- ACR(容器镜像服务):推荐。同地域走 VPC 内网地址拉取,速度快且不消耗公网流量;私有镜像需要配置
ImageRegistryCredential。 - 公网镜像仓库(Docker Hub 等):可以,但跨境拉取慢、易超时,且部分镜像在特定地域拉不动。
如果你还没用过 ACR,建议先看:阿里云国际版容器镜像服务 ACR 实战教程
2.4 网络:VPC + 安全组 + 弹性公网 IP
ECI 必须落到一个 VPC 和交换机(vSwitch)里,安全组规则决定进出流量。要让它被公网访问,有两种方式:
- 直接绑定 EIP:适合单个容器组需要独立公网 IP 的场景。
- 放到 SLB/ALB 后端:生产推荐,多容器组共用入口、可做健康检查与负载均衡。
2.5 存储:临时盘免费,云盘和 NAS 要单独买
ECI 自带一块临时存储(通常免费额度为 20 GiB 左右),随容器销毁而消失。需要持久化的数据必须挂载:
- 云盘(ESSD):块存储,适合数据库、需要文件系统语义的场景。
- NAS:网络文件系统,可多容器组共享读写,最适合"多副本共享同一份静态资源"。
三、ECI 价格与计费模型:按秒计费到底贵不贵
ECI 的计费逻辑非常直白:(vCPU 数 × vCPU 单价 + 内存 GB 数 × 内存单价)× 运行秒数,不足一秒按一秒算,停止即停止计费。没有开机费、没有最低消费时长。
3.1 参考单价(国际站,按量付费)
| 计费项 | 参考单价 | 折算每小时 | 说明 |
|---|---|---|---|
| vCPU | 约 $0.0000154 / vCPU·秒 | 约 $0.055 / vCPU·h | 按实际 vCPU 数线性计费 |
| 内存 | 约 $0.0000077 / GB·秒 | 约 $0.028 / GB·h | 按实际内存 GiB 线性计费 |
| 临时存储 | 20 GiB 内通常免费 | — | 超出部分按云盘价计 |
| 云盘(ESSD PL1) | 约 $0.00014 / GiB·h | 约 $0.10 / GiB·月 | 挂载才计费,可随容器释放 |
| 公网流量 | 约 $0.08 / GB 起 | — | 各地区不同,出方向计费 |
⚠️ 以上单价为写作时的参考值,价格可能变动,请以阿里云国际版官网实时价格为准。
3.2 常见规格的每小时成本估算
| 规格(vCPU / 内存) | 每小时参考成本 | 连续跑满 30 天估算 | 典型用途 |
|---|---|---|---|
| 0.25 vCPU / 0.5 GiB | 约 $0.028 | 约 $20 | 定时任务、轻量探针 |
| 0.5 vCPU / 1 GiB | 约 $0.056 | 约 $41 | Cron 脚本、小爬虫 |
| 1 vCPU / 2 GiB | 约 $0.111 | 约 $81 | 单个 Web 服务、CI 构建 |
| 2 vCPU / 4 GiB | 约 $0.223 | 约 $163 | 中等 API 服务 |
| 4 vCPU / 8 GiB | 约 $0.446 | 约 $326 | 转码、批处理 |
这张表最有价值的读法不是看月费,而是看"你实际需要它跑多久"。 一个每天只跑 30 分钟的构建任务,1 vCPU / 2 GiB 的成本是 0.111 × 0.5 × 30 ≈ $1.67/月——同规格的按量 ECS 因为要常驻,账单是它的 40 倍以上。
3.3 四种容器方案怎么选
| 维度 | ECI 直接使用 | ECS 按量 + Docker | ACK 托管节点池 | ASK(ACK Serverless) |
|---|---|---|---|---|
| 是否需要管节点 | 完全不需要 | 需要 | 部分托管 | 完全不需要 |
| 启动速度 | 秒级 | 分钟级(含开机与镜像拉取) | 分钟级(节点扩容) | 秒级 |
| 计费粒度 | 秒 | 秒/小时 | 节点·小时 | Pod 规格·秒 |
| 最小规格 | 0.25 vCPU | 1 vCPU | 整节点 | 0.25 vCPU |
| 运维负担 | 极低 | 高(OS 补丁、Docker 升级) | 中 | 极低 |
| 最佳场景 | 一次性任务、单容器、CI | 长驻稳定服务 | 负载平稳的 K8s | 波动剧烈的 K8s |
决策树:只是跑个任务或单个容器 → ECI;已经有 K8s 且负载波动 → 加虚拟节点走 ASK;负载平稳且长期运行 → 老老实实包年包月 ECS。
四、实操一:用 aliyun CLI 创建第一个 ECI 容器组
准备工作:安装 aliyun CLI 并配置好国际站 AccessKey。
// 1. 安装 CLI(Linux/macOS)
curl -fsSL https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-amd64.tgz -o aliyun-cli.tgz
tar -xzf aliyun-cli.tgz && mv aliyun /usr/local/bin/
// 2. 配置国际站凭证(注意 endpoint 用国际站)
aliyun configure set \
--profile default \
--mode AK \
--access-key-id LTAIxxxxxxxxxxxx \
--access-key-secret xxxxxxxxxxxxxxxxxxxx \
--region ap-southeast-1
// 3. 确认当前身份
aliyun sts GetCallerIdentity
创建容器组前,先准备好三个参数:安全组 ID、交换机 ID、镜像地址。
// 创建安全组(允许 80 端口入方向)
aliyun ecs CreateSecurityGroup \
--RegionId ap-southeast-1 \
--VpcId vpc-xxxxxxxx \
--SecurityGroupName eci-demo-sg
aliyun ecs AuthorizeSecurityGroup \
--RegionId ap-southeast-1 \
--SecurityGroupId sg-xxxxxxxx \
--IpProtocol tcp --PortRange 80/80 --SourceCidrIp 0.0.0.0/0
然后用 CreateContainerGroup 创建容器组,配置写在 JSON 文件里避免命令行转义地狱:
{
"RegionId": "ap-southeast-1",
"ZoneId": "ap-southeast-1a",
"ContainerGroupName": "nginx-demo",
"VSwitchId": "vsw-xxxxxxxx",
"SecurityGroupId": "sg-xxxxxxxx",
"InstanceType": "ecs.c6.xlarge",
"Cpu": 1.0,
"Memory": 2.0,
"RestartPolicy": "Always",
"AutoCreateEip": true,
"EipBandwidth": 5,
"Containers": [
{
"Name": "nginx",
"Image": "registry-intl.ap-southeast-1.aliyuncs.com/demo/nginx:1.25",
"Cpu": 1.0,
"Memory": 2.0,
"Ports": [
{ "Port": 80, "Protocol": "TCP" }
]
}
]
}
// 提交创建请求
aliyun eci CreateContainerGroup --cli-input-json file://eci-nginx.json
// 查询容器组状态(Running 即成功)
aliyun eci DescribeContainerGroups \
--RegionId ap-southeast-1 \
--ContainerGroupIds eci-xxxxxxxxxxxx \
--query 'ContainerGroups[0].{Status:Status,Ip:IntranetIp,PublicIp:InternetIp}'
📝 小提示:
InstanceType字段不是让你选固定规格,而是告诉 ECI 底层优先用哪类资源的库存,ECI 会按你指定的Cpu/Memory实际计费。它必须与你的 vCPU/内存配比兼容,否则会报参数错误。
五、实操二:让容器真正能被公网访问
容器组创建成功、状态变成 Running 之后,很多人卡在"我拿到内网 IP 了,但公网打不开"。按顺序排查这四步:
第一步,确认是否有公网 IP。 如果创建时没有 AutoCreateEip: true,容器组只有内网 IP。可以后续手动绑定:
// 申请 EIP
aliyun vpc AllocateEipAddress --RegionId ap-southeast-1 --Bandwidth 5 --InternetChargeType PayByTraffic
// 绑定到容器组
aliyun eci AssociateEipAddress \
--RegionId ap-southeast-1 \
--AllocationId eip-xxxxxxxx \
--InstanceType ContainerGroup \
--InstanceId eci-xxxxxxxxxxxx
第二步,确认端口声明了。 Ports 数组里没写的端口,即使容器内部监听了,也不会被映射。
第三步,确认安全组放行了。 这是最高频的漏项——EIP 有了、端口声明了,但安全组没开 80,curl 依然超时。
第四步,确认容器内部真的在监听。 用 DescribeContainerLog 看启动日志:
aliyun eci DescribeContainerLog \
--RegionId ap-southeast-1 \
--ContainerGroupId eci-xxxxxxxxxxxx \
--ContainerName nginx \
--Tail 50
生产环境不要用 EIP。 正确做法是把 ECI 作为 ALB/SLB 的后端服务器组,由负载均衡统一对外。参考:阿里云国际版负载均衡 SLB 实战教程
六、实操三:ACK 虚拟节点——把 Pod 甩给 ECI
这是 ECI 在生产中最有价值的用法。原理很简单:在 ACK 集群里创建一个虚拟节点(Virtual Node),它本质上是一个"指向 ECI 的调度器"。打了对应污点容忍(Toleration)的 Pod,会被调度到这个虚拟节点上,实际由 ECI 拉起——集群里看不到任何 Node 实体,但 Pod 正常跑。
配置步骤:
- 进入 ACK 控制台 → 集群 → 节点管理 → 虚拟节点,点击创建。
- 选择可用区与交换机,勾选需要调度的命名空间。
- 创建完成后,集群里会出现名为
virtual-kubelet的节点(状态是Ready)。 - 部署时给 Pod 加上对应的容忍与节点选择器:
apiVersion: apps/v1
kind: Deployment
metadata:
name: burst-app
spec:
replicas: 10
selector:
matchLabels:
app: burst-app
template:
metadata:
labels:
app: burst-app
spec:
nodeSelector:
type: virtual-kubelet
tolerations:
- key: virtual-kubelet.io/provider
operator: Exists
containers:
- name: app
image: registry-intl.ap-southeast-1.aliyuncs.com/demo/app:v1
resources:
requests:
cpu: "0.5"
memory: "1Gi"
limits:
cpu: "1"
memory: "2Gi"
关键点:resources.requests 必须写。 ECI 是按 request 规格去创建容器的,不写 request 就无法确定该开多大规格,Pod 会一直 Pending。这也是为什么 ASK 场景下 request 的精度直接决定账单——request 写 2 核而实际只用 0.3 核,你就在为 1.7 核的浪费付费。
混合调度策略:让常驻的基础负载跑在固定节点池(包年包月成本低),把波峰溢出的副本交给虚拟节点(按秒付费)。这套组合的进一步优化看:阿里云国际版ACK成本优化实战教程
七、实操四:云盘与 NAS 存储挂载
挂载云盘适合单容器独占数据(如本地缓存、单机数据库)。要点:
- 云盘必须与 ECI 在同一可用区,跨区无法挂载。
- 一块 ESSD 云盘同一时刻只能挂载到一个容器组(
ReadWrite模式)。 - 容器组释放后,云盘默认保留(数据不丢),需要显式释放否则会持续计费。
挂载 NAS 适合多容器组共享数据(如上传目录、静态资源、共享配置):
{
"Volume": {
"Name": "nas-volume",
"NFSVolume": {
"Server": "xxxxxx-xxxx.ap-southeast-1.nas.aliyuncs.com",
"Path": "/shared",
"ReadOnly": false
}
},
"VolumeMount": {
"Name": "nas-volume",
"MountPath": "/data/shared",
"ReadOnly": false
}
}
📝 小提示:NAS 的挂载点必须在 ECI 所在的 VPC 内(挂载点有 VPC 与经典网络之分),跨 VPC 挂载要先打通云企业网。
八、成本优化:把 ECI 账单压下来的六个动作
- 把 request 写准,而不是写宽。 ECI 按 request 计费,
cpu: "2"但实际用 0.3 核,就是 85% 的浪费。上线前用监控跑一周,把 request 调到 P95 水平。 - 一次性任务跑完就删。
RestartPolicy: Never+ 任务结束自动释放,别让一个跑完的容器组挂着计费一整月。 - 镜像尽量用 VPC 内网地址拉。 公网拉镜像既慢又产出流量费,同地域用 ACR 的
registry-vpc地址。 - 善用抢占式/Spot 资源。 批处理、CI 构建这类可中断任务,容忍被回收后重试,成本能降一大截。
- 日志不要无限制地写到控制台。 大量 stdout 会让日志服务 SLS 的费用悄悄超过计算费用本身。
- 建立"容器组僵尸巡检"。 定期列出所有
Running但长期无流量的容器组——这是 ECI 场景最典型的漏钱点。
九、常见坑与避坑清单
- 坑一:以为 ECI 有公网 IP。 默认只有内网 IP,公网访问要显式绑 EIP 或走 SLB。
- 坑二:同一容器组内两个容器抢同一个端口。 共享网络命名空间,端口冲突直接创建失败。
- 坑三:云盘跨可用区挂载。 报错但不直观,务必确认 ZoneId 一致。
- 坑四:Pod 一直 Pending。 九成是
resources.requests没写,或者容器的 request 超过了所选可用区的可售规格。 - 坑五:忘记清理 EIP。 容器组删了 EIP 还留着,按小时持续计费——这是 ECI 用户最常踩的隐藏扣费。
- 坑六:误以为所有地域都支持 ECI。 ECI 的地域覆盖比 ECS 窄,新建前先查可用区列表。
- 坑七:把长驻核心服务全放到 ECI 上。 负载平稳的 7×24 服务,按秒计费一定比包年包月贵,这是计费模型的必然。
十、常见问题 FAQ
- Q: ECI 和函数计算 FC 有什么区别?我该用哪个?
A: 两者都是 Serverless,但抽象层级不同。ECI 给你一个完整的容器,你有 root、有完整文件系统、可以跑常驻进程(RestartPolicy: Always);FC 给你一个函数,按调用触发、有执行时长上限,冷启动更明显但运维更简单。需要跑现成容器镜像、需要常驻监听端口 → ECI;事件驱动的短时任务、不想管镜像 → FC。FC 的用法见:阿里云国际版函数计算 FC 实战教程
- Q: ECI 可以像 ECS 一样 SSH 登录吗?
A: 不能直接 SSH。ECI 不暴露操作系统,官方提供 aliyun eci ExecContainerCommand 进入容器执行命令(等价于 docker exec)。如果你的运维体系强依赖 SSH,说明这个负载可能更适合 ECS。
- Q: ECI 停止后会继续计费吗?
A: 不会。ECI 没有"关机但保留实例"的状态——容器组要么运行要么释放。释放即停计费,但绑定的 EIP 和挂载的云盘会继续单独计费,必须一并清理。
- Q: 容器组运行中能改规格吗?
A: 不能。vCPU/内存规格在创建时确定,运行中不可变更。要改规格只能重建容器组,这也是为什么建议先用小规格压测、再定正式规格。
- Q: ECI 能跑有状态服务吗?
A: 技术上可以(挂云盘),但不推荐做主数据库。ECI 的定位是无状态弹性计算,有状态核心服务建议用 RDS 或 PolarDB,参考:阿里云国际版PolarDB云原生数据库实战教程
- Q: 跨境访问 ECI 上的服务会不会被墙?
A: ECI 本身只是计算资源,是否可达取决于你选的地域和公网出口。面向中国大陆用户的服务,选香港/新加坡等就近地域并按合规要求配置;同时注意国际站到中国大陆的回程线路质量差异很大,务必先实测延迟再决定。
- Q: 国际站 ECI 和国内版有什么差异?
A: 产品能力基本对齐,差异主要在可用地域、计费币种、促销政策和部分实例规格的库存。跨站使用要特别注意:国际站的 AccessKey 不能用于国内站 endpoint,CLI 配置里要指定正确的 region 与站点。
- Q: 新手最容易忽略的一步是什么?
A: 一次性任务里忘了设置 RestartPolicy: Never。默认是 Always,任务跑完后容器会被反复拉起,既执行了不该重复的逻辑,又持续产生计费。
十一、总结
ECI 的价值可以浓缩成一句话:它把"为了跑容器而养一台服务器"这件事,从你的架构图和账单里彻底删掉了。
选型记住一个决策树:一次性任务/CI → 直接用 ECI;已有 K8s 且负载波动 → 虚拟节点走 ASK;负载平稳的长期服务 → 包年包月 ECS;事件驱动的函数级任务 → 函数计算 FC。
落地记住三条纪律:request 写准、任务跑完就删、EIP 和云盘记得一起清。 ECI 最大的成本风险从来不是单价高,而是那些"忘了清理的残留资源"和"写宽了的 request"——按秒计费是一把双刃剑,用得精准才省钱。
本文涉及的配置、规格与价格均为写作时的参考,价格可能变动,请以官方为准;开通与购买前请确认当地法规合规性。
相关阅读:
- 容器入门:阿里云国际版 ACK 容器服务实战教程
- 镜像管理:阿里云国际版容器镜像服务 ACR 实战教程
- 成本优化:阿里云国际版 ACK 成本优化实战教程
- 负载均衡:阿里云国际版负载均衡 SLB 实战教程
- 存储联动:阿里云国际版对象存储 OSS 实战教程
⚠️ 免责声明:本文中提到的配置、价格和优惠信息可能随时间变化,请以阿里云国际版官网(alibabacloud.com)的实时信息为准。本文不构成任何投资或购买建议。注册前请确认当地法规合规性。
本文由 2.chengzicloud.cloud 提供,点击访问首页了解更多