多容器端点问题排查 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

多容器端点问题排查

以下部分可以帮助您排查多容器端点的错误。

Ping 运行状况检查错误

CPU对于多个容器,端点内存和端点在创建端点期间承受的压力更大。具体来说,MemoryUtilizationCPUUtilization 指标高于单容器端点的对应指标,因为利用率压力与容器数量成正比。因此,我们建议您选择具有足够内存的实例类型,并CPU确保实例上有足够的内存来加载所有模型(同样的指导适用于部署推理管道)。否则,您的端点创建可能会失败并显示错误,例如 XXX did not pass the ping health check

缺少 accept-bind-to-port =true 的 Docker 标签

多容器端点中的容器侦听由 SAGEMAKER_BIND_TO_PORT 环境变量指定的端口而不是端口 8080。当容器在多容器端点中运行时, SageMaker 会自动向容器提供此环境变量。如果此环境变量不存在,则容器应默认为使用端口 8080。要指示您的容器使用此要求进行编译,请使用以下命令将标签添加到您的 Dockerfile:

LABEL com.amazonaws.sagemaker.capabilities.accept-bind-to-port=true

否则,您将看到一条错误消息,例如 Your Ecr Image XXX does not contain required com.amazonaws.sagemaker.capabilities.accept-bind-to-port=true Docker label(s).

如果您的容器需要侦听第二个端口,请在 SAGEMAKER_SAFE_PORT_RANGE 环境变量指定的范围中选择端口。将该值指定为包含范围,格式为 XXXX-YYYY,其中XXXX和YYYY是多位数整数。 SageMaker 当您在多容器终端节点中运行容器时,会自动提供此值。