You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何限制Amazon SageMaker Studio单个用户同时运行的内核数量?

限制Amazon SageMaker Studio单个用户并发内核数量的方法

目前IAM策略无法直接通过内置条件键限制单个用户同时运行的内核(KernelGateway应用)数量,因为SageMaker未提供对应条件来检查并发运行的应用数。以下是几种可行的实现方式:

1. 结合IAM策略与生命周期配置(Lifecycle Configuration)

通过限制用户只能使用指定的生命周期配置,在配置脚本中检查用户当前运行的内核数,超过阈值则拒绝启动。

步骤1:创建限制并发数的生命周期配置

编写启动脚本,检查用户当前运行的KernelGateway应用数量:

#!/bin/bash
# 获取当前用户信息
USER_PROFILE_NAME=$(echo "$DOMAIN_ID" | awk -F'/' '{print $2}')
DOMAIN_ID=$(echo "$DOMAIN_ID" | awk -F'/' '{print $1}')

# 设置允许的最大并发内核数
MAX_CONCURRENT_KERNELS=3

# 查询用户当前运行的KernelGateway应用数量
RUNNING_KERNELS=$(aws sagemaker list-apps \
    --domain-id-equals "$DOMAIN_ID" \
    --user-profile-name-equals "$USER_PROFILE_NAME" \
    --query 'Apps[?AppType==`KernelGateway` && Status==`InService`] | length(@)' \
    --output text)

# 检查是否超过阈值
if [ "$RUNNING_KERNELS" -ge "$MAX_CONCURRENT_KERNELS" ]; then
    echo "错误:已达到最大并发内核数限制($MAX_CONCURRENT_KERNELS),无法启动新内核。" >&2
    exit 1
fi

步骤2:配置IAM策略限制用户使用指定生命周期配置

确保用户只能使用上述自定义生命周期配置创建应用:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sagemaker:CreateApp",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:AppLifecycleConfigName": "YourRestrictedKernelLifecycleConfig"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "sagemaker:ListApps",
            "Resource": "*"
        }
    ]
}

注:需要给用户添加sagemaker:ListApps权限,用于脚本查询当前运行的内核数。

2. 使用AWS Organizations服务控制策略(SCP)(适用于组织账户)

如果你的账户属于AWS Organizations,可通过SCP限制单个用户的并发应用数:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "sagemaker:CreateApp",
            "Resource": "*",
            "Condition": {
                "NumericGreaterThanEquals": {
                    "sagemaker:ResourceCountForUser": "3"
                }
            }
        }
    ]
}

注:需确认组织已启用对应的资源计数功能,部分场景可能需要结合CloudWatch指标与Lambda函数,自动终止超额运行的内核应用。

3. 账户级配额限制(全局限制)

通过AWS Service Quotas调整账户级别的SageMaker Studio concurrent apps配额,此方式为账户全局限制,无法针对单个用户,但可作为基础限制手段。

内容的提问来源于stack exchange,提问作者Michal R.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 07:40:29