NotebookInstanceLifecycleConfig
The NotebookInstanceLifecycleConfig resource allows you to manage the lifecycle configuration for AWS SageMaker Notebook Instances. This includes specifying scripts that run on instance creation and start. For more information, refer to the AWS SageMaker NotebookInstanceLifecycleConfigs documentation.
Minimal Example
Section titled “Minimal Example”Create a basic NotebookInstanceLifecycleConfig with a startup script that installs a package.
import AWS from "alchemy/aws/control";
const lifecycleConfig = await AWS.SageMaker.NotebookInstanceLifecycleConfig("MyLifecycleConfig", { NotebookInstanceLifecycleConfigName: "MyNotebookLifecycleConfig", OnCreate: [{ Content: Buffer.from(` #!/bin/bash sudo -u ec2-user -i <<'EOF' pip install numpy EOF `).toString('base64') }], OnStart: [{ Content: Buffer.from(` #!/bin/bash sudo -u ec2-user -i <<'EOF' echo "Notebook started" EOF `).toString('base64') }]});
Advanced Configuration
Section titled “Advanced Configuration”Configure a lifecycle with scripts that run on both creation and start, including custom logging.
const advancedLifecycleConfig = await AWS.SageMaker.NotebookInstanceLifecycleConfig("AdvancedLifecycleConfig", { NotebookInstanceLifecycleConfigName: "AdvancedNotebookLifecycleConfig", OnCreate: [{ Content: Buffer.from(` #!/bin/bash sudo -u ec2-user -i <<'EOF' pip install pandas echo "Installation complete" >> /home/ec2-user/lifecycle.log EOF `).toString('base64') }], OnStart: [{ Content: Buffer.from(` #!/bin/bash sudo -u ec2-user -i <<'EOF' echo "Notebook instance has started" >> /home/ec2-user/lifecycle.log EOF `).toString('base64') }]});
Custom Script for Instance Management
Section titled “Custom Script for Instance Management”Create a lifecycle configuration that runs a custom script to manage instance resources.
const resourceManagementConfig = await AWS.SageMaker.NotebookInstanceLifecycleConfig("ResourceManagementConfig", { NotebookInstanceLifecycleConfigName: "ResourceManagementLifecycleConfig", OnCreate: [{ Content: Buffer.from(` #!/bin/bash sudo -u ec2-user -i <<'EOF' echo "Starting resource management tasks" >> /home/ec2-user/resource_management.log # Custom commands to manage resources EOF `).toString('base64') }], OnStart: [{ Content: Buffer.from(` #!/bin/bash sudo -u ec2-user -i <<'EOF' echo "Resource checks initiated" >> /home/ec2-user/resource_management.log # Additional resource checks EOF `).toString('base64') }]});