本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 LCC 指令碼自訂 SageMaker 筆記本執行個體
重要
允許 Amazon SageMaker 工作室或 Amazon 工作 SageMaker 室經典版創建 Amazon SageMaker 資源的自定義 IAM 政策還必須授予許可才能向這些資源添加標籤。需要向資源添加標籤的權限,因為 Studio 和 Studio 經典版會自動標記它們創建的任何資源。如果 IAM 政策允許 Studio 和 Studio 經典版建立資源,但不允許標記,則在嘗試建立資源時可能會發生 AccessDenied "" 錯誤。如需詳細資訊,請參閱 提供標記資 SageMaker源的權限。
AWS Amazon 的受管政策 SageMaker授予建立 SageMaker 資源的權限,已包含在建立這些資源時新增標籤的權限。
生命週期組態 (LCC) 提供的 shell 指令碼只會在您建立筆記型電腦執行個體時或每當您啟動時執行。當您建立筆記本執行個體時,您可以建立新的 LCC 或附加您已有的 LCC。生命週期組態指令碼適用於下列使用案例:
-
在筆記本執行個體上安裝套件或範例筆記本
-
設定筆記本執行個體的網路與安全性
-
使用 shell 指令碼自訂筆記本執行個體
您也可以使用生命週期組態指令碼,從筆記本存取 AWS 服務。例如,您可以建立指令碼,讓您使用筆記本來控制其他 AWS 資源,例如 Amazon EMR 執行個體。
我們維護筆記本生命週期組態指令碼的公用儲存庫,以處理 https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples
注意
每個指令碼限定最多只能包含 16384 個字元。
這兩個指令碼都可使用的 $PATH
環境變數的值是 /usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
。工作目錄 ($PWD
環境變數的值) 是 /
。
檢視記 CloudWatch 錄資料流中記錄群組中筆記本執行個體生命週期組/aws/sagemaker/NotebookInstances
態的[notebook-instance-name]/[LifecycleConfigHook]
記錄
指令碼無法執行超過 5 分鐘。如果指令碼執行超過 5 分鐘,就會開始故障,而無法建立或啟動筆記本執行個體。為了協助縮短指令碼的執行時間,請嘗試下列方法:
-
削減必要步驟。例如,限制在哪些 conda 環境中安裝大型套件。
-
在平行程序中執行任務。
-
在您的指令碼中使用
nohup
命令。
您可以在 SageMaker 主控台中選擇生命週期組態,查看先前建立的筆記型電腦執行個體生命週期組態清單。您可以在建立新的筆記本執行個體時連接筆記本執行個體 LCC。如需建立筆記本執行個體的更多相關資訊,請參閱創建 Amazon SageMaker 筆記本實例。
建立生命週期組態
-
請在以下位置開啟 SageMaker 主控台。
https://console.aws.amazon.com/sagemaker/ -
在左側導覽窗格中,選擇管理員組態。
-
在管理員組態下,選擇生命週期組態。
-
從生命週期組態頁面選擇筆記本執行個體索引標籤。
-
選擇建立組態。
-
在名稱 中,使用英數字元和 “-” 來輸入名稱,但不能輸入空格。名稱最多可使用 63 個字元。
-
(選用) 若要建立指令碼,在您建立和每次啟動筆記本時執行,請選擇開始筆記本。
-
在開始筆記本編輯器中,輸入指令碼。
-
(選用) 若要建立只執行一次的指令碼,在您建立筆記本時,請選擇建立筆記本。
-
在建立筆記本編輯器中,輸入指令碼設定聯網。
-
選擇建立組態。