AWSEC2-SQLServerDBRestore - AWS Systems Manager 自動化手冊參考

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWSEC2-SQLServerDBRestore

Description (描述)

AWSEC2-SQLServerDBRestore執行手冊將存放在亞馬遜 S3 中的微軟 SQL 伺服器資料庫備份還原到在亞馬遜彈性運算雲端 (EC2) Linux 執行個體上執行的 SQL 伺服器 2017 年。您可以提供自己的執行 SQL Server 2017 Linux 的 EC2 執行個體。如果未提供 EC2 執行個體,自動化會啟動並設定新的 Ubuntu 16.04 EC2 執行個體與 SQL 伺服器 2017 年。自動化支援還原完整、差異和交易日誌備份。此自動化接受多個資料庫備份檔案,並可自動還原所提供檔案中每個資料庫最新有效的備份。

若要將現場部署 SQL Server 資料庫的備份和還原自動化到執行 SQL Server 2017 Linux 的 EC2 執行個體,您可以使用AWS已簽署的PowerShell指令碼MigrateSQLServerToEC2Linux

重要

此執行手冊會在每次自動化執行時重設 SQL Server 伺服器管理員 (SA) 使用者密碼。自動化完成之後,您必須再次設定自己的 SA 使用者密碼,才能連線到 SQL Server 執行個體。

運行此自動化(控制台)

文件類型

 自動化

擁有者

Amazon

平台

Linux

先決條件

若要執行此自動化操作,您必須符合下列先決條件:

  • 執行此自動化操作的 IAM 使用者或角色必須附加內嵌政策,其中列出了許可所需的 IAM 許可

  • 如果您提供自己的 EC2 執行個體:

    • 您提供的 EC2 執行個體必須是執行微軟 SQL 伺服器 2017 年的 Linux 執行個體。

    • 您提供的 EC2 執行個體必須使用附加AmazonSSMManagedInstanceCore受管政策的 AWS Identity and Access Management (IAM) 執行個體設定檔進行設定。如需詳細資訊,請參閱建立 Systems Manager 的 IAM 執行個體設定檔

    • SSM 代理程式必須安裝在 EC2 執行個體上。如需詳細資訊,請參閱在適用於 Linux 的 EC2 執行個體上安裝和設定 SSM 代理程式

    • EC2 執行個體必須有足夠的可用磁碟空間,才能下載和還原 SQL Server 備份。

限制

此自動化不支援還原至 Windows Server 的 EC2 執行個體上執行的 SQL Server。此自動化只能還原與 SQL Server Linux 2017 相容的資料庫備份。如需詳細資訊,請參閱 SQL Server 2017 在 Linux 上的版本和支援的功能

參數

此自動化操作具有下列參數:

  • DatabaseNames

    類型:字串

    描述:(選用) 要還原之資料庫的名稱逗號分隔清單。

  • DataDirectorySize

    類型:字串

    描述:(選用) SQL Server Data 目錄在新 EC2 執行個體上所需的磁碟區大小 (GiB)。

    預設值:100

  • KeyPair

    類型:字串

    描述:(選用) 建立新 EC2 執行個體時要使用的鍵組。

  • IamInstanceProfileName

    類型:字串

    說明:(可選)要附加到新 EC2 執行個體的 IAM 執行個體設定檔。IAM 執行個體設定檔必須附加AmazonSSMManagedInstanceCore受管政策。

  • InstanceId

    類型:字串

    描述:(選用) 在 Linux 上執行 SQL Server 2017 的執行個體。如果沒InstanceId有提供,則自動化會使用提ServerEdition供的InstanceType和 SQL 啟動新的 EC2 執行個體。

  • InstanceType

    類型:字串

    描述:(選用) 要啟動之 EC2 執行個體的執行個體類型。

  • 是 3 PresignedUrl

    類型:字串

    說明:(選擇性) 如果 S3Input 是預先簽署的 S3 URL,請指出。yes

    預設值:否

    有效值:是 | 否

  • LogDirectorySize

    類型:字串

    描述:(選用) SQL Server Log 目錄在新 EC2 執行個體上所需的磁碟區大小 (GiB)。

    預設值:100

  • 輸入

    類型:字串

    描述:(必要) S3 儲存貯體名稱、S3 物件金鑰的逗號分隔清單,或包含要還原之 SQL 備份檔案的預先簽章 S3 URL 逗號分隔清單。

  • SQL ServerEdition

    類型:字串

    描述:(選用) 要在新建立的 EC2 執行個體上安裝的 SQL Server 2017 版本。

    有效值:標準 | 企業 | 網頁 | 快速

  • SubnetId

    類型:字串

    描述:(選用) 要啟動新 EC2 執行個體的子網路。子網路必須擁有到 AWS 服務的對外連線。如果未提供的值,SubnetId則自動化會使用預設子網路。

  • TempDbDirectorySize

    類型:字串

    描述:(選用) SQL Server TempDB 目錄在新 EC2 執行個體上所需的磁碟區大小 (GiB)。

    預設值:100

所需的 IAM 許可

AutomationAssumeRole參數需要下列動作才能成功使用 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" } ] }

文件步驟

若要使用此自動化操作,請依照適用於您執行個體類型的步驟執行:

對於新的 EC2 執行個體:

  1. aws:executeAwsApi-擷取 SQL 伺服器 2017 年的 AMI 識別碼。

  2. aws:runInstances-啟動適用於 Linux 的新 EC2 執行個體。

  3. aws:waitForAwsResourceProperty-等待新建立的 EC2 執行個體準備就緒。

  4. aws:executeAwsApi-如果執行個體尚未就緒,請重新啟動執行個體。

  5. aws:assertAwsResourceProperty-確認已安裝 SSM 代理程式。

  6. aws:runCommand-在中執行 SQL 伺服器還原指令碼PowerShell。

對於現有的 EC2 執行個體:

  1. aws:waitForAwsResourceProperty-確認 EC2 執行個體已準備就緒。

  2. aws:executeAwsApi-如果執行個體尚未就緒,請重新啟動執行個體。

  3. aws:assertAwsResourceProperty-確認已安裝 SSM 代理程式。

  4. aws:runCommand-在中執行 SQL 伺服器還原指令碼PowerShell。

輸出

獲取實例。 InstanceId

restoreToNew執行個體輸出

restoreToExisting執行個體輸出