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.
Workflow zur Modernisierung von SQL Server
Dieser Abschnitt bietet eine schrittweise Anleitung zum vollständigen Modernisierungsprozess von SQL Server mithilfe von AWS Transform.
Schritt 1: Erstellen Sie einen SQL Server-Modernisierungsauftrag
Beginnen Sie Ihre Modernisierung, indem Sie in der Transform-Konsole einen neuen AWS Transformationsauftrag erstellen.
Melden Sie sich bei der AWS Transform-Konsole an
Wählen Sie Modernisierungsauftrag erstellen
Wählen Sie Windows-Modernisierungsauftrag und anschließend SQL Server-Modernisierung
Geben Sie die Jobdetails ein:
Jobname: Beschreibender Name für Ihr Projekt
Beschreibung: Optionale Beschreibung
Zielregion: AWS Region für den Einsatz
Wählen Sie Create job (Auftrag erstellen) aus.
Wichtig
Nehmen Sie in Ihrem Berufsnamen keine personenbezogenen Daten (PII) auf.
Schritt 2: Connect zur SQL Server-Datenbank herstellen
Verbinden Sie AWS Transform mit Ihrer SQL Server-Datenbank, um die Schemaanalyse und -konvertierung zu ermöglichen.
Erstellen Sie einen Datenbankkonnektor
Navigieren Sie in Ihrem SQL Server-Modernisierungsauftrag zu Connect zu Ressourcen herstellen
Wählen Sie Mit SQL Server-Datenbank verbinden
Wählen Sie Neuen Connector erstellen
Geben Sie die Konnektorinformationen ein:
Steckername: 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: Quellcode-Repository Connect
AWS Transform benötigt Zugriff auf den Quellcode Ihrer .NET-Anwendung, um den Code zu analysieren und zu transformieren, der mit Ihrer SQL Server-Datenbank interagiert. AWS Transform unterstützt drei Methoden zur Bereitstellung von Quellcode.
Wählen Sie Ihre Authentifizierungsmethode
- PAT-Konnektor (Personal Access Token) (empfohlen)
-
Ideal für Teams, die benutzerdefinierte Rechtebereiche, selbst gehosteten Anbietersupport oder Zugriff auf anbieterspezifische APIs wie Secrets benötigen. GitHub Sie erstellen in Ihrem Quellcode-Anbieter eine PAT mit benutzerdefinierten Berechtigungen, speichern sie dort AWS Secrets Manager, und AWS Transform ruft sie bei Bedarf ab. Sie sind für die Verwaltung der Rotation und des Ablaufs von Token verantwortlich.
- AWS CodeConnections
-
Am besten für Teams geeignet, die eine automatisierte Verwaltung von Anmeldeinformationen wünschen. AWS CodeConnections verwendet eine verwaltete Anbieterintegration, die die Authentifizierung über einen OAuth 2.0-Autorisierungsablauf abwickelt. AWS verwaltet den gesamten Lebenszyklus von Anmeldeinformationen, einschließlich der automatischen Aktualisierung und Rotation von Token. Es ist keine manuelle Verwaltung von Anmeldeinformationen erforderlich.
- Amazon S3
-
Laden Sie Ihren Quellcode direkt in einen Amazon S3 S3-Bucket hoch. AWS Transform greift während des Transformationsjobs auf den Code aus dem Bucket zu.
| Feature | PAT-Konnektor (empfohlen) | AWS CodeConnections |
|---|---|---|
| Verwalten von Anmeldeinformationen | Manuell (vom Kunden verwaltet) | Automatisch (AWS-verwaltet) |
| Token-Lebenszyklus | Manuelle Rotation erforderlich | Automatische Aktualisierung |
| Flexibilität bei Genehmigungen | Vollständig anpassbare Bereiche | Feste Berechtigungen |
| Self-hosted Unterstützung für Anbieter | Unterstützt | Nicht verfügbar |
| Komplexität der Einrichtung | Moderat (manuelle Token-Erstellung und Speicherung) | Niedrig (einmalige Autorisierung) |
| Token-Speicher | Die des Kunden AWS Secrets Manager | AWS-verwaltet |
Richten Sie einen PAT-Konnektor ein (empfohlen)
Mit einem PAT-Konnektor 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 Berechtigungen für den Zugriff auf Ihr Geheimnis.
Der PAT-Konnektor 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 die Registerkarte 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 Transformationsjobs fest. Stellen Sie das Ablaufdatum nicht so ein, dass es niemals abläuft.
Warnung
Speichern Sie PAT-Token niemals in Code-Repositorys oder geben Sie sie nicht über unsichere Kanäle weiter. Bewahren Sie sie immer in. AWS Secrets Manager
GitHub
Navigieren Sie zu Einstellungen, Entwicklereinstellungen, Persönliche Zugriffstoken, Fine-grained Token. Wählen Sie die Repositorys aus, die Sie transformieren möchten, und gewähren Sie die folgenden Berechtigungen.
Repository-Berechtigungen
| Berechtigung | Zugriff | Zweck |
|---|---|---|
| Inhalt | Lesen und schreiben | Liest den Quellcode und schreibt den transformierten Code zurück in das Repository |
| Metadaten | Read-only | Greift auf grundlegende Repository-Informationen zu |
Organisationsberechtigungen (erforderlich für Organisations-Repositorys)
| 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 |
Konto-API-Token (ATAT — Standardauthentifizierung mit E-Mail) oder App-Passwort (ATBB — Standardauthentifizierung mit Benutzername)
| Scope | Zweck |
|---|---|
read:account |
Identifiziert den authentifizierten Benutzer, um die Repository-Mitgliedschaft aufzulösen |
read:workspace:bitbucket |
Listet die Workspaces auf, auf die das Token zugreifen kann, sodass AWS Transform ihre Repositorys auflisten kann. Nicht erforderlich, wenn Sie im Secret eine Liste mit Arbeitsbereichen 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 Organisationsbereich 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 | Überprüft den Token-Zugriff und ermittelt die Benutzeridentität für die Suche nach Organisationen |
| Verwaltung der Ansprüche von Mitgliedern | Lesen | Führt 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 je nach Anbieter und Hostingtyp Schlüssel-Wert-Paare hinzu:
Cloud-hosted Anbieter — Fügen Sie einen Schlüssel
tokenmit Ihrem PAT als Wert hinzu.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(deine 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 bei einem in der Cloud gehosteten AWS Secrets Manager Anbieter aussieht: 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 zur Verschlüsselung Ihres Geheimnisses verwenden (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 Erklärung 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" } } }
Ersetze es REGION durch deine AWS Region (zum Beispielus-east-1) und YOUR-SECRET-ARN durch den ARN deines 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 der vorhandenen Richtlinie hinzu.
Wählen Sie Änderungen speichern aus.
Anmerkung
Wenn Sie den standardmäßigen AWS verwalteten Schlüssel (aws/secretsmanager) verwenden, müssen Sie keine KMS-Schlüsselrichtlinie ändern.
Konfigurieren Sie AWS Job transformieren
Navigieren Sie in Ihrem AWS Transform-Job zu Connect to resources.
Wählen Sie Connect Source Code Repository.
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 Geheimnis erforderlich sind.
Rotation und Wartung von Tokens
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 die 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 das PAT die für Ihren Anbieter erforderlichen Bereiche hat. Vergewissern Sie sich, dass das 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 sicherzustellen, 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 Anbieterintegration, 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 AWS gesamte Verwaltung der Anmeldeinformationen.
Navigieren Sie in Ihrem SQL Server-Modernisierungsauftrag zu Connect Ressourcen herstellen.
Wählen Sie Connect Source Code Repository.
Wenn Sie noch keine Verbindung haben, wählen Sie Verbindung erstellen.
Wählen Sie Ihren Repository-Anbieter aus:
GitHub / GitHub Unternehmen
GitLab.com
Bitbucket Cloud
Azure-Repositorien
Folgen Sie dem Autorisierungsablauf für Ihren Anbieter.
Wählen Sie nach der Autorisierung Connect.
Wählen Sie Ihr Repository und Ihren Branch aus
Wählen Sie Ihr Repository aus der Liste aus.
Wählen Sie den Zweig aus, den Sie transformieren möchten (normalerweise Main, Master oder Develop).
(Optional) Geben Sie ein Unterverzeichnis an, falls sich Ihre .NET-Anwendung nicht im Stammverzeichnis des Repositorys befindet.
Klicken Sie auf Weiter.
Anmerkung
AWS Transform erstellt einen neuen Zweig für den transformierten Code. Sie können die Änderungen mithilfe Ihres normalen Codeüberprüfungsprozesses ü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 prü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: Bereitstellungsconnector 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, mit dem Sie sich den Connector leicht merken können
Reichen Sie die Konnektoranfrage zur Genehmigung ein.
Genehmigung des Deployment-Connectors
Ihr AWS Kontoadministrator muss die Verbindungsanforderung für den Deployment Connector genehmigen.
AWS Transform zeigt einen Bestätigungslink an
Teilen Sie diesen Link mit Ihrem AWS Kontoadministrator
Der Administrator überprü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 zugänglich und bereit für die Transformation sind.
Was AWS Transform verifiziert
Datenbankkonnektivität: Die Verbindung ist aktiv, der Benutzer hat die erforderlichen Berechtigungen, auf Datenbanken kann zugegriffen werden, die Version wird unterstützt
Repository-Zugriff: Auf das Repository kann zugegriffen werden, eine Verzweigung ist vorhanden, .NET-Projektdateien wurden erkannt, Datenbankverbindungen sind auffindbar
Bereitschaft zur Umgebung: Die VPC-Konfiguration unterstützt DMS, erforderliche AWS Servicerollen sind vorhanden, Netzwerkkonnektivität hergestellt, Regionskompatibilität bestätigt
Sehen Sie sich die Checkliste vor dem Flug an
Navigieren Sie im Jobplan zu Bestätigen Sie Ihre Ressourcen
Sehen Sie sich die Punkte der Checkliste an:
✅ Datenbankverbindung verifiziert
✅ Der Zugriff auf das Repository wurde bestätigt
✅ .NET-Version wird unterstützt
✅ Entity Framework oder ADO.NET erkannt
✅ Netzwerkkonfiguration gültig
✅ Erforderliche Berechtigungen wurden 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 gespeicherter 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 entdeckt werden
Überprüfen Sie die Discovery-Ergebnisse
Gehen Sie nach Abschluss der Untersuchung zu Ermittlung und Bewertung, um Folgendes zu überprüfen:
Datenbankanalyse:
Anzahl der Objekte: Anzahl der Tabellen, Ansichten, gespeicherten Prozeduren, Funktionen, Trigger
Komplexitätsbewertung: 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
Anwendungsanalyse:
Projekttyp: ASP.NET Core, Konsolen-App, Klassenbibliothek usw.
.NET-Version: .NET Core-Version erkannt
Datenzugriffsframework: Entity Framework-Version oder ADO.NET
Datenbankverbindungen: Anzahl der gefundenen Verbindungszeichenfolgen
Komplexität des Codes: Bewertung der Transformationskomplexität
Übersicht der Abhängigkeiten:
Visuelle Darstellung der Beziehungen zwischen Anwendungen und Datenbanken
Cross-database Abhängigkeiten
Gemeinsam genutzte Komponenten
Komplexitätsbeurteilung 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 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 ist erforderlich, eine Überprüfung durch einen Experten wird empfohlen |
| Hoch (Klasse C) | CLR-Assemblys, Verbindungsserver, Service Broker, komplexe Volltextsuche | Umfangreiches manuelles Refactoring erforderlich, ein schrittweises Vorgehen ist in Betracht zu ziehen |
Bewertungsbericht
AWS Transform generiert einen detaillierten Bewertungsbericht, der Folgendes beinhaltet:
Zusammenfassung mit umfassendem Überblick
Vollständiges Datenbankinventar
Inventar der Anwendungen
Prozentsatz der Transformationsbereitschaft
Schätzung des Aufwands
Strategien zur Risikobewertung und Risikominderung
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 Grundstücke mit mehreren Datenbanken und Anwendungen generiert AWS Transform einen Wellenplan, der die Modernisierung in logischen Gruppen sequenziert.
Was ist ein Wellenplan?
Ein Wellenplan organisiert Ihre Modernisierung in Phasen (Wellen) auf der Grundlage von:
Abhängigkeiten zwischen Datenbanken und Anwendungen
Geschäftsprioritä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 dass Abhängigkeiten unterbrochen werden.
Überprüfen Sie den Wellenplan
Navigieren Sie im Jobplan zu Wave Planning
Überprüfe die vorgeschlagenen Wellen
Überprüfe für jede Welle:
Datenbanken eingeschlossen
Anwendungen eingeschlossen
Abhängigkeiten von anderen Wellen
Geschätzte Transformationszeit
Grad der Komplexität
Bereitstellbare Anwendungen
Passen Sie den Wave-Plan 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 Wellen im JSON wie folgt:
Datenbanken zwischen Wellen verschieben
Wellen in kleinere Gruppen aufteilen
Wellen zusammenfügen
Wellensequenz ändern
Datenbanken hinzufügen oder aus dem Geltungsbereich entfernen
Laden Sie die JSON-Datei zurück auf die Konsole hoch, indem Sie Wellenplan 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 Wave-Pläne ändern, indem Sie mit dem Agenten chatten und ihn bitten, die Repositorys und Datenbanken in bestimmte Waves zu verschieben. Dieser Ansatz funktioniert gut, wenn Sie kleinere Änderungen an den Wellen vornehmen müssen.
Wichtig
Stellen Sie sicher, dass bei der Anpassung der Wellen die Abhängigkeiten berücksichtigt werden. Das Transformieren einer abhängigen Anwendung vor ihrer Datenbank kann zu Problemen führen.
Modernisierung einer einzelnen Datenbank
Wenn Sie eine einzelne Datenbank und Anwendung AWS modernisieren, erstellt Transform einen einfachen Plan mit einer 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 Wellenplan genehmigen
AWS Transformieren sperrt den Wellenplan und fährt mit der Transformation fort
Sie können den Plan später immer 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
Überprüfen Sie die Konvertierung und die referenzielle Integrität
Generieren Sie Aktionspunkte für Objekte, die einer menschlichen Überprüfung bedürfen
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
Grundlegende Funktionen und Auslöser
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 fortgeschrittenen T-SQL
Server-specific SQL-Funktionen (GETUTCDATE, SUSER_SNAME usw.)
Berechnete Spalten mit komplexen Ausdrücken
Full-text Indizes durchsuchen
Operationen des XML-Datentyps
HIERARCHYID-Datentyp (erfordert die Erweiterung ltree)
Nicht automatisch konvertiert:
CLR-Assemblys
Verknüpfte Server
Service-Broker
Aufträge für den 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 Arbeitsprotokoll
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 überprüft werden müssen
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: Änderungen der Trigger-Syntax und des Timings
Überprüfen Sie die Aktionspunkte
Wählen Sie „Aktionspunkte anzeigen“
Überprüfen Sie für jeden Aktionspunkt Folgendes:
Objektname: Das Datenbankobjekt
Art des Problems: Was erfordert Aufmerksamkeit
Schweregrad: Kritisch, Warnung oder Info
Empfehlung: Vorgeschlagene Lösung
Originalcode: SQL Server-Version
Konvertierter Code: PostgreSQL-Version
Für jeden Aktionspunkt können Sie:
Akzeptieren: Verwenden Sie den konvertierten Code
Ändern: Bearbeiten Sie den konvertierten Code
Für später markieren: Nach der Transformation zur Überprüfung durch einen Menschen markieren
Beispiel: Konvertierung gespeicherter 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 umgewandelt
DATEDIFF wurde in EXTRACT konvertiert
GETUTCDATE () wurde in NOW () umgewandelt
In Kleinbuchstaben umgewandelte Spaltennamen (PostgreSQL-Konvention)
Genehmigen Sie die Schemak
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-Skripts zur Offline-Überprüfung oder Versionskontrolle herunterladen.
Schritt 9: Datenmigration (optional)
AWS Transform bietet Optionen für die Migration von Daten von SQL Server nach 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 von Produktionsdaten
Migrieren Sie Ihre tatsächlichen Produktionsdaten mit AWS DMS:
Vollständiges anfängliches Laden aller Daten
Kontinuierliche Replikation während des Tests (CDC)
Umstellung auf minimale Ausfallzeiten
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 Proof-of-Concept-Projekte
Konfigurieren Sie die Datenmigration
Navigieren Sie im Jobplan zu Datenmigration
Wählen Sie Ihre Migrationsoption:
Migrieren Sie Produktionsdaten
Datenmigration überspringen
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
Prozess der Migration von Produktionsdaten
Wenn Sie sich für die Migration von Produktionsdaten entscheiden:
Erste Synchronisierung: 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 Zeilenanzahl 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 mit Datentypen
Berechnete Spaltenergebnisse
Behandlung von Nullwerten
Schritt 10: Transformation des Anwendungscodes
AWS Transform transformiert Ihren .NET-Anwendungscode so, dass er mit Aurora PostgreSQL statt mit SQL Server funktioniert. Es fragt nach einem Ziel-Branchnamen 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
SQL-Syntax: T-SQL → PostgreSQL SQL
Änderungen an der Konfiguration:
Verbindungszeichenfolgen in appsettings.json
Pakete NuGet für Datenbankanbieter
Konfigurationen zur Dependency-Injektion
Startup/Program.cs Konfigurationen
Starten Sie die Codetransformation
Navigieren Sie im Jobplan zu Anwendungstransformation
Überprüfen Sie die Transformationseinstellungen:
.NET-Zielversion (falls aktualisiert)
PostgreSQL-Anbieterversion
Einstellungen für den Codestil
Wählen Sie Transformation starten
Überwachen Sie den Fortschritt im Arbeitsprotokoll
Die Transformation dauert je nach Größe der Codebasis in der Regel 15-45 Minuten
Schritt 11: Überprüfen Sie die Transformationsergebnisse
Bevor Sie mit der Bereitstellung fortfahren, überprüfen Sie die vollständigen Transformationsergebnisse, um sicherzustellen, dass alles testbereit 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
Commit zur Versionskontrolle
Sie können auch die Zusammenfassung der Transformation herunterladen, um die Änderungen in natürlicher Sprache zu überprüfen, die AWS Transform im Rahmen der Transformation vorgenommen hat.
Zusammenfassung der Transformation
Navigieren Sie im Jobplan zur Zusammenfassung der Transformation
Sehen Sie sich die Gesamtergebnisse an:
Schemakonvertierung: Konvertierte Objekte, Aktionspunkte, Warnungen
Datenmigration: Migrierte Tabellen, übertragene Zeilen, Validierungsstatus
Codetransformation: Dateien geändert, Zeilen geändert, Probleme gelöst
Bereitschaftsbewertung: Allgemeine Bereitschaft zur Bereitstellung
Transformationsbericht erstellen
AWS Transform generiert einen umfassenden Transformationsbericht:
Wählen Sie Bericht erstellen
Wählen Sie den Berichtstyp aus:
Zusammenfassung: High-level Überblick für Interessengruppen
Technische Details: Vollständige Transformationsdokumentation
Aktionspunkte: Liste der erforderlichen menschlichen Aufgaben
Wählen Sie Bericht herunterladen
Der Bericht beinhaltet:
Umfang und Ziele der Transformation
Objekte und Code wurden transformiert
Aufgetretene Probleme und Lösungen
Validierungsergebnisse
Bewertung der Einsatzbereitschaft
Empfehlungen für Tests
Schritt 12: Validierung und Testen
Stellen Sie vor der Bereitstellung in der Produktion sicher, dass die transformierte Anwendung ordnungsgemäß mit Aurora PostgreSQL funktioniert.
Arten der Validierung
Automatisierte Validierung: AWS Transform führt automatisierte Prüfungen durch:
Schemavalidierung anhand der Quelldatenbank
Überprüfung der Datenintegrität
Äquivalenztests abfragen
Überprüfung der Verbindungszeichenfolge
Überprüfung der Konfiguration
Validierung durch einen Menschen: Sie sollten zusätzliche Tests durchführen:
Funktionstests von Anwendungsfunktionen
Integrationstests mit anderen Systemen
Leistungstests und Benchmarking
Tests zur Benutzerakzeptanz
Sicherheitstests
Führen Sie eine automatisierte Validierung durch
Navigieren Sie im Jobplan zu Validierung
Wählen Sie Validierung ausführen
AWS Transform führt Validierungstests aus:
Datenbankkonnektivität
Schemakompatibilität
Datenintegrität
Anwendung erstellen
Grundlegende Funktionalität
Überprüfen Sie die Validierungsergebnisse:
Bestanden: Tests, die erfolgreich waren
Fehlgeschlagen: Tests, die Aufmerksamkeit erfordern
Warnungen: Mögliche Probleme, die überprüft werden müssen
Checkliste zum Testen
Datenbank-Funktionalität:
Auf alle Tabellen kann zugegriffen werden
Gespeicherte Prozeduren werden korrekt ausgeführt
Funktionen geben erwartete Ergebnisse zurück
Löst das Feuer entsprechend aus
Einschränkungen wurden ordnungsgemäß durchgesetzt
Indizes verbessern die Abfrageleistung
Funktionalität der Anwendung:
Die Anwendung wird erfolgreich gestartet
Datenbankverbindungen wurden hergestellt
CRUD-Operationen funktionieren korrekt
Aufrufe gespeicherter Prozeduren sind erfolgreich
Die Transaktionen commit/rollback wurden ordnungsgemäß durchgeführt
Die Fehlerbehandlung funktioniert wie erwartet
Datenintegrität:
Die Anzahl der Zeilen entspricht der Quelle
Einzigartige Primärschlüssel
Gültige Fremdschlüssel
Die berechneten Spalten sind korrekt
Null-Behandlung ist angemessen
Kompatible Datentypen
Leistung:
Akzeptable Antwortzeiten für Anfragen
Verbindungspooling konfiguriert
Indizes optimiert
Keine Probleme mit N+1-Abfragen
Effizienter Batch-Betrieb
Angemessene Ressourcennutzung
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 wurden abgeschlossen
Sicherheitsüberprüfung abgeschlossen
Backup- 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 Deploy to ECS
Konfigurieren Sie die Bereitstellungseinstellungen:
Cluster: Wählen oder erstellen Sie einen ECS-Cluster
Service: ECS-Dienst konfigurieren
Aufgabendefinition: Überprüfen Sie die generierte Aufgabendefinition
Load Balancer: Konfigurieren ALB/NLB
Auto-scaling: Legen Sie Skalierungsrichtlinien fest
Überprüfen Sie die Infrastruktur als Code (Vorlage oder CDK-Code) CloudFormation AWS
Wählen Sie Deploy
Überwachen Sie die Bereitstellung
AWS Transform stellt Ihre Anwendung bereit:
Erstellt einen Aurora PostgreSQL-Cluster
Wendet das Datenbankschema an
Lädt Daten (falls zutreffend)
Stellt Anwendungscontainer bereit
Konfiguriert den Load Balancer
Richtet die auto-scaling ein
Überwachen Sie den Bereitstellungsfortschritt und überprüfen Sie:
Bereitstellung der Infrastruktur
Initialisierung der Datenbank
Bereitstellen von Anwendungen
Gesundheitschecks bestanden
Anwendung zugänglich
Datenbankverbindungen funktionieren
Protokolle, die den normalen Betrieb zeigen
Post-deployment Validierung
Nach der Bereitstellung:
Rauchtests:
Überprüfen Sie wichtige Funktionen
Testen Sie die Workflows wichtiger Benutzer
Überprüfen Sie die Integrationspunkte
Überwachen Sie die Fehlerquoten
Überwachung der Leistung:
Verfolgen Sie die Antwortzeiten
Überwachen Sie Datenbankabfragen
Überprüfen Sie die Ressourcenauslastung
Überprüfen Sie die Anwendungsprotokolle
Benutzervalidierung:
Führen Sie Benutzerakzeptanztests durch
Sammeln Sie Feedback
Gehen Sie auf alle Probleme ein
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
Behalten Sie die Datenbankänderungen bei
Nur Anwendungscode rückgängig machen
Fix weiterleiten:
Hotfix auf Aurora PostgreSQL-Version anwenden
Stellen Sie den aktualisierten Anwendungscode bereit
Überwachen Sie die Lösung
Wichtig
Halten Sie Ihre SQL Server-Datenbank für einen Zeitraum nach der Umstellung 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 auto-scaling entsprechend
Überprüfen Sie die Speichereinstellungen
Optimieren Sie die Aufbewahrung von Backups
Einrichtung der Überwachung:
CloudWatch Dashboards konfigurieren
Richten Sie Warnmeldungen ein
Erweiterte Überwachung aktivieren
Performance Insights konfigurieren
Dokumentation:
Runbooks aktualisieren
Änderungen an der Dokumentarchitektur
Betriebsteam für Züge
Erstellen Sie Anleitungen zur Fehlerbehebung