AWS::SageMaker::NotebookInstance - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::SageMaker::NotebookInstance

AWS::SageMaker::NotebookInstance 资源创建一个 Amazon SageMaker 笔记本实例。笔记本实例是一个在 Jupyter 笔记本上运行的机器学习 (ML) 计算实例。有关更多信息,请参阅使用笔记本实例

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::SageMaker::NotebookInstance", "Properties" : { "AcceleratorTypes" : [ String, ... ], "AdditionalCodeRepositories" : [ String, ... ], "DefaultCodeRepository" : String, "DirectInternetAccess" : String, "InstanceType" : String, "KmsKeyId" : String, "LifecycleConfigName" : String, "NotebookInstanceName" : String, "RoleArn" : String, "RootAccess" : String, "SecurityGroupIds" : [ String, ... ], "SubnetId" : String, "Tags" : [ Tag, ... ], "VolumeSizeInGB" : Integer } }

YAML

Type: AWS::SageMaker::NotebookInstance Properties: AcceleratorTypes: - String AdditionalCodeRepositories: - String DefaultCodeRepository: String DirectInternetAccess: String InstanceType: String KmsKeyId: String LifecycleConfigName: String NotebookInstanceName: String RoleArn: String RootAccess: String SecurityGroupIds: - String SubnetId: String Tags: - Tag VolumeSizeInGB: Integer

属性

AcceleratorTypes

Not currently supported by AWS CloudFormation.

必需:否

类型:字符串列表

Update requires: No interruption

AdditionalCodeRepositories

最多包含三个与笔记本实例关联的 Git 存储库的数组。它们可以是作为资源存储在账户中的 Git 存储库的名称或 AWS CodeCommit 中的 Git 存储库或任何其他 Git 存储库的 URL。这些存储库在与笔记本实例的默认存储库相同的级别进行克隆。有关更多信息,请参阅将 Git 存储库与 Amazon SageMaker 笔记本实例关联

必需:否

类型:字符串列表

最高3

Update requires: No interruption

DefaultCodeRepository

与笔记本实例关联的 Git 存储库作为其默认代码存储库。这可以是作为资源存储在账户中的 Git 存储库的名称或 AWS CodeCommit 中的 Git 存储库或任何其他 Git 存储库的 URL。打开笔记本实例时,它将在包含此存储库的目录中打开。有关更多信息,请参阅将 Git 存储库与 Amazon SageMaker 笔记本实例关联

必需:否

类型:字符串

最低1

最高1024

模式^https://([^/]+)/?(.*)$|^[a-zA-Z0-9](-*[a-zA-Z0-9])*

Update requires: No interruption

DirectInternetAccess

设置 Amazon SageMaker 是否为笔记本实例提供 Internet 访问。如果将该参数设置为 Disabled,则该笔记本实例只能访问您的 VPC 中的资源,并且无法连接到 Amazon SageMaker 训练和终端节点服务(除非您在 VPC 中配置 NAT 网关)。

有关更多信息,请参阅默认情况下对笔记本实例启用 Internet。仅在设置 SubnetId 参数的值的情况下,可以将该参数的值设置为 Disabled

必需:否

类型:字符串

允许的值Disabled | Enabled

Update requires: Replacement

InstanceType

要为笔记本实例启动的 ML 计算实例的类型。

必需:是

类型:字符串

允许的值ml.c4.2xlarge | ml.c4.4xlarge | ml.c4.8xlarge | ml.c4.xlarge | ml.c5.18xlarge | ml.c5.2xlarge | ml.c5.4xlarge | ml.c5.9xlarge | ml.c5.xlarge | ml.c5d.18xlarge | ml.c5d.2xlarge | ml.c5d.4xlarge | ml.c5d.9xlarge | ml.c5d.xlarge | ml.m4.10xlarge | ml.m4.16xlarge | ml.m4.2xlarge | ml.m4.4xlarge | ml.m4.xlarge | ml.m5.12xlarge | ml.m5.24xlarge | ml.m5.2xlarge | ml.m5.4xlarge | ml.m5.xlarge | ml.p2.16xlarge | ml.p2.8xlarge | ml.p2.xlarge | ml.p3.16xlarge | ml.p3.2xlarge | ml.p3.8xlarge | ml.t2.2xlarge | ml.t2.large | ml.t2.medium | ml.t2.xlarge | ml.t3.2xlarge | ml.t3.large | ml.t3.medium | ml.t3.xlarge

Update requires: No interruption

KmsKeyId

Amazon SageMaker 用于加密附加到笔记本实例的存储卷上的数据的 AWS Key Management Service 密钥的 Amazon 资源名称 (ARN)。必须启用您提供的 KMS 密钥。有关信息,请参阅 AWS Key Management Service 开发人员指南 中的启用和禁用密钥

必需:否

类型:字符串

最高2048

模式.*

Update requires: Replacement

LifecycleConfigName

要与笔记本实例关联的生命周期配置的名称。有关生命周期配置的信息,请参阅 Amazon SageMaker 开发人员指南 中的自定义笔记本实例

必需:否

类型:字符串

最高63

模式^[a-zA-Z0-9](-*[a-zA-Z0-9])*

Update requires: No interruption

NotebookInstanceName

新笔记本实例的名称。

必需:否

类型:字符串

最高63

模式^[a-zA-Z0-9](-*[a-zA-Z0-9])*

Update requires: Replacement

RoleArn

在将任何请求从笔记本实例发送到 AWS 资源时,Amazon SageMaker 会担任此角色以代表您执行任务。您必须向此角色授予必要权限,以便 Amazon SageMaker 能够执行这些任务。该策略必须向 Amazon SageMaker 服务委托人 (sagemaker.amazonaws.com) 授予权限以担任此角色。有关更多信息,请参阅 Amazon SageMaker 角色

注意

要能够将此角色传递给 Amazon SageMaker,此 API 的调用方必须具有 iam:PassRole 权限。

必需:是

类型:字符串

最低20

最高2048

模式^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$

Update requires: No interruption

RootAccess

是为笔记本实例用户启用还是禁用根访问权限。默认值为 Enabled

注意

生命周期配置需要根访问权限才能设置笔记本实例。因此,即使禁用了用户的根访问权限,与笔记本实例关联的生命周期配置也始终以根访问权限运行。

必需:否

类型:字符串

允许的值Disabled | Enabled

Update requires: No interruption

SecurityGroupIds

VPC 安全组 ID,格式为 sg-xxxxxxxx。安全组必须针对子网中指定的相同 VPC。

必需:否

类型:字符串列表

最高5

Update requires: Replacement

SubnetId

VPC 中的子网的 ID,您希望创建该子网与 ML 计算实例的连接。

必需:否

类型:字符串

最高32

模式[-0-9a-zA-Z]+

Update requires: Replacement

Tags

要应用于此资源的键/值对的列表。

有关更多信息,请参阅资源标签使用成本分配标签

您稍后可使用 CreateTags API 添加标签。

必需:否

类型Tag 的列表

最高50

Update requires: No interruption

VolumeSizeInGB

附加到笔记本实例的 ML 存储卷的大小(以 GB 为单位)。默认值为 5 MB。

必需:否

类型:整数

最低5

最高16384

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回笔记本实例的 Amazon 资源名称 (ARN),例如 arn:aws:sagemaker:us-west-2:012345678901:notebook-instance/mynotebookinstance

For more information about using the Ref function, see Ref.

Fn::GetAtt

Fn::GetAtt 内部函数返回此类型的一个指定属性的值。以下为可用属性和示例返回值。

有关使用 Fn::GetAtt 内部函数的更多信息,请参阅 Fn::GetAtt

Fn::GetAtt 返回一个此类型指定属性的值。以下为可用属性和示例返回值。

NotebookInstanceName

笔记本实例的名称,例如 MyNotebookInstance

示例

SageMaker 笔记本实例示例

以下示例将创建一个笔记本实例。

JSON

{ "Description": "Basic NotebookInstance test update to a different instance type", "Resources": { "BasicNotebookInstance": { "Type": "AWS::SageMaker::NotebookInstance", "Properties": { "InstanceType": "ml.t2.large", "RoleArn": { "Fn::GetAtt" : [ "ExecutionRole", "Arn" ] } } }, "ExecutionRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/", "Policies": [ { "PolicyName": "root", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*" } ] } } ] } } }, "Outputs": { "BasicNotebookInstanceId": { "Value": { "Ref" : "BasicNotebookInstance" } } }, }

YAML

Description: "Basic NotebookInstance test update to a different instance type" Resources: BasicNotebookInstance: Type: "AWS::SageMaker::NotebookInstance" Properties: InstanceType: "ml.t2.large" RoleArn: !GetAtt ExecutionRole.Arn ExecutionRole: Type: "AWS::IAM::Role" Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: Service: - "sagemaker.amazonaws.com" Action: - "sts:AssumeRole" Path: "/" Policies: - PolicyName: "root" PolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Action: "*" Resource: "*" Outputs: BasicNotebookInstanceId: Value: !Ref BasicNotebookInstance