Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
(Facoltativo) Migrazione dei dati da Studio Classic a Studio
Studio Classic e Studio utilizzano due diversi tipi di volumi di archiviazione. Studio Classic utilizza un singolo volume Amazon Elastic File System (AmazonEFS) per archiviare i dati su tutti gli utenti e gli spazi condivisi del dominio. In Studio, ogni spazio riceve il proprio volume Amazon Elastic Block Store (AmazonEBS). Quando aggiorni l'esperienza predefinita di un dominio esistente, monta SageMaker automaticamente una cartella in un EFS volume Amazon per ogni utente in un dominio. Di conseguenza, gli utenti possono accedere ai file di Studio Classic nelle loro applicazioni Studio. Per ulteriori informazioni, consulta EFSMontaggio automatico di Amazon in Studio.
Puoi anche disattivare il EFS montaggio automatico di Amazon e migrare manualmente i dati per consentire agli utenti di accedere ai file da Studio Classic nelle applicazioni Studio. A tale scopo, è necessario trasferire i file dalle home directory degli utenti ai EBS volumi Amazon associati a tali spazi. La sezione seguente fornisce informazioni su questo flusso di lavoro. Per ulteriori informazioni sulla disattivazione del EFS montaggio automatico di Amazon, consulta. Disattiva il montaggio EFS automatico di Amazon
Esegui manualmente la migrazione di tutti i tuoi dati da Studio Classic
La sezione seguente descrive come migrare tutti i dati dal volume di archiviazione di Studio Classic alla nuova esperienza Studio.
Durante la migrazione manuale dei dati, del codice e degli artefatti di un utente da Studio Classic a Studio, consigliamo uno dei seguenti approcci:
-
Utilizzo di un EFS volume Amazon personalizzato
-
Utilizzo di Amazon Simple Storage Service (Amazon S3)
Se hai utilizzato Amazon SageMaker Data Wrangler in Studio Classic e desideri migrare i file del flusso di dati, scegli una delle seguenti opzioni di migrazione:
-
Se desideri migrare tutti i dati dal volume di storage di Studio Classic, inclusi i file del flusso di dati, consulta Esegui manualmente la migrazione di tutti i tuoi dati da Studio Classic e completa la sezione Usa Amazon S3 per migrare i dati. Quindi, vai alla sezione. Importa i file di flusso in Canvas
-
Se desideri migrare solo i file del flusso di dati e nessun altro dato dal volume di archiviazione di Studio Classic, vai alla sezione. Migra i flussi di dati da Data Wrangler
Prerequisiti
Prima di eseguire questi passaggi, completa i prerequisiti in. Prerequisiti completi per migrare l'esperienza di Studio È inoltre necessario completare i passaggi indicati inMigrazione dell'interfaccia utente da Studio Classic a Studio.
Scelta di un approccio
Considerate quanto segue quando scegliete un approccio per la migrazione dei dati di Studio Classic.
Pro e contro dell'utilizzo di un volume Amazon personalizzato EFS
In questo approccio, utilizzi un' EFS-to-AmazonEFS AWS DataSync attività Amazon (una tantum o cadenza) per copiare i dati, quindi monti il EFS volume Amazon di destinazione negli spazi di un utente. Ciò consente agli utenti di accedere ai dati di Studio Classic nei loro ambienti di elaborazione Studio.
Vantaggi:
-
Negli spazi dell'utente sono visibili solo i dati della home directory dell'utente. Non è prevista alcuna impollinazione incrociata dei dati.
-
La sincronizzazione dal EFS volume Amazon di origine a un EFS volume Amazon di destinazione è più sicura rispetto al montaggio diretto del EFS volume Amazon di origine gestito da SageMaker negli spazi. In questo modo si evita il potenziale impatto sui file utente della home directory.
-
Gli utenti hanno la flessibilità di continuare a lavorare nelle applicazioni Studio Classic e Studio, pur avendo i dati disponibili in entrambe le applicazioni se AWS DataSync configurate a cadenza regolare.
-
Non è necessario ripetere le operazioni di push and pull con Amazon S3.
Contro:
-
Nessun accesso in scrittura al EFS volume Amazon di destinazione montato negli spazi dell'utente. Per ottenere l'accesso in scrittura al EFS volume Amazon di destinazione, i clienti devono montare il EFS volume Amazon di destinazione su un'istanza Amazon Elastic Compute Cloud e fornire agli utenti le autorizzazioni appropriate per scrivere sul prefisso AmazonEFS.
-
Richiede la modifica dei gruppi di sicurezza gestiti da SageMaker per consentire il flusso in entrata e in uscita del file system di rete (NFS).
-
Costa di più rispetto all'utilizzo di Amazon S3.
-
Se stai migrando i flussi di dati da Data Wrangler in Studio Classic, devi seguire i passaggi per esportare manualmente i file di flusso.
Pro e contro dell'utilizzo di Amazon S3
In questo approccio, utilizzi un' AWS DataSync attività Amazon EFS-to-Amazon S3 (una tantum o con cadenza) per copiare i dati, quindi crei una configurazione del ciclo di vita per copiare i dati dell'utente da Amazon S3 al volume Amazon del suo spazio privato. EBS
Vantaggi:
-
Se LCC è collegato al dominio, gli utenti possono scegliere di utilizzare il file LCC per copiare i dati nel proprio spazio o di eseguire lo spazio senza LCC script. In questo modo gli utenti possono scegliere di copiare i propri file solo negli spazi necessari.
-
Se un' AWS DataSync attività è impostata secondo una cadenza, gli utenti possono riavviare l'applicazione Studio per scaricare i file più recenti.
-
Poiché i dati vengono copiati su AmazonEBS, gli utenti dispongono delle autorizzazioni di scrittura sui file.
-
Lo storage Amazon S3 è più economico di Amazon. EFS
-
Se esegui la migrazione dei flussi di dati da Data Wrangler in Studio Classic, puoi saltare i passaggi di esportazione manuale e importare direttamente i flussi di dati in Canvas da SageMaker Amazon S3.
Contro:
-
Se gli amministratori devono prevenire l'impollinazione incrociata, devono creare AWS Identity and Access Management policy a livello di utente per garantire che gli utenti possano accedere solo al prefisso Amazon S3 che contiene i loro file.
In questo approccio, usi un Amazon EFS-to-Amazon EFS AWS DataSync per copiare il contenuto di un EFS volume Amazon Studio Classic su un EFS volume Amazon di destinazione una volta o con cadenza regolare, quindi montare il EFS volume Amazon di destinazione negli spazi di un utente. Ciò consente agli utenti di accedere ai dati di Studio Classic nei loro ambienti di calcolo Studio.
-
Crea un EFS volume Amazon di destinazione. Trasferirai i dati in questo EFS volume Amazon e lo monterai nello spazio utente corrispondente utilizzando il montaggio a livello di prefisso.
export SOURCE_DOMAIN_ID="
domain-id
" export REGION="region
" export TARGET_EFS=$(aws efs create-file-system --performance-mode generalPurpose --throughput-mode bursting --encrypted --region $REGION | jq -r '.FileSystemId') echo "Target EFS volume Created: $TARGET_EFS" -
Aggiungi variabili per il EFS volume Amazon di origine attualmente collegato al dominio e utilizzato da tutti gli utenti. Le informazioni su Amazon Virtual Private Cloud del dominio sono necessarie per garantire che l'Amazon di destinazione EFS venga creato nella stessa Amazon VPC e nella stessa sottorete, con la stessa configurazione del gruppo di sicurezza.
export SOURCE_EFS=$(aws sagemaker describe-domain --domain-id $SOURCE_DOMAIN_ID | jq -r '.HomeEfsFileSystemId') export VPC_ID=$(aws sagemaker describe-domain --domain-id $SOURCE_DOMAIN_ID | jq -r '.VpcId') echo "EFS managed by SageMaker: $SOURCE_EFS | VPC: $VPC_ID"
-
Crea un target di EFS montaggio Amazon nella stessa Amazon VPC e nella stessa sottorete del EFS volume Amazon di origine, con la stessa configurazione del gruppo di sicurezza. Il target di montaggio impiega alcuni minuti per essere disponibile.
export EFS_VPC_ID=$(aws efs describe-mount-targets --file-system-id $SOURCE_EFS | jq -r ".MountTargets[0].VpcId") export EFS_AZ_NAME=$(aws efs describe-mount-targets --file-system-id $SOURCE_EFS | jq -r ".MountTargets[0].AvailabilityZoneName") export EFS_AZ_ID=$(aws efs describe-mount-targets --file-system-id $SOURCE_EFS | jq -r ".MountTargets[0].AvailabilityZoneId") export EFS_SUBNET_ID=$(aws efs describe-mount-targets --file-system-id $SOURCE_EFS | jq -r ".MountTargets[0].SubnetId") export EFS_MOUNT_TARG_ID=$(aws efs describe-mount-targets --file-system-id $SOURCE_EFS | jq -r ".MountTargets[0].MountTargetId") export EFS_SG_IDS=$(aws efs describe-mount-target-security-groups --mount-target-id $EFS_MOUNT_TARG_ID | jq -r '.SecurityGroups[]') aws efs create-mount-target \ --file-system-id $TARGET_EFS \ --subnet-id $EFS_SUBNET_ID \ --security-groups $EFS_SG_IDS
-
Crea sedi Amazon di EFS origine e destinazione per l' AWS DataSync attività.
export SOURCE_EFS_ARN=$(aws efs describe-file-systems --file-system-id $SOURCE_EFS | jq -r ".FileSystems[0].FileSystemArn") export TARGET_EFS_ARN=$(aws efs describe-file-systems --file-system-id $TARGET_EFS | jq -r ".FileSystems[0].FileSystemArn") export EFS_SUBNET_ID_ARN=$(aws ec2 describe-subnets --subnet-ids $EFS_SUBNET_ID | jq -r ".Subnets[0].SubnetArn") export ACCOUNT_ID=$(aws ec2 describe-security-groups --group-id $EFS_SG_IDS | jq -r ".SecurityGroups[0].OwnerId") export EFS_SG_ID_ARN=arn:aws:ec2:$REGION:$ACCOUNT_ID:security-group/$EFS_SG_IDS export SOURCE_LOCATION_ARN=$(aws datasync create-location-efs --subdirectory "/" --efs-filesystem-arn $SOURCE_EFS_ARN --ec2-config SubnetArn=$EFS_SUBNET_ID_ARN,SecurityGroupArns=$EFS_SG_ID_ARN --region $REGION | jq -r ".LocationArn") export DESTINATION_LOCATION_ARN=$(aws datasync create-location-efs --subdirectory "/" --efs-filesystem-arn $TARGET_EFS_ARN --ec2-config SubnetArn=$EFS_SUBNET_ID_ARN,SecurityGroupArns=$EFS_SG_ID_ARN --region $REGION | jq -r ".LocationArn")
-
Consenti il traffico tra i mount del file system di rete di origine e di destinazione (NFS). Quando viene creato un nuovo dominio, SageMaker crea 2 gruppi di sicurezza.
-
NFSgruppo di sicurezza in entrata con solo traffico in entrata.
-
NFSgruppo di sicurezza in uscita con solo traffico in uscita.
L'origine e la destinazione NFS sono collocate all'interno degli stessi gruppi di sicurezza. È possibile consentire il traffico tra questi supporti da AWS Management Console o AWS CLI.
-
Consenti il traffico proveniente da AWS Management Console
Accedi a AWS Management Console e apri la VPC console Amazon all'indirizzo https://console.aws.amazon.com/vpc/
. -
Scegli i Security Groups (Gruppi di sicurezza).
-
Cerca l'ID del dominio esistente nella pagina Gruppi di sicurezza.
d-
xxxxxxx
I risultati dovrebbero restituire due gruppi di sicurezza che includono l'ID di dominio nel nome.
-
security-group-for-inbound-nfs-
domain-id
-
security-group-for-outbound-nfs-
domain-id
-
-
Seleziona l'ID del gruppo di sicurezza in entrata. Si apre una nuova pagina con i dettagli sul gruppo di sicurezza.
-
Seleziona la scheda Regole in uscita.
-
Seleziona Modifica regole in uscita.
-
Aggiorna le regole in uscita esistenti o aggiungi una nuova regola in uscita con i seguenti valori:
-
Tipo: NFS
-
Protocollo: TCP
-
Intervallo di porte: 2049
-
Destinazione: security-group-for-outbound -nfs-
domain-id
|security-group-id
-
-
Scegliere Salva regole.
-
Seleziona la scheda Regole in entrata.
-
Seleziona Modifica regole in entrata.
-
Aggiorna le regole in entrata esistenti o aggiungi una nuova regola in uscita con i seguenti valori:
-
Tipo: NFS
-
Protocollo: TCP
-
Intervallo di porte: 2049
-
Destinazione: security-group-for-outbound -nfs-
domain-id
|security-group-id
-
-
Scegliere Salva regole.
-
Consenti il traffico proveniente da AWS CLI
-
Aggiorna le regole in entrata e in uscita del gruppo di sicurezza con i seguenti valori:
-
Protocollo: TCP
-
Intervallo di porte: 2049
-
ID gruppo: ID del gruppo di sicurezza in entrata o ID del gruppo di sicurezza in uscita
export INBOUND_SG_ID=$(aws ec2 describe-security-groups --filters "Name=group-name,Values=security-group-for-inbound-nfs-$SOURCE_DOMAIN_ID" | jq -r ".SecurityGroups[0].GroupId") export OUTBOUND_SG_ID=$(aws ec2 describe-security-groups --filters "Name=group-name,Values=security-group-for-outbound-nfs-$SOURCE_DOMAIN_ID" | jq -r ".SecurityGroups[0].GroupId") echo "Outbound SG ID: $OUTBOUND_SG_ID | Inbound SG ID: $INBOUND_SG_ID" aws ec2 authorize-security-group-egress \ --group-id $INBOUND_SG_ID \ --protocol tcp --port 2049 \ --source-group $OUTBOUND_SG_ID aws ec2 authorize-security-group-ingress \ --group-id $OUTBOUND_SG_ID \ --protocol tcp --port 2049 \ --source-group $INBOUND_SG_ID
-
-
Aggiungi i gruppi di sicurezza in entrata e in uscita alle destinazioni di EFS montaggio Amazon di origine e destinazione. Ciò consente il traffico tra i 2 EFS mount Amazon.
export SOURCE_EFS_MOUNT_TARGET=$(aws efs describe-mount-targets --file-system-id $SOURCE_EFS | jq -r ".MountTargets[0].MountTargetId") export TARGET_EFS_MOUNT_TARGET=$(aws efs describe-mount-targets --file-system-id $TARGET_EFS | jq -r ".MountTargets[0].MountTargetId") aws efs modify-mount-target-security-groups \ --mount-target-id $SOURCE_EFS_MOUNT_TARGET \ --security-groups $INBOUND_SG_ID $OUTBOUND_SG_ID aws efs modify-mount-target-security-groups \ --mount-target-id $TARGET_EFS_MOUNT_TARGET \ --security-groups $INBOUND_SG_ID $OUTBOUND_SG_ID
-
-
-
Crea un' AWS DataSync attività. Ciò restituisce un'attività ARN che può essere utilizzata per eseguire l'attività su richiesta o come parte di una cadenza regolare.
export EXTRA_XFER_OPTIONS='VerifyMode=ONLY_FILES_TRANSFERRED,OverwriteMode=ALWAYS,Atime=NONE,Mtime=NONE,Uid=NONE,Gid=NONE,PreserveDeletedFiles=REMOVE,PreserveDevices=NONE,PosixPermissions=NONE,TaskQueueing=ENABLED,TransferMode=CHANGED,SecurityDescriptorCopyFlags=NONE,ObjectTags=NONE' export DATASYNC_TASK_ARN=$(aws datasync create-task --source-location-arn $SOURCE_LOCATION_ARN --destination-location-arn $DESTINATION_LOCATION_ARN --name "SMEFS_to_CustomEFS_Sync" --region $REGION --options $EXTRA_XFER_OPTIONS | jq -r ".TaskArn")
-
Avvia un' AWS DataSync attività per copiare automaticamente i dati dall'Amazon di origine EFS al EFS montaggio Amazon di destinazione. Ciò non mantiene le POSIX autorizzazioni del file, il che consente agli utenti di leggere dal EFS mount Amazon di destinazione, ma non di scrivervi.
aws datasync start-task-execution --task-arn $DATASYNC_TASK_ARN
-
Monta il EFS volume Amazon di destinazione sul dominio a livello root.
aws sagemaker update-domain --domain-id $SOURCE_DOMAIN_ID \ --default-user-settings '{"CustomFileSystemConfigs": [{"EFSFileSystemConfig": {"FileSystemId": "'"$TARGET_EFS"'", "FileSystemPath": "/"}}]}'
-
Sovrascrivi ogni profilo utente con un
FileSystemPath
prefisso. Il prefisso include quello dell'utenteUID, creato da. SageMaker Ciò garantisce che gli utenti abbiano accesso solo ai propri dati e impedisce l'impollinazione incrociata. Quando viene creato uno spazio nel dominio e il EFS volume Amazon di destinazione viene montato sull'applicazione, il prefisso dell'utente sovrascrive il prefisso del dominio. Di conseguenza, monta la/user-id
directory SageMaker solo sull'applicazione dell'utente.aws sagemaker list-user-profiles --domain-id $SOURCE_DOMAIN_ID | jq -r '.UserProfiles[] | "\(.UserProfileName)"' | while read user; do export uid=$(aws sagemaker describe-user-profile --domain-id $SOURCE_DOMAIN_ID --user-profile-name $user | jq -r ".HomeEfsFileSystemUid") echo "$user $uid" aws sagemaker update-user-profile --domain-id $SOURCE_DOMAIN_ID --user-profile-name $user --user-settings '{"CustomFileSystemConfigs": [{"EFSFileSystemConfig":{"FileSystemId": "'"$TARGET_EFS"'", "FileSystemPath": "'"/$uid/"'"}}]}' done
-
Gli utenti possono quindi selezionare il EFS file system Amazon personalizzato all'avvio di un'applicazione. Per ulteriori informazioni, consulta JupyterLab guida per l'utente o Avvia un'applicazione Code Editor in Studio.
In questo approccio, utilizzi un' AWS DataSync attività Amazon EFS-to-Amazon S3 per copiare il contenuto di un EFS volume Amazon Studio Classic su un bucket Amazon S3 una volta o con cadenza regolare, quindi crei una configurazione del ciclo di vita per copiare i dati dell'utente da Amazon S3 al volume Amazon del suo spazio privato. EBS
Nota
Questo approccio funziona solo per i domini con accesso a Internet.
-
Imposta l'ID EFS del volume Amazon di origine dal dominio contenente i dati di cui stai migrando.
timestamp=$(date +%Y%m%d%H%M%S) export SOURCE_DOMAIN_ID="
domain-id
" export REGION="region
" export ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) export EFS_ID=$(aws sagemaker describe-domain --domain-id $SOURCE_DOMAIN_ID | jq -r '.HomeEfsFileSystemId') -
Imposta il nome del bucket Amazon S3 di destinazione. Per informazioni sulla creazione di un bucket Amazon S3, consulta Creazione di un bucket. Il bucket utilizzato deve avere una CORS politica come descritta in. (Facoltativo) Aggiorna la CORS policy per accedere ai bucket Amazon S3 Gli utenti del dominio devono inoltre disporre delle autorizzazioni per accedere al bucket Amazon S3.
In questo esempio, stiamo copiando i file in un prefisso denominato.
studio-new
Se utilizzi un singolo bucket Amazon S3 per migrare più domini, usa ilstudio-new/<domain-id>
prefisso per limitare le autorizzazioni ai file utilizzati. IAMexport BUCKET_NAME=
s3-bucket-name
export S3_DESTINATION_PATH=studio-new -
Crea una politica di fiducia che dia le AWS DataSync autorizzazioni per assumere il ruolo di esecuzione del tuo account.
export TRUST_POLICY=$(cat <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "datasync.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "$ACCOUNT_ID" }, "ArnLike": { "aws:SourceArn": "arn:aws:datasync:$REGION:$ACCOUNT_ID:*" } } } ] } EOF )
-
Crea un IAM ruolo e allega la politica di fiducia.
export timestamp=$(date +%Y%m%d%H%M%S) export ROLE_NAME="DataSyncS3Role-$timestamp" aws iam create-role --role-name $ROLE_NAME --assume-role-policy-document "$TRUST_POLICY" aws iam attach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess echo "Attached IAM Policy AmazonS3FullAccess" aws iam attach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess echo "Attached IAM Policy AmazonSageMakerFullAccess" export ROLE_ARN=$(aws iam get-role --role-name $ROLE_NAME --query 'Role.Arn' --output text) echo "Created IAM Role $ROLE_ARN"
-
Crea un gruppo di sicurezza per consentire l'accesso alla EFS sede Amazon.
export EFS_ARN=$(aws efs describe-file-systems --file-system-id $EFS_ID | jq -r '.FileSystems[0].FileSystemArn' ) export EFS_SUBNET_ID=$(aws efs describe-mount-targets --file-system-id $EFS_ID | jq -r '.MountTargets[0].SubnetId') export EFS_VPC_ID=$(aws efs describe-mount-targets --file-system-id $EFS_ID | jq -r '.MountTargets[0].VpcId') export MOUNT_TARGET_ID=$(aws efs describe-mount-targets --file-system-id $EFS_ID | jq -r '.MountTargets[0].MountTargetId ') export EFS_SECURITY_GROUP_ID=$(aws efs describe-mount-target-security-groups --mount-target-id $MOUNT_TARGET_ID | jq -r '.SecurityGroups[0]') export EFS_SUBNET_ARN=$(aws ec2 describe-subnets --subnet-ids $EFS_SUBNET_ID | jq -r '.Subnets[0].SubnetArn') echo "Subnet ID: $EFS_SUBNET_ID" echo "Security Group ID: $EFS_SECURITY_GROUP_ID" echo "Subnet ARN: $EFS_SUBNET_ARN" timestamp=$(date +%Y%m%d%H%M%S) sg_name="datasync-sg-$timestamp" export DATASYNC_SG_ID=$(aws ec2 create-security-group --vpc-id $EFS_VPC_ID --group-name $sg_name --description "DataSync SG" --output text --query 'GroupId') aws ec2 authorize-security-group-egress --group-id $DATASYNC_SG_ID --protocol tcp --port 2049 --source-group $EFS_SECURITY_GROUP_ID aws ec2 authorize-security-group-ingress --group-id $EFS_SECURITY_GROUP_ID --protocol tcp --port 2049 --source-group $DATASYNC_SG_ID export DATASYNC_SG_ARN="arn:aws:ec2:$REGION:$ACCOUNT_ID:security-group/$DATASYNC_SG_ID" echo "Security Group ARN: $DATASYNC_SG_ARN"
-
Crea una EFS sede Amazon di origine per l' AWS DataSync attività.
export SOURCE_ARN=$(aws datasync create-location-efs --efs-filesystem-arn $EFS_ARN --ec2-config "{\"SubnetArn\": \"$EFS_SUBNET_ARN\", \"SecurityGroupArns\": [\"$DATASYNC_SG_ARN\"]}" | jq -r '.LocationArn') echo "Source Location ARN: $SOURCE_ARN"
-
Crea una posizione Amazon S3 di destinazione per l' AWS DataSync attività.
export BUCKET_ARN="arn:aws:s3:::$BUCKET_NAME" export DESTINATION_ARN=$(aws datasync create-location-s3 --s3-bucket-arn $BUCKET_ARN --s3-config "{\"BucketAccessRoleArn\": \"$ROLE_ARN\"}" --subdirectory $S3_DESTINATION_PATH | jq -r '.LocationArn') echo "Destination Location ARN: $DESTINATION_ARN"
-
Crea un' AWS DataSync attività.
export TASK_ARN=$(aws datasync create-task --source-location-arn $SOURCE_ARN --destination-location-arn $DESTINATION_ARN | jq -r '.TaskArn') echo "DataSync Task: $TASK_ARN"
-
Avvia l' AWS DataSync attività. Questa attività copia automaticamente i dati dal EFS volume Amazon di origine al bucket Amazon S3 di destinazione. Attendi il completamento dell'operazione.
aws datasync start-task-execution --task-arn $TASK_ARN
-
Controlla lo stato dell' AWS DataSync attività per verificare che sia completa. Passa il ARN reso nel passaggio precedente.
export TASK_EXEC_ARN=
datasync-task-arn
echo "Task execution ARN: $TASK_EXEC_ARN" export STATUS=$(aws datasync describe-task-execution --task-execution-arn $TASK_EXEC_ARN | jq -r '.Status') echo "Execution status: $STATUS" while [ "$STATUS" = "QUEUED" ] || [ "$STATUS" = "LAUNCHING" ] || [ "$STATUS" = "PREPARING" ] || [ "$STATUS" = "TRANSFERRING" ] || [ "$STATUS" = "VERIFYING" ]; do STATUS=$(aws datasync describe-task-execution --task-execution-arn $TASK_EXEC_ARN | jq -r '.Status') if [ $? -ne 0 ]; then echo "Error Running DataSync Task" exit 1 fi echo "Execution status: $STATUS" sleep 30 done -
Al termine dell' AWS DataSync attività, pulisci le risorse create in precedenza.
aws datasync delete-task --task-arn $TASK_ARN echo "Deleted task $TASK_ARN" aws datasync delete-location --location-arn $SOURCE_ARN echo "Deleted location source $SOURCE_ARN" aws datasync delete-location --location-arn $DESTINATION_ARN echo "Deleted location source $DESTINATION_ARN" aws iam detach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess aws iam detach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess aws iam delete-role --role-name $ROLE_NAME echo "Deleted IAM Role $ROLE_NAME" echo "Wait 5 minutes for the elastic network interface to detach..." start_time=$(date +%s) while [[ $(($(date +%s) - start_time)) -lt 300 ]]; do sleep 1 done aws ec2 revoke-security-group-ingress --group-id $EFS_SECURITY_GROUP_ID --protocol tcp --port 2049 --source-group $DATASYNC_SG_ID echo "Revoked Ingress from $EFS_SECURITY_GROUP_ID" aws ec2 revoke-security-group-egress --group-id $DATASYNC_SG_ID --protocol tcp --port 2049 --source-group $EFS_SECURITY_GROUP_ID echo "Revoked Egress from $DATASYNC_SG_ID" aws ec2 delete-security-group --group-id $DATASYNC_SG_ID echo "Deleted DataSync SG $DATASYNC_SG_ID"
-
Dal tuo computer locale, crea un file locale denominato
on-start.sh
con il seguente contenuto. Questo script copia la EFS home directory Amazon dell'utente in Amazon S3 nel EBS volume Amazon dell'utente in Studio e crea un prefisso per ogni profilo utente.#!/bin/bash set -eo pipefail sudo apt-get install -y jq # Studio Variables DOMAIN_ID=$(cat /opt/ml/metadata/resource-metadata.json | jq -r '.DomainId') SPACE_NAME=$(cat /opt/ml/metadata/resource-metadata.json | jq -r '.SpaceName') USER_PROFILE_NAME=$(aws sagemaker describe-space --domain-id=$DOMAIN_ID --space-name=$SPACE_NAME | jq -r '.OwnershipSettings.OwnerUserProfileName') # S3 bucket to copy from BUCKET=
s3-bucket-name
# Subfolder in bucket to copy PREFIX=studio-new # Getting HomeEfsFileSystemUid for the current user-profile EFS_FOLDER_ID=$(aws sagemaker describe-user-profile --domain-id $DOMAIN_ID --user-profile-name $USER_PROFILE_NAME | jq -r '.HomeEfsFileSystemUid') # Local destination directory DEST=./studio-classic-efs-backup mkdir -p $DEST echo "Bucket: s3://$BUCKET/$PREFIX/$EFS_FOLDER_ID/" echo "Destination $DEST/" echo "Excluding .*" echo "Excluding .*/*" aws s3 cp s3://$BUCKET/$PREFIX/$EFS_FOLDER_ID/ $DEST/ \ --exclude ".*" \ --exclude "**/.*" \ --recursive -
Converti lo script in formato base64. Questo requisito previene gli errori dovuti alla codifica della spaziatura e delle interruzioni di riga. Il tipo di script può essere uno o
JupyterLab
.CodeEditor
export LCC_SCRIPT_NAME='studio-classic-sync' export SCRIPT_FILE_NAME='on-start.sh' export SCRIPT_TYPE='
JupyterLab-or-CodeEditor
' LCC_CONTENT=`openssl base64 -A -in ${SCRIPT_FILE_NAME}` -
Verifica quanto segue prima di utilizzare lo script:
-
Il EBS volume Amazon è sufficientemente grande per archiviare gli oggetti che stai esportando.
-
Non stai migrando file e cartelle nascosti, come
.bashrc
e.condarc
se non intendi farlo. -
Il ruolo di esecuzione AWS Identity and Access Management (IAM) associato ai profili utente di Studio ha le policy configurate per accedere solo alla rispettiva home directory in Amazon S3.
-
-
Crea una configurazione del ciclo di vita utilizzando il tuo script.
aws sagemaker create-studio-lifecycle-config \ --studio-lifecycle-config-name $LCC_SCRIPT_NAME \ --studio-lifecycle-config-content $LCC_CONTENT \ --studio-lifecycle-config-app-type $SCRIPT_TYPE
-
Allega il file LCC al tuo dominio.
aws sagemaker update-domain \ --domain-id $SOURCE_DOMAIN_ID \ --default-user-settings ' {"JupyterLabAppSettings": {"LifecycleConfigArns": [ "
lifecycle-config-arn
" ] } }' -
Gli utenti possono quindi selezionare lo LCC script all'avvio di un'applicazione. Per ulteriori informazioni, consulta JupyterLab guida per l'utente o Avvia un'applicazione Code Editor in Studio. Questo sincronizza automaticamente i file da Amazon S3 allo storage EBS Amazon per lo spazio dell'utente.
Migra i flussi di dati da Data Wrangler
Se in precedenza hai utilizzato Amazon SageMaker Data Wrangler in Amazon SageMaker Studio Classic per attività di preparazione dei dati, puoi migrare al nuovo Amazon SageMaker Studio e accedere all'ultima versione di Data Wrangler in Amazon Canvas. SageMaker Data Wrangler in SageMaker Canvas ti offre un'esperienza utente migliorata e l'accesso alle funzionalità più recenti, come un'interfaccia in linguaggio naturale e prestazioni più elevate.
Puoi accedere a SageMaker Canvas in qualsiasi momento per iniziare a utilizzare la nuova esperienza Data Wrangler. Per ulteriori informazioni, consulta Guida introduttiva all'utilizzo di Amazon SageMaker Canvas.
Se disponi di file di flusso di dati salvati in Studio Classic su cui stavi lavorando in precedenza, puoi eseguire l'onboarding in Studio e quindi importare i file di flusso in Canvas. Sono disponibili le seguenti opzioni per la migrazione:
Migrazione con un clic: quando accedi a Canvas, puoi utilizzare un'opzione di importazione unica che migra tutti i file di flusso per tuo conto.
Migrazione manuale: puoi importare manualmente i file di flusso in Canvas. Da Studio Classic, esporta i file su Amazon S3 o scaricali sul tuo computer locale. Quindi, accedi all'applicazione SageMaker Canvas, importi i file di flusso e continui le attività di preparazione dei dati.
La seguente guida descrive i prerequisiti per la migrazione e come migrare i file del flusso di dati utilizzando l'opzione manuale o con un clic.
Prerequisiti
Esamina i seguenti prerequisiti prima di iniziare la migrazione dei file di flusso.
Fase 1: Esegui la migrazione del dominio e concedi le autorizzazioni
Prima di migrare i file del flusso di dati, devi seguire i passaggi specifici della Migrazione da Amazon SageMaker Studio Classic guida per assicurarti che il ruolo di AWS IAM esecuzione del tuo profilo utente disponga delle autorizzazioni richieste. Migrazione dell'interfaccia utente da Studio Classic a StudioPrima di procedere, seguite i prerequisiti, che descrivono come concedere le autorizzazioni richieste, configurare Studio come nuova esperienza e migrare il dominio esistente.
In particolare, è necessario disporre delle autorizzazioni per creare un'applicazione SageMaker Canvas e utilizzare le funzionalità di preparazione dei SageMaker dati Canvas. Per ottenere queste autorizzazioni, puoi:
Aggiungi la AmazonSageMakerCanvasDataPrepFullAccesspolitica al tuo IAM ruolo, oppure
Allega una politica relativa ai permessi minimi, come mostrato nella sezione (Facoltativo) Migrazione da Data Wrangler in Studio Classic a Canvas della pagina. SageMaker Migrazione dell'interfaccia utente da Studio Classic a Studio
Assicurati di utilizzare lo stesso profilo utente sia per Studio che per Canvas. SageMaker
Dopo aver completato i prerequisiti indicati nella guida alla migrazione, dovresti disporre di un nuovo dominio con le autorizzazioni necessarie per accedere a SageMaker Canvas tramite Studio.
Fase 2. (Facoltativo) Prepara una sede Amazon S3
Se stai eseguendo una migrazione manuale e prevedi di utilizzare Amazon S3 per trasferire i file di flusso anziché utilizzare l'opzione di download locale, dovresti avere un bucket Amazon S3 nel tuo account che desideri utilizzare per archiviare i file di flusso.
Metodo di migrazione con un clic
SageMaker Canvas offre un'opzione di importazione una tantum per la migrazione dei flussi di dati da Data Wrangler in Studio Classic a Data Wrangler in Canvas. SageMaker Finché le applicazioni Studio Classic e Canvas condividono lo stesso volume di EFS storage Amazon, puoi migrare con un clic da Canvas. Questo processo semplificato elimina la necessità di passaggi manuali di esportazione e importazione e puoi importare tutti i flussi contemporaneamente.
Utilizzate la seguente procedura per migrare tutti i file di flusso:
-
Apri la versione più recente di Studio.
-
In Studio, nel riquadro di navigazione a sinistra, scegli il menu a discesa Dati.
-
Dalle opzioni di navigazione, scegli Data Wrangler.
-
Nella pagina Data Wrangler, scegli Esegui in Canvas. Se hai impostato correttamente le autorizzazioni, verrà creata un'applicazione Canvas per te. L'applicazione Canvas potrebbe richiedere alcuni minuti prima di essere pronta.
-
Quando Canvas è pronto, scegli Apri in Canvas.
-
Canvas si apre sulla pagina Data Wrangler e nella parte superiore della pagina viene visualizzato un banner che dice
Importa i flussi di dati da Data Wrangler in Studio Classic a Canvas. Si tratta di un'importazione unica. Ulteriori informazioni
. Nel banner, scegli Importa tutto.avvertimento
Se chiudi la notifica del banner, non potrai più riaprirla o utilizzare il metodo di migrazione con un clic.
Viene visualizzata una notifica pop-up che indica che Canvas sta importando i file di flusso da Studio Classic. Se l'importazione ha esito positivo, riceverai un'altra notifica indicante che il X
numero di file di flusso è stato importato e potrai visualizzare i file di flusso nella pagina Data Wrangler dell'applicazione Canvas. Tutti i file di flusso importati che hanno lo stesso nome dei flussi di dati esistenti nell'applicazione Canvas vengono rinominati con un suffisso. Puoi aprire un flusso di dati per verificare che abbia l'aspetto previsto.
Nel caso in cui uno dei file di flusso non venga importato correttamente, riceverai una notifica indicante che l'importazione è stata parzialmente riuscita o non riuscita. Scegli Visualizza errori nel messaggio di notifica per controllare i singoli messaggi di errore e ottenere indicazioni su come riformattare eventuali file di flusso formattati in modo errato.
Dopo aver importato i file di flusso, ora dovresti essere in grado di continuare a utilizzare Data Wrangler per preparare i dati in Canvas. SageMaker
Metodo di migrazione manuale
Le sezioni seguenti descrivono come importare manualmente i file di flusso in Canvas nel caso in cui il metodo di migrazione con un clic non abbia funzionato.
Esporta i file di flusso da Studio Classic
Nota
Se hai già migrato i dati di Studio Classic su Amazon S3 seguendo le istruzioni riportate (Facoltativo) Migrazione dei dati da Studio Classic a Studio in, puoi saltare questo passaggio e andare direttamente alla Importa i file di flusso in Canvas sezione in cui importi i file di flusso dalla posizione Amazon S3 in cui sono archiviati i dati di Studio Classic.
Puoi esportare i file di flusso salvandoli su Amazon S3 o scaricandoli sul tuo computer locale. Quando importi i file di flusso in SageMaker Canvas nel passaggio successivo, se scegli l'opzione di caricamento locale, puoi caricare solo 20 file di flusso alla volta. Se hai un numero elevato di file di flusso da importare, ti consigliamo di utilizzare invece Amazon S3.
Segui le istruzioni riportate in entrambi i casi Metodo 1: usa Amazon S3 per trasferire file di flusso o Metodo 2: utilizza il computer locale per trasferire i file di flusso procedi.
Metodo 1: usa Amazon S3 per trasferire file di flusso
Con questo metodo, utilizzi Amazon S3 come intermediario tra Data Wrangler in Studio Classic e Data Wrangler in SageMaker Canvas (accessibile tramite l'ultima versione di Studio). Esporti i file di flusso da Studio Classic ad Amazon S3, quindi nel passaggio successivo accedi a Canvas tramite Studio e importi i file di flusso da Amazon S3.
Assicurati di avere un bucket Amazon S3 preparato come posizione di archiviazione per i file di flusso.
Utilizza la seguente procedura per esportare i file di flusso da Studio Classic ad Amazon S3:
-
Apri Studio Classic.
-
Apri un nuovo terminale effettuando le seguenti operazioni:
-
Nella barra di navigazione in alto, scegli File.
-
Nel menu contestuale, passa il mouse su Nuovo, quindi seleziona Terminale.
-
-
Per impostazione predefinita, il terminale dovrebbe aprirsi nella tua home directory. Accedete alla cartella che contiene tutti i file di flusso che desiderate migrare.
-
Utilizza il seguente comando per sincronizzare tutti i file di flusso nella posizione Amazon S3 specificata. Sostituisci
e{bucket-name}
con il percorso verso la posizione Amazon S3 desiderata. Per ulteriori informazioni sul comando e sui parametri, consulta il comando sync nel Command Reference. AWS AWS CLI{folder}
aws s3 sync . s3://
{bucket-name}
/{folder}
/ --exclude "*.*" --include "*.flow"Se state usando il vostro AWS KMS key, utilizzate invece il comando seguente per sincronizzare i file e specificare l'ID della KMS chiave. Accertatevi che il ruolo di IAM esecuzione dell'utente (che dovrebbe essere lo stesso ruolo utilizzato nel passaggio 1). Migrare il dominio e concedere le autorizzazioni dei prerequisiti precedenti) è stato concesso l'accesso per utilizzare la chiave. KMS
aws s3 sync . s3://
{bucket-name}
/{folder}
/ --exclude "*.*" --include "*.flow" --sse-kms-key-id{your-key-id}
I file di flusso dovrebbero ora essere esportati. Puoi controllare il tuo bucket Amazon S3 per assicurarti che i file di flusso siano stati sincronizzati correttamente.
Per importare questi file nell'ultima versione di Data Wrangler, segui i passaggi riportati di seguito. Importa i file di flusso in Canvas
Metodo 2: utilizza il computer locale per trasferire i file di flusso
Con questo metodo, scaricate i file di flusso da Studio Classic sul computer locale. È possibile scaricare i file direttamente oppure comprimerli come archivio zip. Quindi, decomprimi il file zip localmente (se applicabile), accedi a Canvas e importi i file di flusso caricandoli dal tuo computer locale.
Utilizzate la seguente procedura per scaricare i file di flusso da Studio Classic:
-
Apri Studio Classic.
-
(Facoltativo) Se desideri comprimere più file di flusso in un archivio zip e scaricarli tutti in una volta, procedi come segue:
-
Nella barra di navigazione superiore di Studio Classic, scegli File.
-
Nel menu contestuale, passa il mouse su Nuovo, quindi seleziona Terminale.
-
Per impostazione predefinita, il terminale si apre nella tua home directory. Passa alla cartella che contiene tutti i file di flusso che desideri migrare.
-
Utilizzate il comando seguente per comprimere i file di flusso nella directory corrente come file zip. Il comando esclude tutti i file nascosti:
find . -not -path "*/.*" -name "*.flow" -print0 | xargs -0 zip my_archive.zip
-
-
Scarica l'archivio zip o i singoli file di flusso sul tuo computer locale effettuando le seguenti operazioni:
-
Nel riquadro di navigazione a sinistra di Studio Classic, scegli File Browser.
-
Trova il file che desideri scaricare nel browser dei file.
-
Fai clic con il pulsante destro del mouse sul file e nel menu contestuale seleziona Scarica.
-
Il file dovrebbe essere scaricato sul computer locale. Se li hai compressi come archivio zip, estrai i file localmente. Dopo aver estratto i file, per importarli nell'ultima versione di Data Wrangler, segui la procedura riportata di seguito. Importa i file di flusso in Canvas
Importa i file di flusso in Canvas
Dopo aver esportato i file di flusso, accedi a Canvas tramite Studio e importa i file.
Utilizzate la seguente procedura per importare i file di flusso in Canvas:
-
Apri la versione più recente di Studio.
-
In Studio, nel riquadro di navigazione a sinistra, scegli il menu a discesa Dati.
-
Dalle opzioni di navigazione, scegli Data Wrangler.
-
Nella pagina Data Wrangler, scegli Esegui in Canvas. Se hai impostato correttamente le autorizzazioni, verrà creata un'applicazione Canvas per te. L'applicazione Canvas potrebbe richiedere alcuni minuti prima di essere pronta.
-
Quando Canvas è pronto, scegli Apri in Canvas.
-
Canvas si apre nella pagina Data Wrangler. Nel riquadro superiore, scegli Importa flussi di dati.
-
Per Origine dati, scegli Amazon S3 o Caricamento locale.
-
Seleziona i file di flusso dal tuo bucket Amazon S3 o carica i file dal tuo computer locale.
Nota
Per il caricamento locale, puoi caricare un massimo di 20 file di flusso alla volta. Per importazioni di grandi dimensioni, usa Amazon S3. Se selezioni una cartella da importare, vengono importati anche tutti i file di flusso nelle sottocartelle.
-
Scegli Import data (Importa dati).
Se l'importazione ha avuto esito positivo, riceverai una notifica indicante che il X
numero di file di flusso è stato importato correttamente.
Nel caso in cui i file di flusso non vengano importati correttamente, riceverai una notifica nell'applicazione SageMaker Canvas. Scegliete Visualizza errori nel messaggio di notifica per controllare i singoli messaggi di errore e ottenere indicazioni su come riformattare eventuali file di flusso formattati in modo errato.
Al termine dell'importazione dei file di flusso, vai alla pagina Data Wrangler dell'applicazione SageMaker Canvas per visualizzare i flussi di dati. Puoi provare ad aprire un flusso di dati per verificare che abbia l'aspetto previsto.