AWSEC2-SQLServerDBRestore - AWS Systems Manager 자동화 런북 참조

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWSEC2-SQLServerDBRestore

설명

AWSEC2-SQLServerDBRestore 실행서는 Amazon S3에 저장된 Microsoft SQL Server 데이터베이스 백업을 Amazon Elastic Compute Cloud(EC2) Linux 인스턴스에서 실행되는 SQL Server 2017로 복원합니다. SQL Server 2017 Linux를 실행하는 자체 EC2 인스턴스를 제공할 수 있습니다. EC2 인스턴스를 제공하지 않을 경우, 자동화가 새 Ubuntu 16.04 EC2 인스턴스를 시작하고 SQL Server 2017을 사용하여 구성합니다. 자동화는 전체, 차등 및 트랜잭션 로그 백업을 지원합니다. 이 자동화는 복수의 데이터베이스 백업 파일을 수락하고 제공된 파일에서 각 데이터베이스의 유효한 가장 최근 백업을 자동으로 복원합니다.

SQL Server 2017 Linux를 실행하는 EC2 인스턴스로의 온프레미스 SQL Server 데이터베이스 백업 및 복원을 모두 자동화하려면 AWS 서명 PowerShell 스크립트 MigrateSQLServerToEC2Linux를 사용하면 됩니다.

중요

이 실행서는 자동화가 실행될 때마다 SQL Server 서버 관리자(SA) 사용자 암호를 재설정합니다. 자동화가 완료된 후, SQL Server 인스턴스에 연결하기 전에 자체 SA 사용자 암호를 다시 설정해야 합니다.

이 자동화 실행(콘솔)

문서 유형

자동화

소유자

Amazon

플랫폼

Linux

필수 조건

이 자동화를 실행하려면, 다음 필수 조건을 충족해야 합니다.

  • 이 자동화를 실행하는 IAM 사용자 또는 역할에는 필수 IAM 권한에 개략적으로 설명된 권한과 연결된 인라인 정책이 있어야 합니다.

  • 자체 EC2 인스턴스를 제공하는 경우:

    • 제공하는 EC2 인스턴스는 Microsoft SQL Server 2017을 실행하는 Linux 인스턴스여야 합니다.

    • 제공하는 EC2 인스턴스는 AmazonSSMManagedInstanceCore 관리형 정책이 연결된 AWS Identity and Access Management (IAM) 인스턴스 프로파일로 구성되어야 합니다. 자세한 내용은 Systems Manager용 IAM 인스턴스 프로파일 생성을 참조하세요.

    • SSM Agent가 EC2 인스턴스에 설치되어야 합니다. 자세한 내용은 Linux용 EC2 인스턴스에 SSM Agent 설치 및 구성을 참조하세요.

    • EC2 인스턴스에 SQL Server 백업을 다운로드하고 복원할 충분한 여유 디스크 공간이 있어야 합니다.

제한 사항

이 자동화는 Windows Server용 EC2 인스턴스에서 실행되는 SQL Server에 대한 복원을 지원하지 않습니다. 이 자동화는 SQL Server Linux 2017과 호환되는 데이터베이스 백업만 복원합니다. 자세한 내용은 Linux의 SQL Server 2017에서 버전 및 지원하는 기능을 참조하십시오.

파라미터

이 자동화에는 다음과 같은 파라미터가 있습니다.

  • DatabaseNames

    유형: 문자열

    설명: (선택 사항) 복원할 데이터베이스의 이름의 쉼표로 구분된 목록입니다.

  • DataDirectorySize

    유형: 문자열

    설명: (선택 사항) 새 EC2 인스턴스에 사용할 SQL Server Data 디렉터리의 원하는 볼륨 크기(GiB)입니다.

    기본값: 100

  • KeyPair

    유형: 문자열

    설명: (선택 사항) 새 EC2 인스턴스를 생성할 때 사용할 키 페어입니다.

  • IamInstanceProfileName

    유형: 문자열

    설명: (선택 사항) 새 EC2 인스턴스에 연결할 IAM 인스턴스 프로파일입니다. IAM 인스턴스 프로파일은 AmazonSSMManagedInstanceCore 관리형 정책이 연결되어 있어야 합니다.

  • InstanceId

    유형: 문자열

    설명: (선택 사항) Linux의 SQL Server 2017을 실행하는 인스턴스입니다. 제공된 InstanceId가 없을 경우 Automation은 제공된 InstanceType 및 SQLServerEdition을 사용하여 새 EC2 인스턴스를 시작합니다.

  • InstanceType

    유형: 문자열

    설명: (선택 사항) 시작할 EC2 인스턴스의 인스턴스 유형입니다.

  • IsS3PresignedUrl

    유형: 문자열

    설명: (선택 사항) S3Input이 미리 서명된 S3 URL일 경우 yes을 표시합니다.

    기본값: no

    유효한 값: yes | no

  • LogDirectorySize

    유형: 문자열

    설명: (선택 사항) 새 EC2 인스턴스에 사용할 SQL Server Log 디렉터리의 원하는 볼륨 크기(GiB)입니다.

    기본값: 100

  • S3Input

    유형: 문자열

    설명: (필수) 복원할 SQL 백업 파일을 포함하는 S3 버킷 이름, S3 객체 키의 쉼표로 분리된 목록 또는 미리 서명된 S3 URL의 쉼표로 구분된 목록입니다.

  • SQLServerEdition

    유형: 문자열

    설명: (선택 사항) 새로 생성된 EC2 인스턴스에 설치할 SQL Server 2017의 버전입니다.

    유효한 값: Standard | Enterprise | Web | Express

  • SubnetId

    유형: 문자열

    설명: (선택 사항) 새 EC2 인스턴스를 시작할 서브넷입니다. 이 서브넷은 AWS 서비스에 대한 아웃바운드 연결이 있어야 합니다. SubnetId 값을 제공하지 않을 경우 자동화가 기본 서브넷을 사용합니다.

  • TempDbDirectorySize

    유형: 문자열

    설명: (선택 사항) 새 EC2 인스턴스에 사용할 SQL Server TempDB 디렉터리의 원하는 볼륨 크기(GiB)입니다.

    기본값: 100

필수 IAM 권한

실행서를 성공적으로 사용하려면 AutomationAssumeRole 파라미터에 다음 작업이 필요합니다.

{ "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 - Ubuntu 16.04에서 SQL Server 2017의 AMI ID를 검색합니다.

  2. aws:runInstances - Linux용 새 EC2 인스턴스를 시작합니다.

  3. aws:waitForAwsResourceProperty - 새로 만든 EC2 인스턴스가 준비될 때까지 기다립니다.

  4. aws:executeAwsApi - 인스턴스가 준비되지 않은 경우 인스턴스를 재부팅합니다.

  5. aws:assertAwsResourceProperty - SSM Agent가 설치되었는지 확인합니다.

  6. aws:runCommand - PowerShell에서 SQL Server 복원 스크립트를 실행합니다.

기존 EC2 인스턴스의 경우:

  1. aws:waitForAwsResourceProperty - EC2 인스턴스가 준비되었는지 확인합니다.

  2. aws:executeAwsApi - 인스턴스가 준비되지 않은 경우 인스턴스를 재부팅합니다.

  3. aws:assertAwsResourceProperty - SSM Agent가 설치되었는지 확인합니다.

  4. aws:runCommand - PowerShell에서 SQL Server 복원 스크립트를 실행합니다.

출력

getInstance.InstanceId

restoreToNewInstance.Output

restoreToExistingInstance.Output