AWSEC2-SQLServerDBRestore - AWS Systems Manager Referência do runbook de automação

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWSEC2-SQLServerDBRestore

Descrição

O runbook do AWSEC2-SQLServerDBRestore restaura os backups de banco de dados do Microsoft SQL Server armazenados no Amazon S3 para o SQL Server 2017 em execução em uma instância Linux do Amazon Elastic Compute Cloud (EC2). Você pode fornecer sua própria instância do EC2 executando o SQL Server 2017 para Linux. Se uma instância do EC2 não for fornecida, a automação será iniciado e configurado uma nova instância do EC2 Ubuntu 16.04 com o SQL Server 2017. A automação oferece suporte à restauração de backups de logs completos, diferenciais e transacionais. Essa automação aceita vários arquivos de backup de banco de dados e restaura automaticamente o backup válido mais recente de cada banco de dados nos arquivos fornecidos.

Para automatizar o backup e a restauração de um banco de dados SQL Server on-premises em uma instância do EC2 executando o SQL Server 2017 Linux, você pode usar o script PowerShell assinado pela AWS MigrateSQLServerToEC2Linux.

Importante

Esse runbook redefine a senha do usuário SA do SQL Server sempre que o fluxo de trabalho é executado. Depois que a automação estiver concluída, você deverá definir sua própria senha de usuário SA novamente antes de se conectar à instância do SQL Server.

Execute esta automação (console)

Tipo de documento

Automation

Proprietário

Amazon

Plataformas

Linux

Pré-requisitos

Para executar esta automação, você deve cumprir os seguintes pré-requisitos:

  • O usuário ou a função do IAM que executa esta automação deve ter uma política embutida anexada às permissões descritas em Permissões obrigatórias do IAM.

  • Se você fornecer sua própria instância do EC2:

    • A instância do EC2 que você fornece deve ser uma instância Linux executando o Microsoft SQL Server 2017.

    • A instância do EC2 que você fornece deve ser configuradad com um perfil de instância do AWS Identity and Access Management (IAM) que tenha a política gerenciada AmazonSSMManagedInstanceCore anexada. Para obter mais informações, consulte Criar um perfil de instância do IAM para o Systems Manager.

    • O SSM Agent deve estar instalado na sua instância do EC2. Para obter mais informações, consulte Instalar e configurar SSM Agent em instâncias EC2 do Linux.

    • A instância do EC2 deve ter espaço em disco suficiente para fazer o download e a restauração dos backups do SQL Server.

Limitações

Essa automação não é compatível com a restauração para o SQL Server em execução em instâncias do EC2 para Windows Server. Essa automação restaura apenas os backups de banco de dados compatíveis com o SQL Server para Linux 2017. Para obter mais informações, consulte Edições e recursos compatíveis do SQL Server 2017 no Linux.

Parâmetros

Essa automação tem os seguintes parâmetros:

  • DatabaseNames

    Tipo: sequência

    Descrição: (opcional) Uma lista separada por vírgulas dos nomes de bancos de dados a serem restaurados.

  • DataDirectorySize

    Tipo: sequência

    Descrição: (opcional) Tamanho do volume desejado (GiB) do diretório Data do SQL Server para a nova instância do EC2.

    Valor padrão: 100

  • KeyPair

    Tipo: sequência

    Descrição: (opcional) O par de chaves a ser usado ao criar a nova instância do EC2.

  • IamInstanceProfileName

    Tipo: sequência

    Descrição: (opcional) O perfil de instância do IAM a ser anexado à nova instância do EC2. O perfil de instância do IAM deve ter a política gerenciada pelo AmazonSSMManagedInstanceCore anexada.

  • InstanceId

    Tipo: sequência

    Descrição: (opcional) A instância executando o SQL Server 2017 no Linux. Se nenhum InstanceId for fornecido, a automação iniciará uma nova instância do EC2 usando o InstanceType e o SQLServerEdition fornecidos.

  • InstanceType

    Tipo: sequência

    Descrição: (opcional) O tipo da instância do EC2 a ser executada.

  • IsS3PresignedUrl

    Tipo: sequência

    Descrição: (opcional) Se S3Input for um URL do S3 pré-assinado, indique yes.

    Valor padrão: Não

    Valores válidos: sim | não

  • LogDirectorySize

    Tipo: sequência

    Descrição: (opcional) Tamanho do volume desejado (GiB) do diretório Log do SQL Server para a nova instância do EC2.

    Valor padrão: 100

  • S3Input

    Tipo: sequência

    Descrição: (obrigatório) Nome do bucket do S3, lista separada por vírgulas de chaves de objeto do S3 ou uma lista separada por vírgulas de URLs do S3 pré-assinadas que contém os arquivos de backup SQL a serem restaurados.

  • SQLServerEdition

    Tipo: sequência

    Descrição: (opcional) A edição do SQL Server 2017 a ser instalada na instância do EC2 recém-criada.

    Valores permitidos: Standard | Enterprise | Web | Express

  • SubnetId

    Tipo: sequência

    Descrição: (opcional) A sub-rede na qual executar a nova instância do EC2. A sub-rede deve ter conectividade de saída com serviços da AWS. Se um valor para SubnetId não for fornecido, a automação usará a sub-rede padrão.

  • TempDbDirectorySize

    Tipo: sequência

    Descrição: (opcional) Tamanho do volume desejado (GiB) do diretório TempDB do SQL Server para a nova instância do EC2.

    Valor padrão: 100

Permissões obrigatórias do IAM

O parâmetro AutomationAssumeRole requer as seguintes ações para usar o runbook com êxito.

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

Etapas do documento

Para usar esta automação, siga as etapas que se aplicam ao seu tipo de instância:

Para novas instâncias do EC2:

  1. aws:executeAwsApi: recupera o ID da AMI para o SQL Server 2017 no Ubuntu 16.04.

  2. aws:runInstances: executa uma nova instância do EC2 para Linux.

  3. aws:waitForAwsResourceProperty: aguarda até que a instância EC2 recém-criada esteja pronta.

  4. aws:executeAwsApi: reinicializa a instância se ela não estiver pronta.

  5. aws:assertAwsResourceProperty: verifica se o SSM Agent está instalado.

  6. aws:runCommand: executa o script de restauração do SQL Server no PowerShell.

Para instâncias do EC2 existentes:

  1. aws:waitForAwsResourceProperty: verifica se a instância do EC2 está pronta

  2. aws:executeAwsApi: reinicializa a instância se ela não estiver pronta.

  3. aws:assertAwsResourceProperty: verifica se o SSM Agent está instalado.

  4. aws:runCommand: executa o script de restauração do SQL Server no PowerShell.

Saídas

getInstance.InstanceId

restoreToNewInstance.Output

restoreToExistingInstance.Output