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à.
Esegui la migrazione dei dati da Microsoft Azure Blob ad Amazon S3 utilizzando Rclone
Creato da Suhas Basavaraj (AWS), Aidan Keane () e Corey Lane () AWS AWS
Ambiente: PoC o pilota | Fonte: contenitore di archiviazione Microsoft Azure | Obiettivo: bucket Amazon S3 |
Tipo R: Replatform | Carico di lavoro: Microsoft | Tecnologie: migrazione; archiviazione e backup |
AWSservizi: Amazon S3 |
Riepilogo
Questo modello descrive come usare Rclone
Prerequisiti e limitazioni
Prerequisiti
AWSUn account attivo
Dati archiviati nel servizio contenitore Azure Blob
Architettura
Stack tecnologico di origine
Contenitore di archiviazione Azure Blob
Stack tecnologico Target
Bucket Amazon S3
Istanza Amazon Elastic Compute Cloud (AmazonEC2) Linux
Architettura
Strumenti
Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
Rclone è un programma
a riga di comando open source ispirato a rsync. Viene utilizzato per gestire i file su molte piattaforme di archiviazione cloud.
Best practice
Quando esegui la migrazione dei dati da Azure ad Amazon S3, tieni presente queste considerazioni per evitare costi inutili o velocità di trasferimento lente:
Crea la tua AWS infrastruttura nella stessa area geografica dell'account di archiviazione di Azure e del contenitore Blob, ad esempio Regione (Virginia settentrionale) e Regione Azure. AWS
us-east-1
East US
Se possibile, evita di usare NAT Gateway, perché fa maturare tariffe per il trasferimento dei dati sia per la larghezza di banda in ingresso che in uscita.
Utilizza un endpoint VPC gateway per Amazon S3 per aumentare le prestazioni.
Prendi in considerazione l'utilizzo di un'EC2istanza basata su processore AWS Graviton2 (ARM) per ridurre i costi e aumentare le prestazioni rispetto alle istanze Intel x86. Rclone è fortemente compilato in modo incrociato e fornisce un binario precompilato. ARM
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Prepara un bucket S3 di destinazione. | Crea un nuovo bucket S3 nella AWS regione appropriata o scegli un bucket esistente come destinazione per i dati che desideri migrare. | AWSamministratore |
Crea un ruolo di IAM istanza per AmazonEC2. | Crea un nuovo ruolo AWS Identity and Access Management (IAM) per Amazon EC2. Questo ruolo fornisce all'EC2istanza l'accesso in scrittura al bucket S3 di destinazione. | AWSamministratore |
Allega una policy al ruolo dell'IAMistanza. | Utilizza la IAM console o l'interfaccia a riga di AWS comando (AWSCLI) per creare una policy in linea per il ruolo dell'EC2istanza che consenta le autorizzazioni di accesso in scrittura al bucket S3 di destinazione. Per un esempio di policy, consulta la sezione Informazioni aggiuntive. | AWSamministratore |
Avviare un'istanza EC2. | Avvia un'EC2istanza Amazon Linux configurata per utilizzare il ruolo di IAM servizio appena creato. Questa istanza dovrà inoltre accedere agli API endpoint pubblici di Azure tramite Internet. Nota: valuta la possibilità di utilizzare istanze AWSbasate su Graviton EC2 per ridurre i costi. Rclone fornisce file binari compilati. ARM | AWSamministratore |
Crea un responsabile del servizio Azure AD. | Usa Azure CLI per creare un service principal di Azure Active Directory (Azure AD) con accesso in sola lettura al contenitore di archiviazione Azure Blob di origine. Per istruzioni, vedere la sezione Informazioni aggiuntive. Archivia queste credenziali sulla tua EC2 istanza nella posizione | Amministratore cloud, Azure |
Attività | Descrizione | Competenze richieste |
---|---|---|
Scarica e installa Rclone. | Scarica e installa il programma da riga di comando Rclone. Per le istruzioni di installazione, consulta la documentazione di installazione di Rclone. | GeneraleAWS, amministratore del cloud |
Configura Rclone. | Copia il seguente file di
| GeneraleAWS, amministratore del cloud |
Verifica la configurazione di Rclone. | Per confermare che Rclone sia configurato e che le autorizzazioni funzionino correttamente, verifica che Rclone sia in grado di analizzare il file di configurazione e che gli oggetti all'interno del contenitore Azure Blob e del bucket S3 siano accessibili. Vedi quanto segue, ad esempio, i comandi di convalida.
| GeneraleAWS, amministratore del cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Migra i dati dai tuoi contenitori. | Esegui il comando Rclone copy or sync Esempio: copia Questo comando copia i dati dal contenitore Azure Blob di origine al bucket S3 di destinazione.
Esempio: sync Questo comando sincronizza i dati tra il contenitore Azure Blob di origine e il bucket S3 di destinazione.
Importante: quando usi il comando sync, i dati che non sono presenti nel contenitore di origine verranno eliminati dal bucket S3 di destinazione. | GeneraleAWS, amministratore del cloud |
Sincronizza i tuoi contenitori. | Una volta completata la copia iniziale, esegui il comando Rclone sync per la migrazione in corso in modo che vengano copiati solo i nuovi file mancanti dal bucket S3 di destinazione. | Generale, amministratore del cloud AWS |
Verifica che i dati siano stati migrati correttamente. | Per verificare che i dati siano stati copiati correttamente nel bucket S3 di destinazione, esegui i comandi Rclone lsd e ls. | Generale, amministratore del cloud AWS |
Risorse correlate
IAMruoli per Amazon EC2 (AWSdocumentazione)
Creazione di un contenitore Microsoft Azure Blob (documentazione
di Microsoft Azure)
Informazioni aggiuntive
Esempio di politica di ruolo per le istanze EC2
Questa politica offre all'EC2istanza l'accesso in lettura e scrittura a un bucket specifico del tuo account. Se il bucket utilizza una chiave gestita dal cliente per la crittografia lato server, la policy potrebbe richiedere un accesso aggiuntivo al AWS Key Management Service (). AWS KMS
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:DeleteObject", "s3:GetObject", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::BUCKET_NAME/*", "arn:aws:s3:::BUCKET_NAME" ] }, { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "arn:aws:s3:::*" } ] }
Creazione di un principale di servizio Azure AD di sola lettura
Un service principal di Azure è un'identità di sicurezza usata dalle applicazioni, dai servizi e dagli strumenti di automazione dei clienti per accedere a risorse di Azure specifiche. Pensala come un'identità utente (login e password o certificato) con un ruolo specifico e autorizzazioni strettamente controllate per accedere alle tue risorse. Per creare un servizio principale di sola lettura che utilizzi le autorizzazioni con privilegi minimi e protegga i dati in Azure da eliminazioni accidentali, segui questi passaggi:
Accedi al portale del tuo account cloud Microsoft Azure e avvia Cloud Shell PowerShell o usa l'interfaccia a riga di comando di Azure (CLI) sulla tua workstation.
Crea un service principal e configuralo con accesso in sola lettura al tuo account di archiviazione Azure Blob
. Salva l'JSONoutput di questo comando in un file locale chiamato. azure-principal.json
Il file verrà caricato sulla tua EC2 istanza. Sostituisci le variabili segnaposto mostrate tra parentesi quadre ({
e}
) con l'ID di sottoscrizione di Azure, il nome del gruppo di risorse e il nome dell'account di archiviazione.az ad sp create-for-rbac ` --name AWS-Rclone-Reader ` --role "Storage Blob Data Reader" ` --scopes /subscriptions/{Subscription ID}/resourceGroups/{Resource Group Name}/providers/Microsoft.Storage/storageAccounts/{Storage Account Name}