Microsoft SQL Server DB 인스턴스 생성 및 해당 인스턴스에 연결
이 자습서에서는 EC2 인스턴스와 RDS for Microsoft SQL Server DB 인스턴스를 생성합니다. 자습서에서는 Microsoft SQL Server Management Studio 클라이언트를 사용하여 EC2 인스턴스에서 DB 인스턴스에 액세스하는 방법을 보여줍니다. 이 자습서에서는 모범 사례를 따라 Virtual Private Cloud(VPC)에서 프라이빗 DB 인스턴스를 생성합니다. 대부분의 경우 EC2 인스턴스와 같이 동일한 VPC에 있는 다른 리소스는 DB 인스턴스에 액세스할 수 있지만 VPC 외부의 리소스는 DB 인스턴스에 액세스할 수 없습니다.
자습서를 완료하면 VPC의 각 가용 영역에 퍼블릭 서브넷과 프라이빗 서브넷이 있을 것입니다. 한 가용 영역에서 EC2 인스턴스는 퍼블릭 서브넷에 있고 DB 인스턴스는 프라이빗 서브넷에 있습니다.
중요
AWS 계정 생성은 무료입니다. 그러나 이 자습서를 완료하면 사용하는 AWS 리소스에 대한 비용이 발생할 수 있습니다. 자습서가 더 이상 필요하지 않은 경우 자습서를 완료한 후에 이러한 리소스를 삭제할 수 있습니다.
다음 다이어그램은 이 자습서를 완료했을 때 구성을 보여 줍니다.
이 자습서에서는 다음 방법 중 하나를 사용하여 리소스를 생성할 수 있습니다.
-
AWS Management Console 사용 ‐ SQL Server DB 인스턴스 생성 및 EC2 인스턴스 생성
-
데이터베이스 인스턴스 및 EC2 인스턴스를 생성하는 데 AWS CloudFormation 사용 - (선택 사항) AWS CloudFormation를 사용하여 VPC, EC2 인스턴스 및 SQL Server 인스턴스 생성
첫 번째 방법은 간편 생성을 사용하여 AWS Management Console을 통해 프라이빗 SQL Server DB 인스턴스를 생성합니다. 여기에서는 DB 엔진 유형, DB 인스턴스 크기 및 DB 인스턴스 식별자만 지정합니다. [간편 생성(Easy create)]은 다른 구성 옵션에서도 기본 설정을 사용합니다.
표준 생성을 대신 사용하는 경우에는 DB 인스턴스를 생성할 때 더 많은 구성 옵션을 지정할 수 있습니다. 이러한 옵션에는 가용성, 보안, 백업 및 유지 관리에 대한 설정이 포함됩니다. 퍼블릭 DB 인스턴스를 만들려면 표준 생성을 사용해야 합니다. 자세한 내용은 Amazon RDS DB 인스턴스 생성을 참조하세요.
주제
사전 조건
시작하기 전에 다음 섹션에서 다음 단계를 완료하세요.
EC2 인스턴스 생성
데이터베이스에 연결하는 데 사용할 Amazon EC2 인스턴스를 생성합니다.
EC2 인스턴스를 생성하려면
AWS Management Console에 로그인하고 https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
AWS Management Console의 오른쪽 상단에서 이전에 데이터베이스에 사용한 AWS 리전을 선택합니다.
-
다음 이미지에 나와 있는 것처럼 EC2 대시보드를 선택한 다음, 인스턴스 시작을 선택합니다.
인스턴스 시작 페이지가 열립니다.
-
인스턴스 시작 페이지에서 다음 설정을 선택합니다.
-
Name and tags(이름 및 태그) 아래의 Name(이름)에
ec2-database-connect
을 입력하세요. -
Application and OS Images (Amazon Machine Image)(애플리케이션 및 OS 이미지(Amazon Machine Image))에서 Windows를 선택한 다음 Microsoft Windows Server 2022 Base를 선택합니다. 다른 선택 항목에 대해서는 기본값을 그대로 유지합니다.
-
인스턴스 유형에서 t2.micro를 선택합니다.
-
키 페어(로그인)에서 기존 키 페어를 사용할 키 페어 이름을 선택합니다. Amazon EC2 인스턴스에 대한 새 키 페어를 생성하려면 새 키 페어 생성을 선택한 다음 키 페어 생성 창을 사용하여 생성합니다.
새로운 키 페어 생성에 대한 자세한 내용은 Amazon EC2 Windows 인스턴스용 사용 설명서의 키 페어 생성을 참조하세요.
-
네트워크 설정의 방화벽(보안 그룹)에서 다음 위치의 RDP 트래픽 허용을 선택하여 EC2 인스턴스에 연결합니다.
표시된 IP 주소가 RDP 연결에 대해 올바른 경우 내 IP를 선택할 수 있습니다. 그렇지 않으면 RDP를 사용하여 VPC의 EC2 인스턴스에 연결하는 데 사용할 IP 주소를 결정할 수 있습니다. 퍼블릭 IP 주소를 확인하려면 다른 브라우저 창 또는 탭에서 https://checkip.amazonaws.com
의 서비스를 사용합니다. IP 주소의 예는 192.0.2.1/32입니다. 대부분의 경우 고정 IP 주소가 없는 방화벽 뒤나 인터넷 서비스 제공업체(ISP)를 통해 연결하는 경우가 많습니다. 그렇다면 클라이언트 컴퓨터에서 사용하는 IP 주소 범위를 결정합니다.
주의
RDP 액세스에
0.0.0.0/0
을 사용하는 경우 모든 IP 주소가 RDP를 사용하여 퍼블릭 EC2 인스턴스에 액세스하도록 설정할 수 있습니다. 이 방법은 테스트 환경에서 잠시 사용하는 것은 괜찮지만 프로덕션 환경에서는 안전하지 않습니다. 프로덕션에서는 RDP를 사용하여 EC2 인스턴스에 액세스할 수 있는 특정 IP 주소 또는 주소 범위만 인증합니다.다음 이미지는 네트워크 설정 섹션의 예를 보여 줍니다.
-
나머지 섹션에서 기본값은 그대로 둡니다.
-
요약 패널에서 EC2 인스턴스 구성 요약을 검토하고 준비가 되면 인스턴스 시작을 선택합니다.
-
-
시작 상태 페이지에서, 새 EC2 인스턴스의 식별자(예:
i-1234567890abcdef0
)를 기록해 둡니다. -
EC2 인스턴스 식별자를 선택하여 EC2 인스턴스 목록을 엽니다.
-
계속하기 전에 EC2 인스턴스의 인스턴스 상태가 실행 중이 될 때까지 기다립니다.
SQL Server DB 인스턴스 생성
Amazon RDS의 기본 빌딩 블록은 DB 인스턴스입니다. SQL Server 데이터베이스를 실행하는 환경입니다.
이 예시에서는 간편 생성을 사용하여 db.t2.micro DB 인스턴스 클래스에서 SQL Server 데이터베이스 엔진을 실행하는 DB 인스턴스를 생성합니다.
Easy Create(간편 생성)로 Microsoft SQL Server DB 인스턴스를 생성하는 방법
https://console.aws.amazon.com/rds/
에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다. -
Amazon RDS 콘솔의 오른쪽 상단에서 DB 인스턴스를 생성하려는 AWS 리전을 선택합니다.
-
탐색 창에서 데이터베이스를 선택합니다.
-
[데이터베이스 생성(Create database)]을 선택하고 [간편 생성(Easy Create)]이 선택되어 있는지 확인합니다.
-
구성에서 Microsoft SQL Server를 선택합니다.
-
에디션에서 SQL Server Express Edition을 선택합니다.
-
DB instance size(DB 인스턴스 크기)에서 프리 티어를 선택합니다.
-
DB 인스턴스 식별자에
database-test1
을 입력합니다.데이터베이스 생성 페이지는 다음 이미지와 비슷해야 합니다.
-
마스터 사용자 이름에 마스터 사용자의 이름을 입력하거나 기본 이름을 그대로 유지합니다.
-
이전에 생성한 EC2 인스턴스와의 연결을 설정하려면 EC2 연결 설정 - 선택 사항을 엽니다.
Connect to an EC2 compute resource(EC2 컴퓨팅 리소스에 연결)를 선택합니다. 이전에 생성한 EC2 인스턴스를 선택합니다.
-
DB 인스턴스에서 자동 생성된 마스터 암호를 사용하려면 [암호 자동 생성(Auto generate a password)] 확인란을 선택합니다.
마스터 암호를 입력하려면 [암호 자동 생성(Auto generate a password)] 확인란의 선택을 해제한 다음, [마스터 암호(Master password)] 및 [암호 확인(Confirm password)]에 동일한 암호를 입력합니다.
-
간편 생성 기본 설정 보기를 엽니다.
[간편 생성(Easy Create)]과 함께 사용되는 기본 설정을 검토할 수 있습니다. 데이터베이스 생성 후 편집 가능 열에는 데이터베이스 생성 후 어떤 옵션을 변경할 수 있는지 나와 있습니다.
-
설정의 해당 열에 아니요라고 되어 있지만 다른 설정을 원하는 경우 표준 생성을 사용하여 DB 인스턴스를 만들 수 있습니다.
-
설정의 해당 열에 예라고 되어 있으며 다른 설정을 원하는 경우 표준 생성을 사용하여 DB 인스턴스를 만들거나 DB 인스턴스를 생성한 후 수정하여 설정을 변경할 수 있습니다.
-
-
데이터베이스 생성를 선택합니다.
DB 인스턴스의 마스터 사용자 이름 및 암호를 보려면 View credential details(자격 증명 세부 정보 보기)를 선택합니다.
DB 인스턴스를 마스터 사용자로 연결하려면 화면에 나타난 사용자 이름과 암호를 사용합니다.
중요
마스터 사용자 암호를 다시 볼 수는 없습니다. 따라서 기록을 해두지 않으면 이를 변경해야 합니다.
DB 인스턴스가 사용 가능한 상태가 되고 난 후에 마스터 사용자 암호를 변경해야 하는 경우에는 다음과 같은 방법으로 DB 인스턴스를 수정할 수 있습니다. DB 인스턴스 변경에 대한 자세한 내용은 Amazon RDS DB 인스턴스 수정 단원을 참조하십시오.
-
데이터베이스 목록에서 새 SQL Server DB 인스턴스의 이름을 선택하면 세부 정보가 표시됩니다.
DB 인스턴스를 사용할 준비가 될 때까지 DB 인스턴스의 상태는 생성 중입니다.
상태가 Available(사용 가능)로 변경되면 DB 인스턴스에 연결할 수 있습니다. DB 인스턴스 클래스와 스토리지의 양에 따라 새 인스턴스를 사용할 수 있을 때까지 최대 20분이 걸릴 수 있습니다.
(선택 사항) AWS CloudFormation를 사용하여 VPC, EC2 인스턴스 및 SQL Server 인스턴스 생성
콘솔을 사용하여 VPC, EC2 인스턴스 및 SQL Server 인스턴스를 생성하는 대신 AWS CloudFormation을 통해 코드형 인프라로 처리하여 AWS 리소스를 프로비저닝할 수 있습니다. AWS 리소스를 더 작고 관리하기 쉬운 단위로 구성하는 데 도움이 되도록 AWS CloudFormation 중첩 스택 기능을 사용할 수 있습니다. 자세한 내용은 AWS CloudFormation 콘솔에서 스택 생성 및 중첩된 스택 작업을 참조하세요.
중요
AWS CloudFormation은 무료이지만, CloudFormation에서 생성하는 리소스는 라이브입니다. 이러한 리소스를 종료하지 않으면 해당 리소스에 대한 표준 사용 요금이 발생합니다. 발생하는 총 요금은 매우 적습니다. 요금을 최소화할 수 있는 방법에 대한 자세한 내용은 AWS 프리 티어
AWS CloudFormation 콘솔을 사용하여 리소스를 생성하려면 다음 단계를 완료합니다.
CloudFormation 템플릿 파일을 다운로드하십시오.
CloudFormation을 사용하여 리소스 구성
CloudFormation 템플릿 파일을 다운로드하십시오.
CloudFormation 템플릿은 JSON 또는 YAML 텍스트 파일로, 스택에서 생성하려는 리소스에 대한 구성 정보가 들어 있습니다. 또한 이 템플릿은 RDS 인스턴스와 함께 VPC와 Bastion Host를 생성합니다.
템플릿 파일을 다운로드하려면 다음 링크인 SQL Server CloudFormation 템플릿
Github 페이지에서 원시 파일 다운로드 버튼을 클릭하여 템플릿 YAML 파일을 저장합니다.
CloudFormation을 사용하여 리소스 구성
참고
이 프로세스를 시작하기 전에 AWS 계정에 EC2 인스턴스용 키 페어가 있는지 확인합니다. 자세한 내용은 Amazon EC2 키 페어 및 Linux 인스턴스를 참조하세요.
AWS CloudFormation 템플릿을 사용할 때는 리소스가 제대로 생성되도록 올바른 파라미터를 선택해야 합니다. 다음 단계를 따릅니다.
AWS Management Console에 로그인하여 https://console.aws.amazon.com/cloudformation
에서 AWS CloudFormation 콘솔을 엽니다. 스택 생성을 선택합니다.
템플릿 지정 섹션에서 컴퓨터에서 템플릿 파일 업로드를 선택하고 다음을 선택합니다.
스택 세부 정보 지정 페이지에서 다음 파라미터를 설정합니다.
스택 이름을 SQLServerTestStack으로 설정합니다.
파라미터에서 가용 영역 3개를 선택하여 가용 영역을 설정합니다.
Linux Bastion Host 구성에서 키 이름에 대해 EC2 인스턴스에 로그인할 키 페어를 선택합니다.
-
Linux Bastion Host 구성 설정에서 허용된 IP 범위를 IP 주소로 설정합니다. Secure Shell(SSH)을 사용하여 VPC의 EC2 인스턴스에 연결하려면 https://checkip.amazonaws.com
의 서비스를 사용하여 퍼블릭 IP 주소를 지정합니다. IP 주소의 예는 192.0.2.1/32입니다. 주의
SSH 액세스에
0.0.0.0/0
을 사용하는 경우 모든 IP 주소가 SSH를 사용하여 퍼블릭 EC2 인스턴스에 액세스할 수 있도록 활성화합니다. 이 방법은 테스트 환경에서 잠시 사용하는 것은 괜찮지만 프로덕션 환경에서는 안전하지 않습니다. 프로덕션에서는 SSH를 사용하여 EC2 인스턴스에 액세스할 수 있는 특정 IP 주소 또는 주소 범위만 인증합니다. 데이터베이스 일반 구성에서 데이터베이스 인스턴스 클래스를 db.t3.micro로 설정합니다.
데이터베이스 이름을
database-test1
으로 설정합니다.데이터베이스 마스터 사용자 이름에 마스터 사용자 이름을 입력합니다.
-
이 자습서에서는 Secrets Manager를 사용하여 DB 마스터 사용자 암호 관리를
false
로 설정합니다. 데이터베이스 암호의 경우 원하는 암호를 설정합니다. 자습서의 향후 단계에 사용할 수 있도록 암호를 기억해 둡니다.
데이터베이스 스토리지 구성에서 데이터베이스 스토리지 유형을 gp2로 설정합니다.
데이터베이스 모니터링 구성에서 RDS 성능 개선 도우미 활성화를 false로 설정합니다.
다른 모든 설정은 기본값으로 둡니다. 계속하려면 다음을 클릭합니다.
스택 옵션 구성 페이지에서는 모든 기본 옵션을 그대로 둡니다. 계속하려면 다음을 클릭합니다.
스택 검토 페이지에서 데이터베이스 및 Linux Bastion Host 옵션을 확인한 후 제출을 선택합니다.
스택 생성 프로세스가 완료되면 BastionStack 및 RDSNS라는 이름의 스택을 보고 데이터베이스에 연결하는 데 필요한 정보를 기록해 둡니다. 자세한 내용은 AWS Management Console에서 AWS CloudFormation 스택 데이터 및 리소스 보기를 참조하세요.
SQL Server DB 인스턴스에 연결
다음 프로시저에서는 Microsoft SQL Server Management Studio(SSMS)를 사용하여 DB 인스턴스에 연결합니다.
SSMS를 사용하여 RDS for SQL Server DB에 연결하려면
-
DB 인스턴스의 엔드포인트(DNS 이름)와 포트 번호를 찾습니다.
-
https://console.aws.amazon.com/rds/
에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다. Amazon RDS 콘솔의 오른쪽 상단에서 DB 인스턴스의 AWS 리전을 선택합니다.
-
탐색 창에서 Databases(데이터베이스)를 선택합니다.
-
세부 정보를 표시하고자 하는 SQL Server DB 인스턴스 이름을 선택합니다.
-
연결 탭에서 엔드포인트를 복사합니다. 또한 포트 번호를 적어 둡니다. DB 인스턴스에 연결하려면 엔드포인트와 포트 번호가 모두 필요합니다.
-
-
Windows 인스턴스용 Amazon EC2 사용 설명서에 있는 Microsoft Windows 인스턴스에 연결의 단계를 따라 앞에서 만든 EC2 인스턴스에 연결합니다.
-
Microsoft의 SQL Server Management Studio(SSMS) 클라이언트를 설치합니다.
SSMS의 독립 실행형 버전을 EC2 인스턴스에 다운로드하려면 Microsoft 설명서의 SSMS(SQL Server Management Studio) 다운로드
를 참조하세요. -
시작 메뉴를 사용하여 Internet Explorer를 엽니다.
-
Internet Explorer를 사용하여 독립 실행형 버전의 SSMS를 다운로드하고 설치합니다. 사이트를 신뢰할 수 없다는 메시지가 표시되면 신뢰할 수 있는 사이트 목록에 해당 사이트를 추가하세요.
-
-
SQL Server Management Studio(SSMS)를 시작합니다.
Connect to Server 대화 상자가 나타납니다.
-
샘플 DB 인스턴스에 대한 다음 정보를 제공합니다.
-
[Server type]에서 [Database Engine]을 선택합니다.
-
서버 이름에서 DNS 이름, 쉼표 및 포트 번호(기본 포트 1433)를 차례대로 입력합니다. 예를 들어 서버 이름은 다음과 같은 형식이어야 합니다.
database-test1.
0123456789012
.us-west-2
.rds.amazonaws.com,1433 -
인증(Authentication)]의 경우 SQL Server 인증(SQL Server Authentication)을 선택합니다.
-
로그인에서 샘플 DB 인스턴스에 사용하려고 선택한 사용자 이름을 입력합니다. 마스터 사용자 이름으로도 알려져 있습니다.
-
암호에 샘플 DB 인스턴스에 대해 이전에 선택한 암호를 입력합니다. 마스터 사용자 암호로도 알려져 있습니다.
-
-
[Connect]를 선택합니다.
몇 분 정도 지나면 SSMS가 DB 인스턴스에 연결됩니다. 보안을 위해서는 암호화된 연결을 사용하는 것이 가장 좋습니다. 클라이언트와 서버가 동일한 VPC에 있고 네트워크를 신뢰할 수 있는 경우에만 암호화되지 않은 SQL Server 연결을 사용합니다. 암호화된 연결 사용에 대한 자세한 내용은 Microsoft SQL Server DB 인스턴스와 함께 SSL 사용 섹션을 참조하세요.
Microsoft SQL Server DB 인스턴스에 연결하는 방법에 대한 자세한 내용은 Microsoft SQL Server 데이터베이스 엔진을 실행하는 DB 인스턴스에 연결 섹션을 참조하세요.
연결에 대한 내용은 Amazon RDS DB 인스턴스에 연결할 수 없음 섹션을 참조하세요.
샘플 SQL Server DB 인스턴스 탐색
Microsoft SQL Server Management Studio(SSMS)를 사용하여 샘플 DB 인스턴스를 탐색할 수 있습니다.
SSMS를 사용하여 DB 인스턴스를 탐색하려면
-
SQL 서버 DB 인스턴스는 SQL 서버의 표준 기본 제공 시스템 데이터베이스(마스터, 모델, msdb 및 tempdb)와 함께 제공됩니다. 시스템 데이터베이스를 탐색하려면 다음을 수행하십시오.
-
SSMS의 [View] 메뉴에서 [Object Explorer]를 선택합니다.
-
DB 인스턴스와 데이터베이스를 확장하고, 다음과 같이 시스템 데이터베이스를 확장합니다.
SQL Server DB 인스턴스는
rdsadmin
이라는 이름의 데이터베이스와 함께 제공됩니다. Amazon RDS는 이 데이터베이스를 사용하여 데이터베이스를 관리하는 데 사용하는 객체를 저장합니다.rdsadmin
데이터베이스에도 고급 작업 수행을 위해 실행할 수 있는 저장 절차가 포함됩니다. -
-
자체 데이터베이스 생성을 시작하고 평소대로 DB 인스턴스와 데이터베이스에 대한 쿼리 실행을 시작합니다. 샘플 DB 인스턴스에 대한 테스트 쿼리를 실행하려면 다음을 수행합니다.
-
SSMS의 File(파일) 메뉴에서 New(새로 만들기)를 가리킨 후 Query with Current Connection(현재 연결로 쿼리)을 선택합니다.
-
다음 SQL 쿼리를 입력합니다.
select @@VERSION
-
쿼리를 실행합니다. SSMS가 Amazon RDS DB 인스턴스의 SQL Server 버전을 반환합니다.
-
EC2 인스턴스 및 DB 인스턴스 삭제
생성한 샘플 EC2 인스턴스 및 DB 인스턴스에 연결하고 탐색한 후에는 요금이 더 이상 부과되지 않도록 삭제합니다.
AWS CloudFormation을 사용하여 리소스를 생성했다면 이 단계를 건너뛰고 다음 단계로 이동합니다.
EC2 인스턴스를 삭제하는 방법
AWS Management Console에 로그인하고 https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
탐색 창에서 Instances(인스턴스)를 선택합니다.
-
EC2 인스턴스를 선택하고 인스턴스 상태, 인스턴스 종료를 차례로 선택합니다.
-
확인 메시지가 나타나면 종료를 선택합니다.
EC2 인스턴스 삭제에 대한 자세한 내용은 Windows 인스턴스용 Amazon EC2 사용 설명서의 인스턴스 종료를 참조하세요.
최종 DB 스냅샷이 없는 DB 인스턴스를 삭제하는 방법
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/
에서 Amazon RDS 콘솔을 엽니다. -
탐색 창에서 데이터베이스를 선택합니다.
-
삭제할 DB 인스턴스를 선택합니다.
-
[ Actions]에 대해 [Delete]를 선택합니다.
-
최종 스냅샷을 생성하시겠습니까? 및 자동 백업 보존을 선택 해제합니다.
-
확인을 완료하고 삭제를 선택합니다.
(선택 사항) CloudFormation으로 생성한 EC2 인스턴스 및 DB 인스턴스 삭제
AWS CloudFormation을 사용하여 리소스를 생성한 경우 샘플 EC2 인스턴스 및 DB 인스턴스에 연결하고 탐색한 후 CloudFormation 스택을 삭제하여 더 이상 비용이 청구되지 않도록 합니다.
CloudFormation 리소스를 삭제하려면
AWS CloudFormation 콘솔을 엽니다.
-
CloudFormation 콘솔의 스택 페이지에서 루트 스택(VPCStack, BastionStack 또는 RDSNS라는 이름이 없는 스택)을 선택합니다.
-
Delete(삭제)를 선택합니다.
-
확인 메시지가 나타나면 스택 삭제를 선택합니다.
CloudFormation에서 스택을 삭제하는 방법에 대한 자세한 내용은 AWS CloudFormation 사용 설명서의 AWS CloudFormation 콘솔에서 스택 삭제를 참조하세요.
(선택 사항) DB 인스턴스를 Lambda 함수에 연결
RDS for SQL Server DB 인스턴스를 Lambda 서버리스 컴퓨팅 리소스에 연결할 수도 있습니다. Lambda 함수를 사용하면 인프라를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있습니다. 또한 하루 12개에서 초당 수백 개에 이르는 모든 규모의 코드 실행 요청에 자동으로 응답할 수 있습니다. 자세한 내용은 Lambda 함수와 DB 인스턴스 자동 연결 단원을 참조하십시오.