AWSEC2-SQLServerDBRestore - AWS Systems Manager Referencia del manual de automatización

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWSEC2-SQLServerDBRestore

Descripción

El manual de procedimientos AWSEC2-SQLServerDBRestorerestaura las copias de seguridad de bases de datos de Amazon S3 a Server 2017 en ejecución en una instancia Amazon Elastic Compute Cloud (EC2) de Linux. Puede proporcionar su propia instancia EC2 con SQL Server 2017 para Linux. Si no se proporciona ninguna instancia EC2, Automation inicia y configura una nueva instancia EC2 de Ubuntu 16.04 con SQL Server 2017. Automation admite la restauración de copias de seguridad completas, diferenciales y de registros de transacciones. Automation acepta varios archivos de copia de seguridad de bases de datos y restaura automáticamente la copia de seguridad válida más reciente de cada base de datos de los archivos proporcionados.

Para automatizar tanto la creación de copias de seguridad como la restauración de una base de datos de SQL Server local en una instancia EC2 que ejecuta SQL Server 2017 para Linux, puede usar el script de PowerShell firmado por AWSMigrateSQLServerToEC2Linux.

importante

Este manual de procedimientos restablece la contraseña de usuario de administrador del servidor (SA) de SQL Server cada vez que se ejecuta Automation. Una vez que finalice Automation, debe establecer su propia contraseña de usuario de SA de nuevo antes de conectarse a la instancia de SQL Server.

Ejecuta esta automatización (consola)

Tipo de documento

 Automation

Propietario

Amazon

Plataformas

Linux

Requisitos previos

Para ejecutar esta automatización, debe cumplir los siguientes requisitos previos:

  • El usuario o rol de IAM que ejecute esta automatización debe tener una política integrada asociada con los permisos que se describen en. Permisos de IAM necesarios

  • Si proporciona su propia instancia EC2, haga lo siguiente:

    • La instancia EC2 que proporcione debe ser una instancia de Linux que ejecute Microsoft SQL Server 2017.

    • La instancia EC2 debe ser configurada con un perfil de instancia de AWS Identity and Access Management(IAM) que tenga asociado la política administrada AmazonSSMManagedInstanceCoreadjunta. Para obtener más información, consulte Crear un perfil de instancias de IAM para Systems Manager.

    • El agente de SSM debe estar instalado en su instancia EC2. Para obtener más información, consulte Installing and Configuring SSM Agent on EC2 Instances para Linux.

    • La instancia EC2 debe tener suficiente espacio libre en disco para descargar y restaurar las copias de seguridad de SQL Server.

Limitaciones

Automation no admite la restauración de SQL Server en ejecución en instancias EC2 para Windows Server. Automation solo restaura las copias de seguridad de bases de datos que sean compatibles con SQL Server 2017 para Linux. Para obtener más información, consulte la sección Ediciones y características admitidas de SQL Server 2017 para Linux.

Parámetros

Esta Automation tiene los siguientes parámetros:

  • DatabaseNames

    Tipo: String

    Descripción: (Opcional) la lista separada por comas de los nombres de las bases de datos que se restaurarán.

  • DataDirectorySize

    Tipo: String

    Descripción: (Opcional) el tamaño del volumen (GiB) deseado del directorio Data de SQL Server para la nueva instancia EC2.

    Valor predeterminado: 100

  • KeyPair

    Tipo: String

    Descripción: (Opcional) el par de claves que se utilizará al crear la nueva instancia EC2.

  • IamInstanceProfileName

    Tipo: String

    Descripción: (Opcional) el perfil de instancia de IAM que se asociará a la nueva instancia EC2. El perfil de instancia de IAM debe tener la política administrada asociada de AmazonSSMManagedInstanceCore.

  • InstanceId

    Tipo: String

    Descripción: (Opcional) la instancia que ejecuta SQL Server 2017 en Linux. Si no se proporciona el valor de InstanceId, Automation inicia una nueva instancia EC2 utilizando los valores de InstanceType y SQLServerEdition proporcionados.

  • InstanceType

    Tipo: String

    Descripción: (Opcional) el tipo de instancia EC2 que se va iniciar.

  • IsS3PresignedUrl

    Tipo: String

    Descripción: (Opcional) si S3Input es una URL de S3 prefirmada, indique yes.

    Valor predeterminado: no

    Valores válidos: yes | no

  • LogDirectorySize

    Tipo: String

    Descripción: (Opcional) el tamaño del volumen (GiB) deseado del directorio Log de SQL Server para la nueva instancia EC2.

    Valor predeterminado: 100

  • S3Input

    Tipo: String

    Descripción: (Obligatorio) el nombre de bucket de S3, la lista separada por comas de claves de objetos de S3 o la lista separada por comas de URL de S3 prefirmadas con los archivos de copias de seguridad de SQL que se restaurarán.

  • SQLServerEdition

    Tipo: String

    Descripción: (Opcional) la edición de SQL Server 2017 que se instalará en la instancia EC2 recién creada.

    Valores permitidos: Standard | Enterprise | Web | Express

  • SubnetId

    Tipo: String

    Descripción: (Opcional) la subred en la que se iniciará la nueva instancia EC2. La subred debe tener conectividad saliente a los servicios de AWS. Si no se proporciona ningún valor para SubnetId, Automation utiliza la subred predeterminada.

  • TempDbDirectorySize

    Tipo: String

    Descripción: (Opcional) el tamaño del volumen (GiB) deseado del directorio TempDB de SQL Server para la nueva instancia EC2.

    Valor predeterminado: 100

Permisos de IAM necesarios

El AutomationAssumeRoleparámetro requiere las siguientes acciones para utilizar correctamente el runbook.

{ "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" } ] }

Pasos de documentos

Para usar esta automatización, sigue los pasos que se aplican a tu tipo de instancia:

Para las nuevas instancias EC2:

  1. aws:executeAwsApi- Recupere el ID de AMI para SQL Server 2017 en Ubuntu 16.04.

  2. aws:runInstances - Lance una nueva instancia EC2 para Linux.

  3. aws:waitForAwsResourceProperty- Espere a que la instancia EC2 recién creada esté lista.

  4. aws:executeAwsApi- Reinicie la instancia si no está lista.

  5. aws:assertAwsResourceProperty- Compruebe que el agente de SSM esté instalado.

  6. aws:runCommand- Ejecute el script de restauración de SQL Server en PowerShell.

Para las instancias EC2 existentes:

  1. aws:waitForAwsResourceProperty- Verifique que la instancia está lista

  2. aws:executeAwsApi- Reinicie la instancia si no está lista.

  3. aws:assertAwsResourceProperty- Compruebe que el agente de SSM esté instalado.

  4. aws:runCommand- Ejecute el script de restauración de SQL Server en PowerShell.

Salidas

getInstance.InstanceId

restoreToNewInstance.Output

restoreToExistingInstance.Output