AWSEC2-SQLServerDBRestore - AWS Systems Manager Referenz zum Automatisierungs-Runbook

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.

AWSEC2-SQLServerDBRestore

Beschreibung

Das AWSEC2-SQLServerDBRestore Runbook stellt in Amazon S3 gespeicherte Microsoft SQL Server-Datenbanksicherungen auf SQL Server 2017 wieder her, der auf einer Amazon Elastic Compute Cloud (EC2) Linux-Instance ausgeführt wird. Sie können Ihre eigene EC2-Instance mit SQL Server 2017 Linux bereitstellen. Wenn keine EC2-Instance bereitgestellt wird, startet und konfiguriert die Automatisierung eine neue Ubuntu 16.04 EC2-Instance mit SQL Server 2017. Die Automatisierung unterstützt die Wiederherstellung vollständiger, differenzierter und transaktionaler Protokollsicherungen. Diese Automatisierung akzeptiert mehrere Datenbank-Sicherungsdateien und stellt die neueste gültige Sicherung der einzelnen Datenbanken in den bereitgestellten Dateien wieder her.

Um sowohl die Sicherung als auch die Wiederherstellung einer lokalen SQL Server-Datenbank auf einer EC2-Instanz zu automatisieren, auf der SQL Server 2017 Linux ausgeführt wird, können Sie das -signierte Skript verwenden. AWS PowerShell MigrateSQLServerToEC2Linux

Wichtig

Dieses Runbook setzt das Benutzerkennwort des SQL Server-Administrators (SA) bei jeder Ausführung der Automatisierung zurück. Nach Abschluss der Automatisierung müssen Sie erneut Ihr eigenes SA-Benutzerkennwort festlegen, bevor Sie eine Verbindung mit der SQL Server-Instanz herstellen.

Führen Sie diese Automatisierung aus (Konsole)

Dokumenttyp

Automatisierung

Eigentümer

Amazon

Plattformen

Linux

Voraussetzungen

Um diese Automatisierung auszuführen, müssen Sie die folgenden Voraussetzungen erfüllen:

  • Dem IAM-Benutzer oder der IAM-Rolle, die diese Automatisierung ausführt, muss eine Inline-Richtlinie mit den unter beschriebenen Berechtigungen verknüpft sein. Erforderliche IAM-Berechtigungen

  • Wenn Sie Ihre eigene EC2-Instance bereitstellen:

    • Die von Ihnen bereitgestellte EC2-Instance muss eine Linux-Instance sein, auf der Microsoft SQL Server 2017 ausgeführt wird.

    • Die von Ihnen bereitgestellte EC2-Instance muss mit einem AWS Identity and Access Management (IAM-) Instanzprofil konfiguriert sein, dem die AmazonSSMManagedInstanceCore verwaltete Richtlinie angehängt ist. Weitere Informationen finden Sie unter Erstellen eines IAM-Instance-Profils für Systems Manager.

    • Der SSM-Agent muss auf Ihrer EC2-Instance installiert sein. Weitere Informationen finden Sie unter Installation und Konfiguration des SSM-Agenten auf EC2-Instances für Linux.

    • Die EC2-Instanz muss über ausreichend freien Speicherplatz verfügen, um die SQL Server-Backups herunterzuladen und wiederherzustellen.

Einschränkungen

Diese Automatisierung unterstützt keine Wiederherstellung auf SQL Server auf EC2-Instances für Windows Server. Diese Automatisierung stellt nur Datenbanksicherungen wieder her, die mit SQL Server Linux 2017 kompatibel sind. Weitere Informationen finden Sie unter Editionen und unterstützte Funktionen von SQL Server 2017 auf Linux.

Parameters

Diese Automatisierung hat die folgenden Parameter:

  • DatabaseNames

    Typ: Zeichenfolge

    Beschreibung: (Optional) Durch Komma getrennte Liste der Namen der wiederherzustellenden Datenbanken.

  • DataDirectorySize

    Typ: Zeichenfolge

    Beschreibung: (Optional) Gewünschte Volume-Größe (GiB) des SQL Server-Datenverzeichnisses für die neue EC2-Instance.

    Standardwert: 100

  • KeyPair

    Typ: Zeichenfolge

    Beschreibung: (Optional) Das beim Erstellen der neuen EC2-Instance zu verwendende Schlüsselpaar.

  • IamInstanceProfileName

    Typ: Zeichenfolge

    Beschreibung: (Optional) Das IAM-Instanzprofil, das an die neue EC2-Instance angehängt werden soll. Dem IAM-Instanzprofil muss die AmazonSSMManagedInstanceCore verwaltete Richtlinie angehängt sein.

  • InstanceId

    Typ: Zeichenfolge

    Beschreibung: (Optional) Die Instance mit SQL Server 2017 auf Linux. Wenn kein Wert angegeben InstanceId wird, startet die Automatisierung eine neue EC2-Instance mit der bereitgestellten InstanceType und SQLServer Edition.

  • InstanceType

    Typ: Zeichenfolge

    Beschreibung: (Optional) Der Instance-Typ der zu startenden EC2-Instance.

  • iSS3 PresignedUrl

    Typ: Zeichenfolge

    Beschreibung: (Optional) Wenn es sich bei S3Input um eine vorsignierte S3-URL handelt, geben Sie dies an. yes

    Standardwert: nein

    Gültige Werte: ja | nein

  • LogDirectorySize

    Typ: Zeichenfolge

    Beschreibung: (Optional) Gewünschte Volume-Größe (GiB) des SQL Server-Protokollverzeichnisses für die neue EC2-Instance.

    Standardwert: 100

  • S3-Eingabe

    Typ: Zeichenfolge

    Beschreibung: (Erforderlich) S3-Bucket-Name, kommagetrennte Liste von S3-Objektschlüsseln oder kommagetrennte Liste von vorsignierten S3-Dateien, die die wiederherzustellenden URLs SQL-Backupdateien enthalten.

  • SQLServerEdition

    Typ: Zeichenfolge

    Beschreibung: (Optional) Die Edition von SQL Server 2017 zur Installation auf der neu erstellten EC2-Instance.

    Gültige Werte: Standard | Enterprise | Web | Express

  • SubnetId

    Typ: Zeichenfolge

    Beschreibung: (Optional) Das Subnetz, in dem die neue EC2-Instance gestartet wird. Das Subnetz muss ausgehende Konnektivität zu AWS Diensten haben. Wenn kein Wert für angegeben SubnetId wird, verwendet die Automatisierung das Standardsubnetz.

  • TempDbDirectorySize

    Typ: Zeichenfolge

    Beschreibung: (Optional) Gewünschte Volume-Größe (GiB) des SQL Server-TempDB-Verzeichnisses für die neue EC2-Instance.

    Standardwert: 100

Erforderliche IAM-Berechtigungen

Der AutomationAssumeRole Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:DescribeImages", "ec2:DescribeInstanceStatus", "ec2:DescribeInstances", "ec2:RebootInstances", "ec2:RunInstances", "ssm:DescribeInstanceInformation", "ssm:GetAutomationExecution", "ssm:ListCommandInvocations", "ssm:ListCommands", "ssm:SendCommand", "ssm:StartAutomationExecution" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::111122223333:role/ROLENAME" } ] }

Dokumentschritte

Um diese Automatisierung zu verwenden, folgen Sie den Schritten, die für Ihren Instance-Typ gelten:

Für neue EC2-Instances:

  1. aws:executeAwsApi- Rufen Sie die AMI-ID für SQL Server 2017 auf Ubuntu 16.04 ab.

  2. aws:runInstances- Starten Sie eine neue EC2-Instance für Linux.

  3. aws:waitForAwsResourceProperty- Warten Sie, bis die neu erstellte EC2-Instance bereit ist.

  4. aws:executeAwsApi- Starten Sie die Instance neu, wenn die Instance nicht bereit ist.

  5. aws:assertAwsResourceProperty- Stellen Sie sicher, dass der SSM-Agent installiert ist.

  6. aws:runCommand- Führen Sie das SQL Server-Wiederherstellungsskript in PowerShell aus.

Für vorhandene EC2-Instances:

  1. aws:waitForAwsResourceProperty- Stellen Sie sicher, dass die EC2-Instanz bereit ist.

  2. aws:executeAwsApi- Starten Sie die Instance neu, wenn die Instance nicht bereit ist.

  3. aws:assertAwsResourceProperty- Stellen Sie sicher, dass der SSM-Agent installiert ist.

  4. aws:runCommand- Führen Sie das SQL Server-Wiederherstellungsskript in PowerShell aus.

Ausgaben

getInstance. InstanceId

restoreToNewInstanz.Ausgabe

restoreToExistingInstanz.Ausgabe