View a markdown version of this page

Vollständige Voraussetzungen für die Arbeit mit der DMS-Schemakonvertierung - AWS Datenbankmigrationsdienst

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.

Vollständige Voraussetzungen für die Arbeit mit der DMS-Schemakonvertierung

Bevor Sie ein Instanzprofil erstellen, Datenanbieter hinzufügen und ein Migrationsprojekt erstellen, müssen Sie die folgenden erforderlichen Aufgaben erfüllen. Diese Aufgaben konfigurieren die AWS Ressourcen, die die DMS-Schemakonvertierung benötigt, wie z. B. eine VPC, einen Amazon S3-Bucket, AWS Secrets Manager Geheimnisse und IAM-Rollen mit Berechtigungsrichtlinien.

Die Konsole automatisiert die Erstellung von Ressourcen

Wenn Sie ein Migrationsprojekt mithilfe der AWS Management Console erstellen, AWS DMS können Sie automatisch die erforderlichen IAM-Rollen und den Amazon S3-Bucket in Ihrem Namen erstellen. Wenn Sie diese Ressourcen lieber manuell erstellen möchten oder wenn Sie die AWS CLI OR-API verwenden, führen Sie die folgenden Schritte aus. Weitere Informationen zum Erstellen von Migrationsprojekten finden Sie unter Erstellen von Migrationsprojekten.

Konfigurieren Sie VPC, Amazon S3 und Secrets Manager

Bevor Sie IAM-Rollen und -Richtlinien erstellen, benötigen Sie die folgenden AWS Ressourcen für Ihr Migrationsprojekt.

Amazon Virtual Private Cloud

Sie benötigen eine VPC mit Konnektivität zu Ihren Quell- und Zieldatenbanken aus Subnetzen in mindestens zwei Availability Zones. Sie können eine vorhandene VPC verwenden, die diese Anforderungen erfüllt, oder eine neue erstellen, z. B. mit dem Namen. sc-vpc Weitere Informationen zur Netzwerkkonfiguration finden Sie unterEinrichten eines Netzwerks für DMS Schema Conversion.

Amazon S3

Sie benötigen einen Amazon S3-Bucket mit aktivierter Versionierung, um Bewertungsberichte, konvertierten SQL-Code und Datenbankschema-Metadaten zu speichern. Erstellen Sie einen Amazon S3-Bucket in derselben Region wie Ihr Migrationsprojekt, beispielsweise benanntamzn-s3-demo-bucket, oder verwenden Sie einen vorhandenen Bucket, der diese Anforderungen erfüllt. Die DMS-Schemakonvertierung unterstützt Amazon S3-Buckets, die Server-Side Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) oder Server-Side Verschlüsselung mit AWS KMS-Schlüsseln (SSE-KMS) verwenden. Dies schließt vom Kunden verwaltete Schlüssel ein. Wenn Ihr Bucket einen vom Kunden verwalteten Schlüssel verwendet SSE-KMS , stellen Sie sicher, dass Sie sc-s3-role über die erforderlichen Berechtigungen für den Schlüssel verfügen (sieheErstellen Sie IAM-Rollen und -Richtlinien). Die DMS-Schemakonvertierung unterstützt keine Verschlüsselung SSE-C . Client-Side Anweisungen zum Erstellen eines Buckets finden Sie unter Erstellen eines Buckets im Amazon S3-Benutzerhandbuch.

AWS Secrets Manager

Erstellen Sie JSON-Geheimnisse AWS Secrets Manager , die enthalten username und password Schlüssel-Wert-Paare für Ihre Quell- und Zieldatenbanken enthalten, zum Beispiel named sc-source-secret und. sc-target-secret Ihre Geheimnisse müssen sich in demselben AWS-Region wie in Ihrem Migrationsprojekt befinden. Wenn Sie bereits Geheimnisse haben, die diese Anforderungen erfüllen, können Sie sie wiederverwenden. Anweisungen zum Erstellen von Geheimnissen finden Sie im AWS Secrets Manager Benutzerhandbuch unter Erstellen eines AWS Secrets Manager Geheimnisses.

Erstellen Sie IAM-Rollen und -Richtlinien

Um die DMS-Schemakonvertierung zu verwenden, erstellen Sie die folgenden fünf IAM-Rollen. Jede Rolle muss eine Vertrauensrichtlinie verwenden, die es dem AWS DMS Dienst ermöglicht, die Rolle zu übernehmen.

Rollenname Berechtigungsrichtlinie
sc-s3-role

Ermöglicht es der DMS-Schemakonvertierung, Bewertungsberichte, konvertierten SQL-Code und Metadaten im Amazon S3-Bucket zu speichern:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:GetBucketVersioning" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } } ] }
SSE-KMS Berechtigungen für vom Kunden verwaltete Schlüssel

Wenn Ihr Amazon S3-Bucket einen vom Kunden verwalteten Schlüssel verwendet SSE-KMS , benötigt die sc-s3-role Rolle die Erlaubnis, den Schlüssel zu verwenden. Verwenden Sie eine der folgenden Methoden:

Fügen Sie der sc-s3-role Identitätsrichtlinie die folgende Anweisung hinzu. Dieser Ansatz funktioniert, wenn die KMS-Schlüsselrichtlinie den Zugriff auf IAM delegiert, was bei der Standard-Schlüsselrichtlinie der Fall ist:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-ID", "Condition": { "StringEquals": { "kms:ViaService": "s3.us-east-1.amazonaws.com" } } } ] }

Oder fügen Sie der sc-s3-role KMS-Schlüsselrichtlinie eine Anweisung für hinzu. Verwenden Sie diesen Ansatz, wenn die Schlüsselrichtlinie den Zugriff nicht an IAM delegiert. Die wichtigste Grundsatzerklärung hat eine Bedeutung Principal und gilt für den Schlüssel selbst:

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowScS3RoleToUseTheKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/sc-s3-role" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "s3.us-east-1.amazonaws.com" } } } ] }

Wenn Ihr Bucket verwendet SSE-S3, benötigen Sie keine zusätzlichen Berechtigungen.

sc-source-secret-role

Ermöglicht es der DMS-Schemakonvertierung, Ihre Anmeldeinformationen für die Quelldatenbank abzurufen:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:sc-source-secret*" } ] }
sc-target-secret-role

Ermöglicht es DMS Schema Conversion, Ihre Anmeldeinformationen für die Zieldatenbank abzurufen:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:sc-target-secret*" } ] }
dms-vpc-role

AmazonDMSVPCManagementRole(AWS verwaltete Richtlinie). Siehe Erstellen der IAM-Rollen zur Verwendung mit AWS DMS.

dms-cloudwatch-logs-role

AmazonDMSCloudWatchLogsRole(AWS verwaltete Richtlinie). Siehe Erstellen der IAM-Rollen zur Verwendung mit AWS DMS.

Für jede Rolle ist die folgende Vertrauensrichtlinie erforderlich:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Um diese Ressourcen zu erstellen, erstellen Sie zuerst die Richtlinien, dann die Rollen und fügen Sie die entsprechenden Richtlinien hinzu. Anweisungen finden Sie unter Erstellen von IAM-Richtlinien und Erstellen einer Rolle für einen AWS Dienst im IAM-Benutzerhandbuch.