Vincoli e considerazioni
Esamina i seguenti vincoli per assicurarti che i processi relativi al notebook vengano completati correttamente. Studio utilizza Papermill per eseguire notebook. Potrebbe essere necessario aggiornare i notebook Jupyter per adattarli ai requisiti di Papermill. Esistono anche restrizioni sul contenuto degli script LCC e dettagli importanti da comprendere sulla configurazione del VPC.
Versione di JupyterLab
È supportata la versione 4.0 di JupyterLab.
Installazione di pacchetti che richiedono il riavvio del kernel
Papermill non supporta le chiamate pip install per installare pacchetti che richiedono il riavvio del kernel. In questa situazione, utilizza pip install in uno script di inizializzazione. Per l'installazione di un pacchetto che non richiede il riavvio del kernel, è comunque possibile includere pip install nel notebook.
Nomi del kernel e delle lingue registrati con Jupyter
Papermill registra un traduttore per kernel e lingue specifici. Se porti la tua istanza personale (BYOI), utilizza un nome kernel standard come mostrato nel seguente snippet:
papermill_translators.register("python", PythonTranslator) papermill_translators.register("R", RTranslator) papermill_translators.register("scala", ScalaTranslator) papermill_translators.register("julia", JuliaTranslator) papermill_translators.register("matlab", MatlabTranslator) papermill_translators.register(".net-csharp", CSharpTranslator) papermill_translators.register(".net-fsharp", FSharpTranslator) papermill_translators.register(".net-powershell", PowershellTranslator) papermill_translators.register("pysparkkernel", PythonTranslator) papermill_translators.register("sparkkernel", ScalaTranslator) papermill_translators.register("sparkrkernel", RTranslator) papermill_translators.register("bash", BashTranslator)
Limiti relativi a parametri e variabili di ambiente
Limiti relativi a parametri e variabili di ambiente. Quando crei il processo relativo al notebook, questo riceve i parametri e le variabili di ambiente specificati. È possibile passare fino a 100 parametri. Ogni nome di parametro può contenere fino a 256 caratteri e il valore associato può contenere fino a 2500 caratteri. Se si passano variabili di ambiente, è possibile passarne fino a 28. Il nome della variabile e il valore associato possono contenere fino a 512 caratteri. Se hai bisogno di più di 28 variabili di ambiente, usa variabili di ambiente aggiuntive in uno script di inizializzazione che non ha limiti al numero di variabili di ambiente che puoi usare.
Visualizzazione dei processi e delle definizioni dei processi
Visualizzazione dei processi e delle definizioni dei processi. Se pianifichi i processi del notebook nell’interfaccia utente di Studio del notebook JupyterLab, puoi visualizzare i processi del notebook e le relative definizioni nell’interfaccia utente di Studio. Se hai pianificato il tuo processo del notebook con SageMaker Python SDK, puoi solo visualizzare i tuoi processi: la fase dei processi del notebook SageMaker Python SDK non crea definizioni dei processi. Per visualizzare i processi, è inoltre necessario fornire tag aggiuntivi all’istanza della fase dei processi del notebook. Per informazioni dettagliate, consultare Visualizzazione dei processi del notebook nella dashboard dell’interfaccia utente di Studio.
Immagine
È necessario gestire i vincoli di immagine a seconda che si eseguano i processi del notebook in Studio o la fase dei processi del notebook SageMaker Python SDK in una pipeline.
Vincoli di immagine per Processi del notebook SageMaker AI (Studio)
Supporto per immagini e kernel. Il driver che avvia il processo relativo al notebook presuppone quanto segue:
-
Un ambiente di runtime Python di base è installato nelle immagini Studio o BYO (porta la tua immagine) ed è l'impostazione predefinita nella shell.
-
L'ambiente di runtime Python di base include il client Jupyter con le specifiche del kernel configurate correttamente.
-
L'ambiente di runtime Python di base include la funzione
pipche consente al processo relativo al notebook di installare le dipendenze del sistema. -
Per immagini con più ambienti, lo script di inizializzazione dovrebbe passare all'ambiente corretto specifico del kernel prima di installare pacchetti specifici per il notebook. È necessario tornare all'ambiente di runtime Python predefinito, se diverso dall'ambiente di runtime del kernel, dopo aver configurato l'ambiente di runtime Python del kernel.
Il driver che avvia il processo relativo al notebook è uno script bash e Bash v4 deve essere disponibile in /bin/bash.
Privilegi root su BYOI (porta le tue immagini). È necessario disporre dei privilegi root sulle proprie immagini di Studio, come utente root o tramite accesso sudo. Se non sei un utente root ma accedi ai privilegi di root tramite sudo, usa 1000/100 come UID/GID.
Vincoli di immagine per i processi del notebook SageMaker AI Python SDK
La fase dei processi del notebook supporta le seguenti immagini:
-
Immagini di SageMaker Distribution elencate in Immagini Amazon SageMaker disponibili per l’utilizzo con i notebook Studio Classic.
-
Un’immagine personalizzata basata sulle immagini di SageMaker Distribution nell’elenco precedente. Utilizza un’immagine di SageMaker Distribution
come base. -
Un’immagine personalizzata (BYOI) preinstallata con le dipendenze dei processi del notebook (ad esempio sagemaker-headless-execution-driver)
. L’immagine deve soddisfare i seguenti requisiti: -
L’immagine è preinstallata con le dipendenze dei processi del notebook.
-
Nell’ambiente shell è installato e impostato come predefinito un ambiente di runtime Python di base.
-
L'ambiente di runtime Python di base include il client Jupyter con le specifiche del kernel configurate correttamente.
-
Disponi di privilegi root, come utente root o tramite l’accesso
sudo. Se non sei un utente root ma accedi ai privilegi di root tramitesudo, usa1000/100comeUID/GID.
-
Sottoreti VPC utilizzate durante la creazione dei processi
Se utilizzi un VPC, Studio utilizza le tue sottoreti private per creare il tuo processo. Specifica da una a cinque sottoreti private (e da 1 a 15 gruppi di sicurezza).
Se utilizzi un VPC con sottoreti private, devi scegliere una delle seguenti opzioni per assicurarti che il processo relativo al notebook possa connettersi a servizi o risorse dipendenti:
-
Se il processo deve accedere a un servizio AWS che supporta gli endpoint VPC di interfaccia, crea un endpoint da connettere al servizio. Per un elenco di servizi che supportano gli endpoint di interfaccia, consulta Servizi AWS che si integrano con AWS PrivateLink. Per informazioni sulla creazione di un endpoint VPC dell'interfaccia, consulta Accesso a un servizio AWS utilizzando un endpoint VPC dell'interfaccia. Come minimo, deve essere fornito un gateway di endpoint VPC Amazon S3.
-
Se processo relativo al notebook deve accedere a un servizio AWS che non supporta gli endpoint VPC di interfaccia o a una risorsa esterna ad AWS, crea un gateway NAT e configura i gruppi di sicurezza per consentire le connessioni in uscita. Per informazioni sulla configurazione di un gateway NAT per il VPC, consulta VPC con sottoreti pubbliche e private (NAT) nella Guida per l'utente di Amazon Virtual Private Cloud.
Limiti del servizio
Poiché lo scheduler dei processi del notebook è basato sui servizi SageMaker Pipelines, SageMaker Training e Amazon EventBridge, i processi del notebook sono soggetti alle quote specifiche del servizio. Se si superano queste quote, è possibile che vengano visualizzati messaggi di errore relativi a questi servizi. Ad esempio, esistono dei limiti relativi al numero di pipeline che è possibile eseguire contemporaneamente e al numero di regole che è possibile configurare per un singolo bus di eventi. Per ulteriori informazioni sulle quote di SageMaker AI, consulta Endpoint e quote di Amazon SageMaker AI. Per ulteriori informazioni sulle quote di EventBridge, consulta Quote di Amazon EventBridge.