Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Migrieren Sie Daten mithilfe von Rclone von Microsoft Azure Blob zu Amazon S3
Erstellt von Suhas Basavaraj (AWS), Aidan Keane () und Corey Lane () AWS AWS
Umgebung: PoC oder Pilot | Quelle: Microsoft Azure-Speichercontainer | Ziel: Amazon S3 S3-Bucket |
R-Typ: Replatform | Arbeitslast: Microsoft | Technologien: Migration; Speicherung und Sicherung |
AWSDienste: Amazon S3 |
Übersicht
Dieses Muster beschreibt, wie Rclone
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives Konto AWS
Daten, die im Azure Blob-Containerdienst gespeichert sind
Architektur
Quelltechnologie-Stack
Azure Blob-Speichercontainer
Zieltechnologie-Stack
Amazon-S3-Bucket
Linux-Instanz von Amazon Elastic Compute Cloud (AmazonEC2)
Architektur
![Migrieren Sie Daten von Microsoft Azure zu Amazon S3](images/pattern-img/6ead815d-7768-4726-b27d-97a70cd21081/images/abe69eee-632f-4ca2-abf6-3223f3f3ec94.png)
Tools
Amazon Simple Storage Service (Amazon S3) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
Rclone
ist ein Open-Source-Befehlszeilenprogramm, das von rsync inspiriert wurde. Es wird zur Verwaltung von Dateien auf vielen Cloud-Speicherplattformen verwendet.
Bewährte Methoden
Wenn Sie Daten von Azure zu Amazon S3 migrieren, sollten Sie die folgenden Überlegungen berücksichtigen, um unnötige Kosten oder langsame Übertragungsgeschwindigkeiten zu vermeiden:
Erstellen Sie Ihre AWS Infrastruktur in derselben geografischen Region wie das Azure-Speicherkonto und der Blob-Container, z. B. AWS Region
us-east-1
(Nord-Virginia) und Azure-Region.East US
Vermeiden Sie nach Möglichkeit die Verwendung von NAT Gateway, da dadurch Datenübertragungsgebühren sowohl für die eingehende als auch für die ausgehende Bandbreite anfallen.
Verwenden Sie einen VPCGateway-Endpunkt für Amazon S3, um die Leistung zu steigern.
Erwägen Sie die Verwendung einer EC2 Instance auf Basis des AWS Graviton2 (ARM) -Prozessors, um im Vergleich zu Intel x86-Instances geringere Kosten und eine höhere Leistung zu erzielen. Rclone ist stark querkompiliert und stellt eine vorkompilierte Binärdatei bereit. ARM
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Bereiten Sie einen S3-Ziel-Bucket vor. | Erstellen Sie einen neuen S3-Bucket in der entsprechenden AWS Region oder wählen Sie einen vorhandenen Bucket als Ziel für die Daten, die Sie migrieren möchten. | AWSAdministrator |
Erstellen Sie eine IAM Instance-Rolle für AmazonEC2. | Erstellen Sie eine neue AWS Identity and Access Management (IAM) -Rolle für Amazon EC2. Diese Rolle gewährt Ihrer EC2 Instance Schreibzugriff auf den S3-Ziel-Bucket. | AWSAdministrator |
Fügen Sie der IAM Instanzrolle eine Richtlinie hinzu. | Verwenden Sie die IAM Konsole oder die AWS Befehlszeilenschnittstelle (AWSCLI), um eine Inline-Richtlinie für die EC2 Instance-Rolle zu erstellen, die Schreibzugriffsberechtigungen für den S3-Ziel-Bucket gewährt. Eine Beispielrichtlinie finden Sie im Abschnitt Zusätzliche Informationen. | AWSAdministrator |
Starten einer EC2-Instance | Starten Sie eine Amazon EC2 Linux-Instance, die für die Verwendung der neu erstellten IAM Servicerolle konfiguriert ist. Diese Instanz benötigt außerdem Zugriff auf öffentliche API Azure-Endpunkte über das Internet. Hinweis: Erwägen Sie die Verwendung von AWSGraviton-basierten EC2 Instanzen, um die Kosten zu senken. Rclone stellt ARM -kompilierte Binärdateien bereit. | AWSAdministrator |
Erstellen Sie einen Azure AD-Dienstprinzipal. | Verwenden Sie AzureCLI, um einen Azure Active Directory-Dienstprinzipal (Azure AD) zu erstellen, der nur Lesezugriff auf den Azure Blob-Quellspeichercontainer hat. Anweisungen finden Sie im Abschnitt Zusätzliche Informationen. Speichern Sie diese Anmeldeinformationen auf Ihrer EC2 Instance am Standort | Cloud-Administrator, Azure |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Downloaden und installieren Sie Rclone. | Laden Sie das Befehlszeilenprogramm Rclone herunter und installieren Sie es. Installationsanweisungen finden Sie in der Rclone-Installationsdokumentation | AllgemeinAWS, Cloud-Administrator |
Konfigurieren Sie Rclone. | Kopieren Sie die folgende
| AllgemeinAWS, Cloud-Administrator |
Überprüfen Sie die Rclone-Konfiguration. | Um sicherzustellen, dass Rclone konfiguriert ist und die Berechtigungen ordnungsgemäß funktionieren, stellen Sie sicher, dass Rclone Ihre Konfigurationsdatei analysieren kann und dass auf Objekte in Ihrem Azure Blob-Container und S3-Bucket zugegriffen werden kann. Im Folgenden finden Sie beispielsweise Validierungsbefehle.
| AllgemeinAWS, Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Migrieren Sie Daten aus Ihren Containern. | Führen Sie den Befehl Rclone copy Beispiel: Kopieren Mit diesem Befehl werden Daten aus dem Azure-Blob-Quellcontainer in den S3-Ziel-Bucket kopiert.
Beispiel: Sync Dieser Befehl synchronisiert Daten zwischen dem Azure-Blob-Quellcontainer und dem Ziel-S3-Bucket.
Wichtig: Wenn Sie den Sync-Befehl verwenden, werden Daten, die nicht im Quellcontainer vorhanden sind, aus dem S3-Ziel-Bucket gelöscht. | AllgemeinAWS, Cloud-Administrator |
Synchronisieren Sie Ihre Container. | Führen Sie nach Abschluss der ersten Kopie den Befehl Rclone sync für die laufende Migration aus, sodass nur neue Dateien kopiert werden, die im S3-Ziel-Bucket fehlen. | AllgemeinAWS, Cloud-Administrator |
Stellen Sie sicher, dass die Daten erfolgreich migriert wurden. | Führen Sie die Befehle Rclone lsd | AllgemeinAWS, Cloud-Administrator |
Zugehörige Ressourcen
Amazon S3 S3-Benutzerhandbuch (AWSDokumentation)
IAMRollen für Amazon EC2 (AWSDokumentation)
Einen Microsoft Azure Blob-Container
erstellen (Microsoft Azure-Dokumentation) Rclone-Befehle
(Rclone-Dokumentation)
Zusätzliche Informationen
Beispiel für eine Rollenrichtlinie für Instanzen EC2
Diese Richtlinie gewährt Ihrer EC2 Instance Lese- und Schreibzugriff auf einen bestimmten Bucket in Ihrem Konto. Wenn Ihr Bucket einen vom Kunden verwalteten Schlüssel für die serverseitige Verschlüsselung verwendet, benötigt die Richtlinie möglicherweise zusätzlichen Zugriff auf den AWS Key Management Service (AWSKMS).
{ "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:::*" } ] }
Einen schreibgeschützten Azure AD-Dienstprinzipal erstellen
Ein Azure-Dienstprinzipal ist eine Sicherheitsidentität, die von Kundenanwendungen, Diensten und Automatisierungstools für den Zugriff auf bestimmte Azure-Ressourcen verwendet wird. Stellen Sie sich das als Benutzeridentität (Login und Passwort oder Zertifikat) mit einer bestimmten Rolle und streng kontrollierten Zugriffsberechtigungen für Ihre Ressourcen vor. Gehen Sie wie folgt vor, um einen schreibgeschützten Dienstprinzipal zu erstellen, der die geringsten Rechte einhält und Daten in Azure vor versehentlichem Löschen schützt:
Melden Sie sich bei Ihrem Microsoft Azure-Cloud-Kontoportal an und starten Sie Cloud Shell in PowerShell oder verwenden Sie die Azure-Befehlszeilenschnittstelle (CLI) auf Ihrer Workstation.
Erstellen Sie einen Dienstprinzipal und konfigurieren Sie ihn mit schreibgeschütztem
Zugriff auf Ihr Azure BLOB-Speicherkonto. Speichern Sie die JSON Ausgabe dieses Befehls in einer lokalen Datei namens. azure-principal.json
Die Datei wird auf Ihre EC2 Instanz hochgeladen. Ersetzen Sie die Platzhaltervariablen, die in geschweiften Klammern ({
und}
) angezeigt werden, durch Ihre Azure-Abonnement-ID, den Namen der Ressourcengruppe und den Namen des Speicherkontos.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}