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 (Amazon EFS) 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 (Amazon EBS). Quando aggiorni l'esperienza predefinita di un dominio esistente, SageMaker AI monta automaticamente una cartella in un volume Amazon EFS 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 Montaggio automatico di Amazon EFS in Studio.
Puoi anche disattivare il montaggio automatico di Amazon EFS 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 volumi Amazon EBS associati a tali spazi. La sezione seguente fornisce informazioni su questo flusso di lavoro. Per ulteriori informazioni sulla disattivazione del montaggio automatico di Amazon EFS, consulta. Disattiva il montaggio automatico di Amazon EFS
Migra manualmente 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 volume Amazon EFS 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 Migra manualmente 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 EFS personalizzato
In questo approccio, utilizzi un' AWS DataSync attività Amazon EFS-to-Amazon EFS (una tantum o con cadenza) per copiare i dati, quindi monti il volume Amazon EFS di destinazione negli spazi di un utente. Ciò consente agli utenti di accedere ai dati di Studio Classic nei loro ambienti di calcolo 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 volume Amazon EFS di origine a un volume Amazon EFS di destinazione è più sicura rispetto al montaggio diretto del volume Amazon EFS di origine gestito dall' SageMaker IA 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 volume Amazon EFS di destinazione montato negli spazi dell'utente. Per ottenere l'accesso in scrittura al volume Amazon EFS di destinazione, i clienti devono montare il volume Amazon EFS di destinazione su un'istanza Amazon Elastic Compute Cloud e fornire agli utenti le autorizzazioni appropriate per scrivere sul prefisso Amazon EFS.
-
Richiede la modifica dei gruppi di sicurezza gestiti dall' SageMaker IA 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 EBS del suo spazio privato.
Vantaggi:
-
Se la scheda LCC è collegata al dominio, gli utenti possono scegliere di utilizzare la scheda LCC per copiare i dati nel proprio spazio o di eseguire lo spazio senza script LCC. In questo modo gli utenti possono scegliere di copiare i propri file solo negli spazi necessari.
-
Se un' AWS DataSync operazione è impostata secondo una cadenza, gli utenti possono riavviare l'applicazione Studio per scaricare i file più recenti.
-
Poiché i dati vengono copiati su Amazon EBS, 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, utilizzi un Amazon EFS-to-Amazon EFS AWS DataSync per copiare il contenuto di un volume Amazon EFS Studio Classic su un volume Amazon EFS di destinazione una volta o con cadenza regolare, quindi monta il volume Amazon EFS 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 volume Amazon EFS di destinazione. Trasferirai i dati in questo volume Amazon EFS e li 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 volume Amazon EFS 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 il target Amazon EFS venga creato nello stesso 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 montaggio Amazon EFS nello stesso VPC e nella stessa sottorete Amazon del volume Amazon EFS 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 posizioni di origine e destinazione di Amazon EFS 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 (NFS) di origine e di destinazione. Quando viene creato un nuovo dominio, l' SageMaker IA crea 2 gruppi di sicurezza.
-
Gruppo di sicurezza in entrata NFS con solo traffico in entrata.
-
Gruppo di sicurezza NFS in uscita con solo traffico in uscita.
L'NFS di origine e quello di destinazione sono collocati all'interno degli stessi gruppi di sicurezza. È possibile consentire il traffico tra questi supporti da o. AWS Management Console AWS CLI
-
Consenti il traffico proveniente da AWS Management Console
Accedi AWS Management Console e apri la console Amazon VPC 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:
-
Type (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:
-
Type (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 montaggio Amazon EFS di origine e destinazione. Ciò consente il traffico tra i 2 mount Amazon EFS.
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 ARN dell'attività che può essere utilizzato 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 EFS di origine al mount Amazon EFS di destinazione. Ciò non mantiene le autorizzazioni POSIX del file, che consentono agli utenti di leggere dal mount Amazon EFS di destinazione, ma non di scrivere su di esso.
aws datasync start-task-execution --task-arn $DATASYNC_TASK_ARN
-
Monta il volume Amazon EFS 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 l'UID dell'utente, creato dall'IA. 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 volume Amazon EFS di destinazione viene montato sull'applicazione, il prefisso dell'utente sovrascrive il prefisso del dominio. Di conseguenza, l' SageMaker IA monta la/user-id
directory 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 file system Amazon EFS 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 volume Amazon EFS Studio Classic in un bucket Amazon S3 una volta o con cadenza regolare, quindi crea una configurazione del ciclo di vita per copiare i dati dell'utente da Amazon S3 al volume Amazon EBS del suo spazio privato.
Nota
Questo approccio funziona solo per i domini con accesso a Internet.
-
Imposta l'ID del volume Amazon EFS 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 politica CORS come descritto in. (Facoltativo) Aggiorna la tua policy CORS 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 tramite IAM.export 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 ruolo IAM e allega la policy 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 posizione Amazon EFS.
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 posizione Amazon EFS 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"
-
Avviate l' AWS DataSync operazione. Questa attività copia automaticamente i dati dal volume Amazon EFS di origine al bucket Amazon S3 di destinazione. Attendi il completamento dell'attività.
aws datasync start-task-execution --task-arn $TASK_ARN
-
Controlla lo stato dell' AWS DataSync attività per verificare che sia completa. Passa l'ARN restituito 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 home directory Amazon EFS dell'utente in Amazon S3 nel volume Amazon EBS 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 volume Amazon EBS è 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
-
Collega la scheda 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 script LCC 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 Amazon EBS 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 esecuzione AWS IAM 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 AmazonSageMakerCanvasDataPrepFullAccesspolicy al tuo ruolo IAM 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 solo 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 storage Amazon EFS, 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 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 stai usando il tuo AWS KMS key, usa invece il comando seguente per sincronizzare i file e specificare l'ID della tua chiave KMS. Assicurati che il ruolo di esecuzione IAM dell'utente (che dovrebbe essere lo stesso ruolo utilizzato nel passaggio 1). Migrare il dominio e concedere le autorizzazioni (i prerequisiti precedenti) ha ottenuto 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 è andata a buon fine, 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.