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.
Arbeitsablauf zur Modernisierung von SQL Server
In diesem Abschnitt wird der gesamte Modernisierungsprozess von SQL Server mithilfe von AWS Transform Schritt für Schritt beschrieben.
Schritt 1: Erstellen Sie einen SQL Server-Modernisierungsauftrag
Beginnen Sie Ihre Modernisierungsreise, indem Sie in der Transform-Konsole einen neuen AWS Transformationsjob erstellen.
Melden Sie sich bei der AWS Transform-Konsole an
Wählen Sie Modernisierungsauftrag erstellen
Wählen Sie Windows-Modernisierungsauftrag und dann SQL Server-Modernisierung
Geben Sie die Auftragsdetails ein:
Jobname: Beschreibender Name für Ihr Projekt
Beschreibung: Optionale Beschreibung
AWS Zielregion: Einsatzregion
Wählen Sie Create job (Auftrag erstellen) aus.
Wichtig
Geben Sie in Ihrem Jobnamen keine personenbezogenen Daten (PII) an.
Schritt 2: Stellen Sie eine Verbindung zur SQL Server-Datenbank her
Verbinden Sie AWS Transform mit Ihrer SQL Server-Datenbank, um die Schemaanalyse und -konvertierung zu ermöglichen.
Erstellen Sie einen Datenbank-Connector
Navigieren Sie in Ihrem SQL Server-Modernisierungsauftrag zu Mit Ressourcen verbinden
Wählen Sie Mit SQL Server-Datenbank verbinden
Wählen Sie Neuen Connector erstellen
Geben Sie die Konnektorinformationen ein:
Name des Steckverbinders: Beschreibender Name
AWS Konto-ID: Konto, auf dem SQL Server gehostet wird
Nach der Bestätigung erhalten Sie einen Link zur Genehmigung. Kopieren Sie den Genehmigungslink, um von Ihrem AWS Administrator die Genehmigung für das Konto zu erhalten. Sobald sie genehmigt wurden, können Sie mit dem nächsten Schritt fortfahren.
Nachdem Ihr Administrator die Connector-Anfrage genehmigt hat, klicken Sie auf Senden, um mit der Einrichtung der Quellcode-Verbindung fortzufahren.
Schritt 3: Stellen Sie eine Verbindung zum Quellcode-Repository her
AWS Transform benötigt Zugriff auf den Quellcode Ihrer .NET-Anwendung, um den Code, der mit Ihrer SQL Server-Datenbank interagiert, zu analysieren und zu transformieren. AWS Transform unterstützt drei Methoden zur Bereitstellung von Quellcode.
Wählen Sie Ihre Authentifizierungsmethode
- Anschluss für Personal Access Token (PAT) (empfohlen)
-
Ideal für Teams, die benutzerdefinierte Berechtigungsbereiche, selbst gehosteten Provider-Support oder Zugriff auf anbieterspezifische APIs wie Secrets benötigen. GitHub Sie erstellen in Ihrem Quellcode-Anbieter ein PAT mit benutzerdefinierten Berechtigungen, speichern es darin AWS Secrets Manager, und AWS Transform ruft es bei Bedarf ab. Sie sind für die Verwaltung der Token-Rotation und des Ablaufs verantwortlich.
- AWS CodeConnections
-
Ideal für Teams, die eine automatisierte Verwaltung von Anmeldeinformationen wünschen. AWS CodeConnections verwendet eine verwaltete Provider-Integration, die die Authentifizierung über einen OAuth 2.0-Autorisierungsablauf abwickelt. AWS verwaltet den gesamten Lebenszyklus der Anmeldeinformationen, einschließlich der automatischen Token-Aktualisierung und -Rotation. Eine manuelle Verwaltung der Anmeldeinformationen ist nicht erforderlich.
- Amazon S3
-
Laden Sie Ihren Quellcode direkt in einen Amazon S3-Bucket hoch. AWS Transform greift während des Transformationsauftrags auf den Code aus dem Bucket zu.
| Feature | PAT-Anschluss (empfohlen) | AWS CodeConnections |
|---|---|---|
| Verwalten von Anmeldeinformationen | Manuell (vom Kunden verwaltet) | Automatisch (AWS-verwaltet) |
| Lebenszyklus des Tokens | Manuelle Rotation erforderlich | Automatische Aktualisierung |
| Flexibilität bei Genehmigungen | Vollständig anpassbare Bereiche | Feste Berechtigungen |
| Self-hosted Unterstützung durch Anbieter | Unterstützt | Nicht verfügbar |
| Komplexität der Einrichtung | Moderat (manuelle Token-Erstellung und Speicherung) | Niedrig (einmalige Autorisierung) |
| Token-Speicher | des Kunden AWS Secrets Manager | AWS-verwaltet |
Richten Sie einen PAT-Anschluss ein (empfohlen)
Mit einem PAT-Connector erstellen Sie in Ihrem Quellcode-Anbieter ein persönliches Zugriffstoken mit benutzerdefinierten Berechtigungen, speichern es sicher darin AWS Secrets Manager, und AWS Transform ruft es bei Bedarf ab. Sie sind für die Verwaltung des Token-Lebenszyklus einschließlich Rotation und Ablauf verantwortlich. AWS Transform erstellt automatisch die erforderliche IAM-Rolle mit Zugriffsberechtigungen für Ihr Secret.
Der PAT-Connector unterstützt die folgenden Anbieter, einschließlich selbst gehosteter und benutzerdefinierter DNS/URL Versionen:
GitHub und GitHub Enterprise Server
GitLab.com und GitLab Self-Managed
Bitbucket Cloud und Bitbucket-Rechenzentrum
Azure DevOps und Azure Server DevOps
Erstellen Sie ein persönliches Zugriffstoken
Erstellen Sie eine PAT in Ihrem Quellcode-Anbieter. Die erforderlichen Berechtigungen variieren je nach Anbieter. Wählen Sie den Tab für Ihren Anbieter.
Wichtig
Kopieren Sie das Token sofort nach der Erstellung. Sie können es nicht erneut anzeigen. Legen Sie das Ablaufdatum für die Dauer des Transformationsauftrags fest. Stellen Sie das Ablaufdatum nicht so ein, dass es niemals abläuft.
Warnung
Binden Sie PAT-Token niemals in Code-Repositorys ein und geben Sie sie niemals über unsichere Kanäle weiter. Bewahren Sie sie immer in auf. AWS Secrets Manager
GitHub
Navigieren Sie zu Einstellungen, Entwicklereinstellungen, Persönliche Zugriffstoken, Fine-grained Token. Wählen Sie die Repositorys aus, die transformiert werden sollen, und gewähren Sie die folgenden Berechtigungen.
Repository-Berechtigungen
| Berechtigung | Zugriff | Zweck |
|---|---|---|
| Inhalt | Lesen und schreiben | Liest den Quellcode und schreibt transformierten Code zurück in das Repository |
| Metadaten | Read-only | Greift auf grundlegende Repository-Informationen zu |
Organisationsberechtigungen (für Organisations-Repositorys erforderlich)
| Berechtigung | Zugriff | Zweck |
|---|---|---|
| Mitglieder | Read-only | Listet Organisationen auf, auf die das Token für die Repository-Erkennung zugreifen kann |
GitLab
Navigieren Sie zu Profil bearbeiten, Zugriffstoken. Wählen Sie die folgenden Bereiche aus.
| Scope | Zweck |
|---|---|
read_api |
Liest Repository-Metadaten, Projektinformationen und Benutzerdetails und listet Gruppen und Zweige auf |
read_repository |
Liest Quellcodedateien und die Repository-Struktur zur Analyse |
write_repository |
Schreibt transformierten Code zurück in das Repository |
Bitbucket
Navigieren Sie zu Kontoeinstellungen, Sicherheit, API-Token erstellen und verwalten. Die erforderlichen Bereiche hängen von Ihrem Tokentyp ab.
Workspace/Repository Token (ATCT — Bearer-Auth, kein Benutzername erforderlich)
| Berechtigung | Zugriff | Zweck |
|---|---|---|
| Repositorien | Lesen und schreiben | Listet Repos auf, liest Branches und schreibt transformierten Code per Git Push |
Account-API-Token (ATAT — Basic Auth mit E-Mail) oder App-Passwort (ATBB — Basic Auth mit Nutzername)
| Scope | Zweck |
|---|---|
read:account |
Identifiziert den authentifizierten Benutzer, um die Repository-Mitgliedschaft zu klären |
read:workspace:bitbucket |
Listet die Workspaces auf, auf die das Token zugreifen kann, damit AWS Transform ihre Repositorys auflisten kann. Nicht erforderlich, wenn Sie im Secret eine Workspace-Liste angeben. |
read:repository:bitbucket |
Listet Repositorys auf und liest Metadaten und Branch-Informationen |
write:repository:bitbucket |
Schreibt transformierten Code per Git Push zurück in das Repository |
Azure DevOps
Navigieren Sie zu Benutzereinstellungen, Persönliche Zugriffstoken. Wählen Sie Benutzerdefinierte Bereiche aus. Wählen Sie als Organisationsumfang die Option Alle zugänglichen Organisationen (empfohlen) aus, oder geben Sie eine einzelne Organisation an.
| Scope | Zugriff | Zweck |
|---|---|---|
| Code | Lesen und schreiben | Liest Quellcode, listet Repositorys und Branches auf und schreibt transformierten Code zurück |
| Benutzerprofil | Lesen | Validiert den Token-Zugriff und ermittelt die Benutzeridentität für die Suche nach der Organisation |
| Verwaltung der Mitgliedsansprüche | Lesen | Listet Organisationen auf, auf die das Token für die Repository-Erkennung zugreifen kann |
Speichern Sie das PAT in AWS Secrets Manager
Öffnen Sie die AWS Secrets Manager Konsole.
Wählen Sie Store a new secret (Ein neues Secret speichern).
Als Secret-Typ wählen Sie Anderer Secret-Typ aus.
Fügen Sie Schlüssel-Wert-Paare hinzu, die auf Ihrem Anbieter und Hosting-Typ basieren:
Cloud-hosted Anbieter — Fügen Sie einen Schlüssel hinzu, der
tokenmit Ihrem PAT als Wert benannt ist.Fügen Sie für Azure DevOps mit einer bestimmten Organisation auch einen Schlüssel hinzu, der
organizationmit Ihrem Organisationsnamen benannt ist.Füge für Bitbucket-App-Passwörter (ATBB) auch einen Schlüssel hinzu, der
usernamemit deinem Bitbucket-Benutzernamen benannt ist. Füge für API-Token (ATAT) für Bitbucket-Konten einen Schlüssel hinzu, deremailmit deiner Bitbucket-E-Mail-Adresse benannt ist.
Self-hosted und benutzerdefinierte DNS/URL Anbieter — Füge die folgenden Schlüssel hinzu:
host(deine Server-URL zum Beispielhttps://github.mycompany.com),provider_type(githubgitlabbitbucket, oderado) undtoken(dein PAT).Fügen Sie für Azure DevOps mit einer bestimmten Organisation auch einen Schlüssel hinzu, der
organizationmit Ihrem Organisationsnamen benannt ist.Füge für Bitbucket-App-Passwörter (ATBB) auch einen Schlüssel hinzu, der
usernamemit deinem Bitbucket-Benutzernamen benannt ist. Füge für API-Token (ATAT) für Bitbucket-Konten einen Schlüssel hinzu, deremailmit deiner Bitbucket-E-Mail-Adresse benannt ist.
Das folgende Beispiel zeigt, wie ein Secret nach einem in der Cloud gehosteten Anbieter AWS Secrets Manager gesucht wird GitHub :
{ "token": "your-github-personal-access-token" }Das folgende Beispiel zeigt ein Bitbucket-App-Passwort (ATBB):
{ "token": "your-bitbucket-app-password", "username": "my-bitbucket-username" }Das folgende Beispiel zeigt eine selbst GitLab gehostete Instanz:
{ "host": "https://gitlab.mycompany.com", "provider_type": "gitlab", "token": "your-gitlab-personal-access-token" }Wählen Sie Weiter aus.
Geben Sie beispielsweise
github-pat-myprojecteinen geheimen Namen ein.(Optional) Wählen Sie einen vom Kunden verwalteten KMS-Schlüssel für die Verschlüsselung aus.
Schließen Sie den Assistenten ab und wählen Sie Store aus.
Kopieren Sie den geheimen ARN. Sie benötigen diesen Wert, wenn Sie den AWS Transform-Job konfigurieren.
Wenn Sie einen vom Kunden verwalteten KMS-Schlüssel verwenden, um Ihr Geheimnis zu verschlüsseln (anstelle des standardmäßig AWS verwalteten Schlüssels), müssen Sie die KMS-Schlüsselrichtlinie aktualisieren, damit AWS Transform das Geheimnis entschlüsseln kann. Fügen Sie Ihrer vom Kunden verwalteten KMS-Schlüsselrichtlinie die folgende Anweisung hinzu:
{ "Sid": "Allow AWS Transform to decrypt secrets", "Effect": "Allow", "Principal": { "Service": "transform.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.REGION.amazonaws.com", "kms:EncryptionContext:SecretARN": "YOUR-SECRET-ARN" } } }
REGIONErsetzen Sie es durch Ihre AWS Region (z. B.us-east-1) und YOUR-SECRET-ARN durch den ARN Ihres Geheimnisses. Die kms:ViaService Bedingung stellt sicher, dass der KMS-Schlüssel nur über den AWS Secrets Manager Dienst verwendet werden kann. Die kms:EncryptionContext:SecretARN Bedingung beschränkt die Entschlüsselung auf Ihr spezifisches Geheimnis.
So aktualisieren Sie Ihre KMS-Schlüsselrichtlinie:
Öffnen Sie die AWS KMS-Konsole unter
https://console.aws.amazon.com/kms.Klicken Sie im Navigationsbereich auf Kundenverwaltete Schlüssel.
Wählen Sie Ihren KMS-Schlüssel aus.
Wählen Sie im Tab Schlüsselrichtlinie die Option Bearbeiten aus.
Fügen Sie die Richtlinienerklärung zur vorhandenen Richtlinie hinzu.
Wählen Sie Änderungen speichern aus.
Anmerkung
Wenn Sie den Standardschlüssel AWS-managed (aws/secretsmanager) verwenden, müssen Sie keine KMS-Schlüsselrichtlinie ändern.
Konfigurieren Sie die AWS Auftrag transformieren
Navigieren Sie in Ihrem AWS Transform-Job zu Mit Ressourcen verbinden.
Wählen Sie „Quellcode-Repository verbinden“.
Wählen Sie PAT Connector als Authentifizierungsmethode aus.
Geben Sie den geheimen ARN aus Schritt 2 ein.
(Optional) Geben Sie den KMS-Schlüssel-ARN ein, wenn Sie einen vom Kunden verwalteten KMS-Schlüssel verwendet haben.
Wählen Sie Ihr Repository und Ihren Branch aus.
Klicken Sie auf Weiter.
AWS Transform erstellt automatisch eine IAM-Rolle mit den Berechtigungen, die für den Zugriff auf Ihr Secret erforderlich sind.
Token-Rotation und Wartung
Sie sind dafür verantwortlich, PAT-Token zu rotieren, bevor sie ablaufen. Um ein Token zu rotieren:
Generieren Sie eine neue PAT in Ihrem Quellcode-Anbieter mit denselben Berechtigungen.
Aktualisieren Sie den geheimen Wert in AWS Secrets Manager.
Stellen Sie sicher, dass Ihr AWS Transform-Job mit dem neuen Token auf das Repository zugreifen kann.
Widerrufen Sie das alte PAT in Ihrem Quellcode-Anbieter.
Beheben Sie Probleme mit dem PAT-Connector
- Zugriff verweigert — Ungültiger PAT
-
Stellen Sie sicher, dass die PAT nicht abgelaufen ist. Vergewissern Sie sich, dass die PAT die für Ihren Anbieter erforderlichen Bereiche hat. Stellen Sie sicher, dass die PAT korrekt gespeichert ist. AWS Secrets Manager
- Das Geheimnis kann nicht abgerufen werden
-
Stellen Sie sicher, dass der geheime ARN korrekt ist. Überprüfen Sie die Auftragsprotokolle, um zu bestätigen, dass AWS Transform die IAM-Rolle erstellt hat. Wenn Sie einen vom Kunden verwalteten KMS-Schlüssel verwenden, überprüfen Sie die Schlüsselrichtlinie.
- Unzureichende Berechtigungen
-
Dem PAT fehlen möglicherweise die für den Vorgang erforderlichen Bereiche. Generieren Sie die PAT mit den erforderlichen Bereichen neu und aktualisieren Sie den geheimen Wert in. AWS Secrets Manager
Einrichten AWS CodeConnections
AWS CodeConnections verwendet eine verwaltete Provider-Integration, die automatisch temporäre OAuth-Anmeldeinformationen über einen OAuth 2.0-Autorisierungsablauf abruft. Die Berechtigungen werden in der Anbieter-App konfiguriert und vollständig von verwaltet. AWS Sie autorisieren die App einmal und übernehmen die gesamte AWS Verwaltung der Anmeldeinformationen.
Navigieren Sie in Ihrem SQL Server-Modernisierungsauftrag zu Mit Ressourcen verbinden.
Wählen Sie „Quellcode-Repository verbinden“.
Wenn Sie noch keine Verbindung haben, wählen Sie Verbindung erstellen.
Wähle deinen Repository-Anbieter aus:
GitHub / GitHub Unternehmen
GitLab.com
Bitbucket Cloud
Azure-Repositorys
Folgen Sie dem Autorisierungsablauf für Ihren Anbieter.
Wählen Sie nach der Autorisierung Verbinden.
Wähle dein Repository und deinen Branch aus
Wählen Sie Ihr Repository aus der Liste aus.
Wählen Sie den Branch aus, den Sie transformieren möchten (normalerweise Main, Master oder Develop).
(Optional) Geben Sie ein Unterverzeichnis an, wenn sich Ihre .NET-Anwendung nicht im Repository-Stammverzeichnis befindet.
Klicken Sie auf Weiter.
Anmerkung
AWS Transform erstellt einen neuen Branch für den transformierten Code. Sie können die Änderungen im Rahmen Ihres normalen Code-Review-Prozesses überprüfen und zusammenführen.
Genehmigung des Zugriffs auf das Repository
Für GitHub und einige andere Plattformen muss der Repository-Administrator die Verbindungsanfrage genehmigen:
AWS Transform zeigt einen Bestätigungslink an.
Teilen Sie diesen Link mit Ihrem Repository-Administrator.
Der Administrator überprüft und genehmigt die Anfrage in seinen Repository-Einstellungen.
Nachdem der Administrator die Anfrage genehmigt hat, ändert sich der Verbindungsstatus in Genehmigt.
Wichtig
Der Genehmigungsprozess kann je nach den Richtlinien Ihrer Organisation einige Zeit in Anspruch nehmen. Planen Sie diese Ausfallzeit ein.
Schritt 4: Deployment Connector erstellen (optional)
Wenn Sie die transformierten Anwendungen in Ihrem AWS Konto bereitstellen möchten, haben Sie die Möglichkeit, einen Deployment Connector auszuwählen.
Richten Sie den Bereitstellungsconnector ein
Wählen Sie Ja, wenn Sie Ihre Anwendungen bereitstellen möchten. Wenn Sie Nein wählen, wird dieser Schritt übersprungen.
Fügen Sie Ihr AWS Konto hinzu, in dem Sie die transformierten Anwendungen bereitstellen möchten.
Fügen Sie einen Namen hinzu, der Ihnen hilft, sich den Connector leicht zu merken
Reichen Sie den Connector zur Genehmigung ein.
Genehmigung des Deployment-Connectors
Ihr AWS Kontoadministrator muss die Verbindungsanfrage für den Deployment Connector genehmigen.
AWS Transform zeigt einen Bestätigungslink an
Teilen Sie diesen Link mit Ihrem AWS Kontoadministrator
Der Administrator prüft und genehmigt die Anfrage in seinen Repository-Einstellungen
Nach der Genehmigung ändert sich der Verbindungsstatus in Genehmigt
Wichtig
Der Genehmigungsprozess kann je nach den Richtlinien Ihrer Organisation einige Zeit in Anspruch nehmen. Planen Sie diese Ausfallzeit ein.
Schritt 5: Bestätigen Sie Ihre Ressourcen
Nachdem Sie eine Verbindung zu Ihrer Datenbank und Ihrem Repository hergestellt haben, überprüft AWS Transform, ob alle erforderlichen Ressourcen verfügbar und für die Transformation bereit sind.
Was AWS Transform verifiziert
Datenbankkonnektivität: Die Verbindung ist aktiv, der Benutzer hat die erforderlichen Berechtigungen, auf die Datenbanken kann zugegriffen werden, die Version wird unterstützt
Repository-Zugriff: Das Repository ist zugänglich, der Branch existiert, .NET-Projektdateien wurden erkannt, Datenbankverbindungen sind auffindbar
Einsatzbereitschaft: Die VPC-Konfiguration unterstützt DMS, die erforderlichen AWS Servicerollen sind vorhanden, die Netzwerkkonnektivität wurde hergestellt, die Regionskompatibilität bestätigt
Lesen Sie die Checkliste vor dem Flug
Navigiere im Jobplan zu „Deine Ressourcen bestätigen“
Prüfen Sie die Punkte der Checkliste:
✅ Die Datenbankverbindung wurde überprüft
✅ Repository-Zugriff bestätigt
✅ .NET-Version wird unterstützt
✅ Entity Framework oder ADO.NET erkannt
✅ Netzwerkkonfiguration gültig
✅ Erforderliche Berechtigungen erteilt
Wenn alle Elemente als abgeschlossen angezeigt werden, wählen Sie Weiter
Wenn bei einigen Elementen Warnungen oder Fehler angezeigt werden, beheben Sie diese, bevor Sie fortfahren
Schritt 6: Entdeckung und Bewertung
AWS Transform analysiert Ihre SQL Server-Datenbank und .NET-Anwendung, um den Umfang und die Komplexität der Modernisierung zu verstehen.
Was wird entdeckt
Datenbankobjekte: Tabellen, Ansichten, Indizes, gespeicherte Prozeduren, Funktionen, Trigger, Einschränkungen, Datentypen, berechnete Spalten, Identitätsspalten, Fremdschlüsselbeziehungen
Anwendungscode: .NET-Projektstruktur, Entity Framework-Modelle und -Konfigurationen, ADO.NET Datenzugriffscode, Datenbankverbindungszeichenfolgen, Aufrufe von gespeicherten Prozeduren, SQL-Abfragen im Code
Abhängigkeiten: Welche Anwendungen verwenden welche Datenbanken, datenbankübergreifende Abhängigkeiten, gemeinsam genutzte gespeicherte Prozeduren, gemeinsame Datenzugriffsmuster
Discovery-Prozess
AWS Transform beginnt nach Bestätigung der Ressource automatisch mit der Erkennung
Die Erkennung dauert je nach Datenbankgröße und Anwendungskomplexität in der Regel 5 bis 15 Minuten
Überwachen Sie den Fortschritt im Arbeitsprotokoll
AWS Transform zeigt Aktualisierungen in Echtzeit an, sobald Objekte erkannt werden
Überprüfen Sie die Ermittlungsergebnisse
Navigieren Sie nach Abschluss der Ermittlung zu Ermittlung und Bewertung, um Folgendes zu überprüfen:
Datenbank-Analyse:
Anzahl der Objekte: Anzahl der Tabellen, Ansichten, gespeicherten Prozeduren, Funktionen, Trigger
Komplexitätswert: Bewertung der Transformationskomplexität (niedrig, mittel, hoch)
Aktionspunkte: Objekte, die möglicherweise menschliche Aufmerksamkeit erfordern
Unterstützte Funktionen: Datenbankfunktionen, die automatisch konvertiert werden
Nicht unterstützte Funktionen: Funktionen, für die Behelfslösungen erforderlich sind
Analyse der Anwendung:
Projekttyp: ASP.NET Core, Konsolen-App, Klassenbibliothek usw.
.NET-Version: .NET-Core-Version erkannt
Framework für den Datenzugriff: Entity Framework-Version oder ADO.NET
Datenbankverbindungen: Anzahl der gefundenen Verbindungszeichenfolgen
Komplexität des Codes: Bewertung der Transformationskomplexität
Karte der Abhängigkeiten:
Visuelle Darstellung der Beziehungen zwischen Anwendung und Datenbank
Cross-database Abhängigkeiten
Gemeinsam genutzte Komponenten
Die Bewertung der Komplexität verstehen
AWS Transform unterteilt Ihre Modernisierung in drei Kategorien:
| Komplexität | Merkmale | Erwartetes Ergebnis |
|---|---|---|
| Niedrig (Klasse A) | Standard-SQL-Muster (ANSI SQL), einfache gespeicherte Prozeduren, grundlegende Datentypen, Entity Framework mit Standardkonfigurationen | Minimales menschliches Eingreifen wird erwartet, hohe Erfolgsquote bei der Automatisierung |
| Mittel (Klasse B) | Fortgeschrittene T-SQL Muster, komplexe gespeicherte Prozeduren mit Geschäftslogik, benutzerdefinierte Funktionen, berechnete Spalten | Ein gewisses menschliches Eingreifen erforderlich, eine Überprüfung durch einen Experten wird empfohlen |
| Hoch (Klasse C) | CLR-Assemblys, Verbindungsserver, Service Broker, komplexe Volltextsuche | Umfangreiches menschliches Refactoring erforderlich; erwägen Sie einen schrittweisen Ansatz |
Bewertungsbericht
AWS Transform generiert einen detaillierten Bewertungsbericht, der Folgendes beinhaltet:
Zusammenfassung mit umfassendem Überblick
Vollständiges Datenbankinventar
Inventar der Anwendung
Prozentsatz der Bereitschaft zur Transformation
Schätzung des Aufwands
Strategien zur Risikobewertung und Minderung
Empfohlener Ansatz
Sie können den Bewertungsbericht herunterladen, um ihn offline zu überprüfen und mit allen Beteiligten zu teilen.
Schritt 7: Generieren und überprüfen Sie den Wellenplan
Für große Anlagen mit mehreren Datenbanken und Anwendungen generiert AWS Transform einen Wellenplan, der die Modernisierung in logischen Gruppen sequenziert.
Was ist ein Wellenplan?
Ein Wellenplan unterteilt Ihre Modernisierung in Phasen (Wellen) auf der Grundlage von:
Abhängigkeiten zwischen Datenbanken und Anwendungen
Geschäftliche Prioritäten
Risikotoleranz
Verfügbarkeit von Ressourcen
Technische Komplexität
Jede Welle enthält eine Gruppe von Datenbanken und Anwendungen, die gemeinsam modernisiert werden können, ohne Abhängigkeiten zu unterbrechen.
Überprüfen Sie den Wellenplan
Navigieren Sie im Jobplan zu Wave-Planung
Prüfen Sie die vorgeschlagenen Wellen
Prüfen Sie für jede Welle:
Enthaltene Datenbanken
Anwendungen eingeschlossen
Abhängigkeiten von anderen Wellen
Geschätzte Transformationszeit
Grad der Komplexität
Einsetzbare Anwendungen
Passen Sie den Wellenplan an
Sie können den Wave-Plan auf zwei Arten an Ihre Geschäftsanforderungen anpassen:
Verwenden von JSON:
Wählen Sie Alle Wellen herunterladen, um eine JSON-Datei mit allen Wellen zu erhalten
Ändern Sie die Wellen im JSON wie folgt:
Datenbanken zwischen Wellen verschieben
Wellen in kleinere Gruppen aufteilen
Wellen zusammenführen
Wellensequenz ändern
Hinzufügen oder Entfernen von Datenbanken aus dem Geltungsbereich
Laden Sie die JSON-Datei zurück in die Konsole hoch, indem Sie Wave-Plan hochladen wählen
AWS Transform validiert Ihre Änderungen und warnt, wenn Abhängigkeiten verletzt werden
Wählen Sie Wellen bestätigen, um den Wellenplan zu aktualisieren
Chat verwenden:
Sie können die Wellenpläne ändern, indem Sie mit dem Agenten chatten und ihn bitten, die Repositorys und Datenbanken in bestimmte Waves zu verschieben. Dieser Ansatz eignet sich gut, wenn Sie kleinere Änderungen an den Waves vornehmen müssen.
Wichtig
Stellen Sie sicher, dass bei der Anpassung von Wellen die Abhängigkeiten eingehalten werden. Das Transformieren einer abhängigen Anwendung vor der zugehörigen Datenbank kann zu Problemen führen.
Modernisierung einer einzigen Datenbank
Wenn Sie eine einzelne Datenbank und Anwendung AWS modernisieren, erstellt Transform einen einfachen Plan mit einer einzigen Welle. Sie können ohne Wellenplanung direkt mit der Transformation fortfahren.
Genehmigen Sie den Wellenplan
Wählen Sie nach der Überprüfung und Anpassung (falls erforderlich) die Option „Wave-Plan genehmigen“
AWS Transform sperrt den Wellenplan und fährt mit der Transformation fort
Sie können den Plan auch später noch ändern, indem Sie Wellenplan bearbeiten wählen
Schritt 8: Schemakonvertierung
AWS Transform konvertiert Ihr SQL Server-Datenbankschema in Aurora PostgreSQL, einschließlich Tabellen, Ansichten, gespeicherten Prozeduren, Funktionen und Triggern.
So funktioniert die Schemakonvertierung
AWS Transform verwendet die mit generativer KI erweiterte AWS DMS-Schemakonvertierung, um:
Analysieren Sie SQL Server-Schemas und -Beziehungen
Ordnen Sie Datentypen von SQL Server PostgreSQL-Äquivalenten zu
T-SQL Transformieren zu PL/pgSQL
Behandeln Sie Identitätsspalten, berechnete Spalten und Einschränkungen
Validieren Sie die Konvertierung und die referenzielle Integrität
Generieren Sie Aktionspunkte für Objekte, die von einem Menschen überprüft werden müssen
Unterstützte Konvertierungen
Automatisch konvertiert:
Tabellen, Ansichten und Indizes
Primärschlüssel und Fremdschlüssel
Überprüfen Sie Einschränkungen und Standardwerte
Die gängigsten Datentypen
Einfache gespeicherte Prozeduren
Grundfunktionen und Trigger
Identitätsspalten (konvertiert in SERIAL oder GENERATED)
Die meisten berechneten Spalten
Möglicherweise ist eine Überprüfung durch einen Menschen erforderlich:
Komplexe gespeicherte Prozeduren mit fortgeschrittenem T-SQL
Server-specific SQL-Funktionen (GETUTCDATE, SUSER_SNAME usw.)
Berechnete Spalten mit komplexen Ausdrücken
Full-text Indizes durchsuchen
Operationen vom XML-Datentyp
HIERARCHYID-Datentyp (erfordert die Erweiterung LTREE)
Nicht automatisch konvertiert:
CLR-Assemblys
Verknüpfte Server
Service-Broker
Aufgaben des SQL Server-Agenten
Starten Sie die Schemakonvertierung
Navigieren Sie im Jobplan zu Schemakonvertierung
Überprüfen Sie die Konvertierungseinstellungen:
PostgreSQL-Zielversion
Erweiterungsoptionen (ltree, PostGIS usw.)
Namenskonventionen
Wählen Sie Konvertierung starten
Überwachen Sie den Fortschritt im Worklog
Die Konvertierung dauert in der Regel 10 bis 30 Minuten, abhängig von der Anzahl der Datenbankobjekte
Überprüfen Sie die Konvertierungsergebnisse
Navigieren Sie nach Abschluss der Konvertierung zu Schemakonvertierung überprüfen:
Zusammenfassung der Konvertierung:
Konvertierte Objekte: Anzahl der erfolgreich konvertierten Objekte
Aktionspunkte: Objekte, die menschliche Aufmerksamkeit erfordern
Warnungen: Mögliche Probleme, die es zu überprüfen gilt
Fehler: Objekte, die nicht konvertiert werden konnten
Überprüfung nach Objekttyp:
Tabellen: Datentypzuordnungen, Einschränkungen, Indizes
Gespeicherte Prozeduren: zur Konvertierung T-SQL PL/pgSQL
Funktionen: Funktionssignatur- und Logikänderungen
Trigger: Syntax- und Timing-Änderungen auslösen
Überprüfen Sie die Aktionspunkte
Wählen Sie Aktionspunkte anzeigen
Prüfen Sie für jedes Aktionselement Folgendes:
Objektname: Das Datenbankobjekt
Problemtyp: Was erfordert Aufmerksamkeit
Schweregrad: Kritisch, Warnung oder Information
Empfehlung: Vorgeschlagene Lösung
Originalcode: SQL Server-Version
Konvertierter Code: PostgreSQL-Version
Für jedes Aktionselement können Sie:
Akzeptieren: Verwenden Sie den konvertierten Code
Ändern: Bearbeiten Sie den konvertierten Code
Für später kennzeichnen: Nach der Transformation zur Überprüfung durch einen Menschen markieren
Beispiel: Konvertierung von gespeicherten Prozeduren
SQL-Server T-SQL:
CREATE PROCEDURE GetProductsByCategory @CategoryId INT, @PageSize INT = 10 AS BEGIN SET NOCOUNT ON; SELECT TOP (@PageSize) ProductId, Name, Price, DATEDIFF(DAY, CreatedDate, GETUTCDATE()) AS DaysOld FROM Products WHERE CategoryId = @CategoryId ORDER BY Name END
Konvertiertes PostgreSQL PL/pgSQL:
CREATE OR REPLACE FUNCTION get_products_by_category( p_category_id INTEGER, p_page_size INTEGER DEFAULT 10 ) RETURNS TABLE ( product_id INTEGER, name VARCHAR(255), price NUMERIC(18,2), days_old INTEGER ) AS $$ BEGIN RETURN QUERY SELECT p.product_id, p.name, p.price, EXTRACT(DAY FROM (NOW() - p.created_date))::INTEGER AS days_old FROM products p WHERE p.category_id = p_category_id ORDER BY p.name LIMIT p_page_size; END; $$ LANGUAGE plpgsql;
Vorgenommene Änderungen:
Die Prozedur wurde in eine Funktion umgewandelt, die TABLE zurückgibt
Parameternamen mit dem Präfix p_
TOP wurde in LIMIT konvertiert
DATEDIFF wurde in EXTRACT konvertiert
GETUTCDATE () wurde in NOW () konvertiert
Spaltennamen wurden in Kleinbuchstaben umgewandelt (PostgreSQL-Konvention)
Genehmigen
Nachdem Sie alle Aktionspunkte überprüft und die erforderlichen Änderungen vorgenommen haben
Wählen Sie Schemakonvertierung genehmigen
AWS Transform bereitet das konvertierte Schema für die Bereitstellung in Aurora PostgreSQL vor
Anmerkung
Sie können das konvertierte Schema als SQL-Skripte zur Offline-Überprüfung oder Versionskontrolle herunterladen.
Schritt 9: Datenmigration (optional)
AWS Transform bietet Optionen für die Migration von Daten von SQL Server zu Aurora PostgreSQL. Die Datenmigration ist optional und kann übersprungen werden, wenn Sie nur eine Schema- und Codetransformation benötigen.
Optionen für die Datenmigration
Option 1: Migration der Produktionsdaten
Migrieren Sie Ihre tatsächlichen Produktionsdaten mithilfe von AWS DMS:
Vollständiges anfängliches Laden aller Daten
Kontinuierliche Replikation während des Tests (CDC)
Minimale Ausfallzeiten und Umstellung
Datenvalidierung und Integritätsprüfungen
Option 2: Datenmigration überspringen
Nur Schema und Code transformieren:
Nützlich für development/testing Umgebungen
Wann werden Daten separat migriert
Für Projekte zur Machbarkeitsstudie
Konfigurieren Sie die Datenmigration
Navigieren Sie im Jobplan zu Datenmigration
Wählen Sie Ihre Migrationsoption:
Migrieren Sie Produktionsdaten
Überspringen Sie die Datenmigration
Wenn Sie Produktionsdaten migrieren, konfigurieren Sie:
Migrationstyp: Volllast oder Volllast + CDC
Validierung: Aktivieren Sie die Datenvalidierung
Leistung: Größe der DMS-Instanz
-
Wählen Sie >Migration starten
Migrationsprozess für Produktionsdaten
Wenn Sie sich für die Migration von Produktionsdaten entscheiden:
Erste Synchronisation: AWS DMS führt das vollständige Laden aller Tabellen durch
Kontinuierliche Replikation: (Wenn CDC aktiviert ist) Sorgt dafür, dass die Daten synchronisiert werden
Validierung: Überprüft die Anzahl der Zeilen und die Datenintegrität
Vorbereitung der Umstellung: Bereitet die endgültige Synchronisation vor
Zeitplan für die Migration:
Kleine Datenbanken (< 10 GB): 30 Minuten — 2 Stunden
Mittlere Datenbanken (10-100 GB): 2-8 Stunden
Große Datenbanken (> 100 GB): mehr als 8 Stunden
Datenvalidierung
AWS Transform validiert migrierte Daten mit den folgenden Prüfungen:
Vergleich der Zeilenanzahl (Quelle und Ziel)
Integrität des Primärschlüssels
Beziehungen mit Fremdschlüsseln
Kompatibilität der Datentypen
Berechnete Spaltenergebnisse
Behandlung von Nullwerten
Schritt 10: Transformation des Anwendungscodes
AWS Transform transformiert Ihren .NET-Anwendungscode so, dass er mit Aurora PostgreSQL anstelle von SQL Server funktioniert. Es fragt nach einem Zielzweignamen in Ihren Repositorys, um den transformierten Quellcode zu übertragen. Sobald Sie den Branch-Namen eingegeben haben, erstellt AWS Transform einen neuen Branch und initiiert die Transformation, die der PostgreSQL-Datenbank entspricht.
Was wird transformiert
Änderungen am Entity Framework:
Datenbankanbieter: UseSqlServer () → UseNpgsql ()
Verbindungszeichenfolgen: SQL Server-Format → PostgreSQL-Format
Datentypzuordnungen: SQL Server-Typen → PostgreSQL-Typen
DbContext Konfigurationen: SQL → Server-specific PostgreSQL-specific
Migrationsdateien: Aus Gründen der PostgreSQL-Kompatibilität aktualisiert
ADO.NET Änderungen:
Verbindungsklassen: SqlConnection → NpgsqlConnection
Befehlsklassen: SqlCommand → NpgsqlCommand
Datenleser: SqlDataReader → NpgsqlDataReader
Parameter: SqlParameter → NpgsqlParameter
S SQL-Syntax: T-SQL → PostgreSQL
Änderungen an der Konfiguration:
Verbindungszeichenfolgen in appsettings.json
Pakete NuGet für Datenbankanbieter
Konfigurationen zur Injektion von Abhängigkeiten
Startup/Program.cs Konfigurationen
Starten Sie die Codetransformation
Navigieren Sie im Stellenplan zu Bewerbungstransformation
Überprüfen Sie die Transformationseinstellungen:
.NET-Zielversion (falls ein Upgrade durchgeführt wird)
Version des PostgreSQL-Anbieters
Einstellungen für den Codestil
Wählen Sie Transformation starten
Überwachen Sie den Fortschritt im Worklog
Die Transformation dauert in der Regel 15 bis 45 Minuten, abhängig von der Größe der Codebasis
Schritt 11: Überprüfen Sie die Transformationsergebnisse
Bevor Sie mit der Bereitstellung fortfahren, überprüfen Sie die vollständigen Transformationsergebnisse, um sicherzustellen, dass alles für den Test bereit ist.
Sie können den transformierten Code aus dem Repository-Zweig herunterladen für:
Lokales Testen und Validieren
Codeüberprüfung in Ihrer IDE
Integration mit Ihrer CI/CD Pipeline
Versionskontrolle, Commit
Sie können auch die Zusammenfassung der Transformation herunterladen, um sich einen Überblick über die Änderungen in natürlicher Sprache zu verschaffen, die AWS Transform im Rahmen der Transformation vorgenommen hat.
Zusammenfassung der Transformation
Navigieren Sie im Stellenplan zur Zusammenfassung der Transformation
Prüfen Sie die Gesamtergebnisse:
Schemakonvertierung: Konvertierte Objekte, Aktionspunkte, Warnungen
Datenmigration: Tabellen migriert, Zeilen übertragen, Validierungsstatus
Codetransformation: Dateien geändert, Zeilen geändert, Probleme behoben
Bereitschaftsbewertung: Allgemeine Einsatzbereitschaft
Generieren Sie einen Transformationsbericht
AWS Transform generiert einen umfassenden Transformationsbericht:
Wählen Sie Bericht generieren
Wählen Sie den Berichtstyp aus:
Zusammenfassung: High-level Überblick für Interessengruppen
Technische Details: Vollständige Dokumentation der Transformation
Aktionspunkte: Liste der erforderlichen menschlichen Aufgaben
Wählen Sie Bericht herunterladen
Der Bericht beinhaltet:
Umfang und Ziele der Transformation
Transformierte Objekte und Code
Aufgetretene Probleme und Lösungen
Validierungsergebnisse
Bewertung der Einsatzbereitschaft
Empfehlungen zum Testen
Schritt 12: Validierung und Testen
Überprüfen Sie vor der Bereitstellung in der Produktion, ob die transformierte Anwendung mit Aurora PostgreSQL ordnungsgemäß funktioniert.
Arten der Validierung
Automatisierte Validierung: AWS Transform führt automatische Prüfungen durch:
Schemavalidierung anhand der Quelldatenbank
Überprüfung der Datenintegrität
Äquivalenztests für Abfragen
Überprüfung der Verbindungszeichenfolge
Überprüfung der Konfiguration
Validierung durch Menschen: Sie sollten zusätzliche Tests durchführen:
Funktionstests der Anwendungsfunktionen
Integrationstests mit anderen Systemen
Leistungstests und Benchmarking
Testen der Benutzerakzeptanz
Sicherheitstests
Führen Sie eine automatische Validierung durch
Navigieren Sie im Jobplan zu Validierung
Wählen Sie Validierung ausführen
AWS Transform führt Validierungstests durch:
Datenbank-Konnektivität
Schemakompatibilität
Integrität der Daten
Erstellung von Anwendungen
Grundlegende Funktionen
Überprüfen Sie die Validierungsergebnisse:
Bestanden: Tests, die erfolgreich waren
Fehlgeschlagen: Tests, die Aufmerksamkeit erfordern
Warnungen: Mögliche Probleme, die es zu überprüfen gilt
Checkliste zum Testen
Funktionalität der Datenbank:
Zugriff auf alle Tabellen
Gespeicherte Prozeduren werden korrekt ausgeführt
Funktionen geben erwartete Ergebnisse zurück
Die Trigger werden entsprechend ausgelöst
Einschränkungen werden ordnungsgemäß durchgesetzt
Indizes verbessern die Abfrageleistung
Funktionalität der Anwendung:
Die Anwendung wird erfolgreich gestartet
Datenbankverbindungen wurden hergestellt
CRUD-Operationen funktionieren ordnungsgemäß
Aufrufe gespeicherter Prozeduren waren erfolgreich
Transaktionen commit/rollback ordnungsgemäß
Die Fehlerbehandlung funktioniert wie erwartet
Datenintegrität:
Die Anzahl der Zeilen entspricht der Quelle
Primärschlüssel sind einzigartig
Fremdschlüssel gültig
Die berechneten Spalten sind korrekt
Null-Behandlung angemessen
Kompatible Datentypen
Leistung:
Die Antwortzeiten der Anfrage sind akzeptabel
Verbindungspooling konfiguriert
Optimierte Indizes
Keine N+1-Abfrageprobleme
Effizienter Batch-Betrieb
Angemessene Nutzung der Ressourcen
Schritt 13: Bereitstellung
Nach erfolgreicher Validierung stellen Sie Ihre modernisierte Anwendung und Datenbank für die Produktion bereit.
Optionen für die Bereitstellung
Amazon ECS und Amazon EC2 Linux
Pre-deployment Checkliste
Vor der Bereitstellung in der Produktion:
Alle Validierungstests wurden bestanden
Die Leistungstests sind abgeschlossen
Die Sicherheitsüberprüfung ist abgeschlossen
Sicherungs- und Rollback-Plan dokumentiert
Überwachung und Alarmierung konfiguriert
Das Team wurde in der neuen Umgebung geschult
Die Interessengruppen wurden über den Einsatz informiert
Wartungsfenster geplant
Auf Amazon ECS bereitstellen
Navigieren Sie im Jobplan zu Deployment
Wählen Sie Auf ECS bereitstellen
Konfigurieren Sie die Bereitstellungseinstellungen:
Cluster: Wählen Sie einen ECS-Cluster aus oder erstellen Sie ihn
Dienst: Konfigurieren Sie den ECS-Dienst
Aufgabendefinition: Überprüfen Sie die generierte Aufgabendefinition
Load Balancer: Konfigurieren ALB/NLB
Auto-scaling: Stellen Sie Skalierungsrichtlinien ein
Prüfen Sie „Infrastructure-as-Code“ (Vorlage oder CDK-Code) CloudFormation AWS
Wählen Sie Bereitstellen
Überwachen Sie die Bereitstellung
AWS Transform stellt Ihre Anwendung bereit:
Erzeugt einen Aurora PostgreSQL-Cluster
Wendet das Datenbankschema an
Lädt Daten (falls zutreffend)
Stellt Anwendungscontainer bereit
Konfiguriert den Load Balancer
Richtet die automatische Skalierung ein
Überwachen Sie den Fortschritt der Bereitstellung und überprüfen Sie:
Bereitstellung der Infrastruktur
Initialisierung der Datenbank
Bereitstellen von Anwendungen
Gesundheitschecks bestanden
Zugängliche Anwendung
Datenbankverbindungen funktionieren
Protokolle, die den normalen Betrieb belegen
Post-deployment Validierung
Nach der Bereitstellung:
Prüfung auf Rauch:
Überprüfen Sie die kritische Funktionalität
Testen Sie die Workflows wichtiger Benutzer
Überprüfen Sie die Integrationspunkte
Überwachen Sie die Fehlerraten
Leistungsüberwachung:
Verfolgen Sie die Antwortzeiten
Überwachen Sie Datenbankabfragen
Überprüfen Sie die Ressourcenauslastung
Überprüfen Sie die Anwendungsprotokolle
Benutzervalidierung:
Führen Sie Benutzerakzeptanztests durch
Feedback einholen
Behandeln Sie alle Probleme
Dokumentieren Sie die gewonnenen Erkenntnisse
Rollback-Verfahren
Falls nach der Bereitstellung Probleme auftreten:
Sofortiges Rollback:
Zur vorherigen Anwendungsversion zurückkehren
Wechseln Sie zurück zu SQL Server (falls noch verfügbar)
Bei Bedarf aus dem Backup wiederherstellen
Teilweises Rollback:
Führen Sie ein Rollback bestimmter Komponenten durch
Datenbankänderungen beibehalten
Stellen Sie nur den Anwendungscode wieder her
Fix weiterleiten:
Wenden Sie den Hotfix auf die Aurora PostgreSQL-Version an
Stellen Sie den aktualisierten Anwendungscode bereit
Überwachen Sie die Lösung
Wichtig
Halten Sie Ihre SQL Server-Datenbank nach der Umstellung für einen bestimmten Zeitraum verfügbar, um bei Bedarf ein Rollback zu ermöglichen.
Post-deployment Optimierung
Nach erfolgreicher Bereitstellung:
Leistungsoptimierung:
Optimieren Sie langsame Abfragen
Passen Sie die Einstellungen des Verbindungspools an
Fine-tune Aurora PostgreSQL-Parameter
Überprüfen und optimieren Sie Indizes
Kostenoptimierung:
Right-size Aurora-Instanz
Konfigurieren Sie die automatische Skalierung entsprechend
Überprüfen Sie die Speichereinstellungen
Optimieren Sie die Aufbewahrung von Backups
Einrichtung der Überwachung:
CloudWatch Dashboards konfigurieren
Richten Sie Benachrichtigungen ein
Erweiterte Überwachung aktivieren
Konfigurieren Sie Performance Insights
Dokumentation:
Runbooks aktualisieren
Dokumentieren Sie Änderungen an der Architektur
Das Betriebsteam ausbilden
Erstellen Sie Anleitungen zur Fehlerbehebung