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, die auf einer Amazon Elastic Compute Cloud (EC2) Linux-Instance ausgeführt werden. 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-Instance zu automatisieren, auf der SQL Server 2017 Linux ausgeführt wird, können Sie das AWS PowerShell -signierte Skript verwenden. MigrateSQLServerToEC2Linux

Wichtig

Dieses Runbook setzt das Benutzerkennwort des SQL Server-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 zur SQL Server-Instanz herstellen.

Diese Automatisierung ausführen (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, der diese Automatisierung ausführt, muss eine Inline-Richtlinie mit den unter beschriebenen Berechtigungen zugeordnet 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-) Instance-Profil konfiguriert sein, an das 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-Instance 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.

Parameter

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-Instance-Profil, das an die neue EC2-Instance angehängt werden soll. An das IAM-Instanzprofil muss die AmazonSSMManagedInstanceCore verwaltete Richtlinie angehängt sein.

  • InstanceId

    Typ: Zeichenfolge

    Beschreibung: (Optional) Die Instance mit SQL Server 2017 auf Linux. Wenn keine Angabe InstanceId erfolgt, startet die Automatisierung eine neue EC2-Instance unter Verwendung der ServerEdition bereitgestellten InstanceType und SQL-Anweisungen.

  • InstanceType

    Typ: Zeichenfolge

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

  • iSS 3 PresignedUrl

    Typ: Zeichenfolge

    Beschreibung: (Optional) Geben Sie an, ob S3Input eine vorsignierte S3-URL ist. 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-Eingang

    Typ: Zeichenfolge

    Beschreibung: (Erforderlich) S3-Bucket-Name, durch Komma getrennte Liste der S3-Objektschlüssel oder durch Komma getrennte Liste der vorsignierten S3-URLs mit den SQL-Sicherungsdateien für die Wiederherstellung.

  • SQL ServerEdition

    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 den AWS-Services aufweisen. 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.

{ "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::ACCOUNTID: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 Instanz neu, falls die Instanz 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 ausPowerShell.

Für vorhandene EC2-Instances:

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

  2. aws:executeAwsApi- Starten Sie die Instanz neu, falls die Instanz 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 ausPowerShell.

Ausgaben

Instanz abrufen. InstanceId

restoreToNewInstanz.Output

restoreToExistingInstanz.Output