Azure SQL 데이터베이스를 무료로 얻는 방법
Microsoft Azure는 개발자와 IT 전문가를 위한 강력한 생태계를 제공하며, 그중에서도 가장 뛰어난 기회 중 하나는 무료 Azure SQL 데이터베이스입니다. 팀 코리는 " Azure SQL Database를 무료로 얻는 방법 "이라는 제목의 영상에서 Azure를 사용하여 클라우드 기반 SQL Server를 설정, 관리 및 연결하는 방법을 명확하게 설명하며, 이 모든 과정을 무료로 이용할 수 있음을 보여줍니다.
이 글에서는 팀의 튜토리얼을 각 부분별로 자세히 살펴보고, 그의 지침을 따라 모든 단계를 진행해 보겠습니다.
서론 및 배경
팀은 Azure 서비스에는 많은 무료 서비스가 포함되어 있지만 사람들이 이러한 서비스를 최대한 활용하는 방법을 모르는 경우가 많다는 점을 지적하며 이야기를 시작합니다. 이번 세션에서는 Azure 구독을 통해 평생 무료로 이용할 수 있는 SQL 데이터베이스 무료 제공 혜택을 받는 방법과 이를 올바르게 사용하는 방법에 대해 알아보겠습니다.
그는 이 과정이 소프트웨어 엔지니어, 학생 또는 취미로 Azure를 탐색하는 사람들에게 이상적이며, Visual Studio와 Blazor 웹 앱을 사용하여 데이터베이스 생성부터 프런트엔드 연결까지 모든 것을 단계별로 설명할 것이라고 말합니다.
무료 SQL 데이터베이스 설정하기
Tim은 Azure 포털로 이동하여 "리소스 만들기"를 클릭하고 "SQL 데이터베이스"를 선택합니다. SQL 데이터베이스 만들기 페이지에는 Azure SQL을 무료로 사용해 볼 수 있는 옵션이 있습니다. 이렇게 하면 다음과 같은 무료 티어 제한이 있는 서버리스 데이터베이스가 생성됩니다.
100,000 vCore 초
32GB 데이터
32GB 백업 저장 공간
- Azure 구독당 하나의 SQL 데이터베이스
팀은 이 서비스가 학습, 실험 및 개발/테스트 시나리오를 위해 설계되었으며, 고부하 운영 환경을 위한 것이 아님을 강조합니다.
프로젝트 세부 정보 및 데이터베이스 이름 구성
Tim은 자신의 리소스 그룹에 "free SQL"이라는 이름을 붙였습니다. 이는 Azure에서 관련 리소스를 효율적으로 그룹화하는 방법입니다. 각 리소스 그룹 이름은 컨테이너 역할을 하므로 테스트 후 정리가 더 쉽습니다. 데이터베이스 이름은 "demo DB"이고, 기존 데이터베이스가 없으므로 Tim은 "새 서버 생성"을 클릭합니다.
그는 서버 이름을 "timcoreydemo"로 설정하고, 지역을 선택한 후 설정을 계속 진행합니다.
인증 방법 선택
인증 방법을 묻는 질문에 Tim은 SQL 인증을 선택하고, 사용자 이름 "Tim"과 안전한 비밀번호를 사용하여 서버 관리자 로그인 계정을 생성합니다. 그는 마이크로소프트 엔트라 인증(이전의 액티브 디렉터리)을 실제 운영 환경에 사용할 수 있지만, SQL 인증이 데모 목적이나 연결 문자열 설정에는 더 간단하다고 설명합니다.
비용 요약 및 자동 일시 정지 기능 검토
팀은 비용 요약 카드를 집중적으로 살펴보며 SQL 데이터베이스 비용이 0달러임을 확인합니다. 그는 자동 일시 중지 메커니즘에 대해 설명합니다. 할당된 무료 사용량(10만 vCore 초 또는 32GB 백업 스토리지)을 초과하면 초과 사용량 발생을 방지하기 위해 서비스가 자동으로 종료된다는 것입니다. 다음 달에 사용량 제한이 초기화되므로, 제한 범위 내에서만 사용하면 사실상 영구적으로 무료 로 사용할 수 있는 Azure SQL 데이터베이스와 같습니다.
생성 버튼을 통해 배포 완료
팀은 네트워킹 탭, 추가 설정 및 Microsoft Defender 통합과 같은 선택적 설정을 건너뜁니다. 그는 "검토 + 생성"을 클릭하고 프로비저닝 프로세스를 시작합니다. 이 과정은 몇 분 정도 소요되며, 이 시간 동안 데이터베이스가 생성되고 리소스 그룹 및 서버에 연결됩니다.
서버와 데이터베이스의 차이점 이해하기
배포 후 Tim은 SQL Server(하나 이상의 데이터베이스를 호스팅하는 서버)와 SQL 데이터베이스 자체(실제 데이터가 저장되는 곳)의 차이점을 강조합니다. 이 구성에서는 서버 자체에는 별도의 비용이 발생하지 않지만, 데이터베이스에는 비용이 발생합니다. 단, 무료 등급에 해당하는 데이터베이스는 예외입니다.
그는 데이터베이스에 더 빠르게 접근할 수 있도록 데이터베이스를 대시보드에 고정합니다.
방화벽 규칙 구성
Tim은 방화벽 규칙을 수정하여 Azure SQL 데이터베이스에 대한 액세스를 설정하는 방법을 보여줍니다. 그는 서버 설정에서 공용 엔드포인트 액세스를 허용하고 현재 클라이언트 IP 주소를 추가합니다. 이를 통해 그는 자신의 로컬 컴퓨터에서 연결할 수 있습니다.
실제 운영 환경에서는 공용 액세스를 피하고 내부 네트워크 보안을 사용하여 Azure 서비스가 직접 연결되도록 허용하는 것이 좋습니다.
쿼리 편집기 살펴보기
쿼리 편집기 안에서 팀은 SQL 인증 자격 증명으로 로그인하여 데이터베이스가 여전히 비어 있음을 확인합니다. 아직 테이블이나 프로시저가 존재하지 않습니다. 개발을 위한 백지 상태입니다.
로컬에서 SQL 데이터베이스 구축하기
Tim은 Visual Studio로 전환하고 SQL Server Data Tools(SSDT)를 사용하여 로컬 데이터베이스 스키마를 생성합니다. 그는 필요한 도구, 특히 Visual Studio Installer를 통해 "데이터 저장 및 처리" 워크로드를 설치합니다.
그는 SQL Server 데이터베이스 템플릿을 사용하여 "Demo DB"라는 이름으로 새 프로젝트를 시작하고, 이를 "Free Azure Demo"라는 제목의 더 큰 솔루션에 연결합니다.
Person 테이블 및 저장 프로시저 설계
Tim은 ID(Identity로 표시되고 기본 키임), FirstName, LastName의 세 필드를 포함하는 Person이라는 테이블을 추가합니다. FirstName과 LastName 필드는 모두 nvarchar 형식으로 표시되고 필수 필드입니다.
그는 이어서 Person 테이블의 모든 행을 검색하는 저장 프로시저 spPerson_GetAll을 생성합니다. 그는 또한 리팩토링 도구를 사용하여 SELECT *를 명시적으로 이름이 지정된 열로 대체함으로써 쿼리 성능과 안정성을 향상시킵니다.
스키마를 LocalDB에 게시하기
Tim은 로컬 SQL Server 인스턴스처럼 작동하는 LocalDB에 스키마를 게시하려고 시도합니다. 그는 처음에 대상 SQL 버전 불일치로 인한 오류를 발견했습니다. LocalDB는 SQL Server 2019를 에뮬레이션하지만 프로젝트는 SQL Server 2022를 대상으로 하기 때문입니다.
그는 프로젝트 속성에서 대상을 Azure SQL Database로 변경하고 다시 게시함으로써 이 문제를 해결합니다. 성공!
샘플 데이터 추가 및 쿼리 실행
Tim은 Visual Studio의 개체 탐색기를 통해 "Tim"과 "Sue"와 같은 테스트 데이터를 로컬 데이터베이스에 수동으로 삽입합니다. 이렇게 하면 Person 테이블이 채워져 나중에 프런트엔드에 데이터가 제공됩니다.
Blazor 앱을 만들어 연결하기
Tim은 "DatabaseDemoApp"이라는 이름의 Blazor Server 앱을 만들어서 자신의 솔루션에 추가합니다. 그는 필요한 NuGet 패키지인 Microsoft.Data와 Dapper를 포함시키고 SQLDataAccess라는 사용자 지정 클래스를 추가합니다.
데이터 액세스 계층 작성
Tim은 SQLDataAccess 클래스에 LoadData라는 제네릭 메서드를 작성했습니다.<T, U> Dapper를 사용하여 저장 프로시저를 이용해 SQL 쿼리를 실행하는 방법. 그는 구성 파일에서 연결 문자열을 읽고 using 문을 사용하여 연결이 제대로 해제되도록 합니다.
웹 페이지에 SQL 데이터 표시하기
팀은 데이터베이스에 있는 사람들의 목록을 표시하도록 날씨 페이지를 업데이트합니다. 그는 해당 속성을 가진 PersonModel을 생성하고 이를 Razor 테이블에 바인딩합니다. 이 페이지는 LoadData 메서드를 사용하여 SQL Server(초기에는 LocalDB)에서 실시간 데이터를 가져옵니다.
Azure SQL Database에 연결 중
다음으로 Tim은 Azure 포털에서 Azure SQL 연결 문자열을 복사합니다. 그는 Visual Studio를 통해 클라우드에 스키마를 게시하는 과정을 설명하는데, LocalDB가 아닌 Azure SQL 데이터베이스를 대상으로 합니다.
쿼리 편집기에서 그는 "Tim Corey"와 "Scooby Doo"라는 새 레코드를 Azure SQL 데이터베이스에 직접 삽입합니다.
안전한 구성을 위한 사용자 비밀 키 사용
민감한 자격 증명을 하드코딩하는 것을 방지하기 위해 Tim은 사용자 비밀 키를 사용하여 연결 문자열을 안전하게 저장합니다. 그는 해당 문자열을 secrets.json에 붙여넣고 appsettings.json에서 삭제하여 비밀 정보를 소스 코드 관리 시스템에서 제외합니다. 이는 전문 개발자들이 권장하는 모범 사례입니다.
클라우드에서 데이터 검색 검증
Tim이 앱을 다시 실행하자, 로컬 레코드를 불러오는 대신 Azure SQL 데이터베이스의 항목인 Tim Corey와 Scooby Doo가 표시됩니다. 이는 Azure SQL 데이터베이스가 제대로 구성되면 로컬 데이터베이스와 똑같이 작동한다는 것을 증명합니다.
정리를 위해 리소스 그룹을 삭제합니다.
팀은 잔류 자원과 우발적인 요금 발생을 방지하기 위해 청소의 중요성을 강조합니다. 그는 리소스 그룹 이름으로 이동하여 프로젝트 세부 정보를 확인한 후 데이터베이스, 서버 및 관련 서비스를 포함한 전체 그룹을 삭제합니다.
최종 요약 및 무료 도구 활용 방법
Tim은 시청자들에게 Azure SQL Database 무료 제공과 같은 무료 Azure 도구를 살펴보라고 권장하며 마무리합니다. 학습이든 테스트든, 이 무료 데이터베이스는 다음과 같은 기능을 통해 실험하고 성장할 수 있는 안전한 공간을 제공합니다.
32GB 백업 저장 공간
무료 vCore 초
Visual Studio 및 Blazor 앱과의 통합
- 실제 Azure 서비스와의 호환성
그는 시청자들에게 비용 없이 SQL 데이터베이스를 생성할 수 있는 이 기회가 Azure, SQL 또는 클라우드 소프트웨어 엔지니어링에 뛰어드는 모든 사람에게 매우 귀중하다는 점을 상기시킵니다.
결론
팀 코리의 무료 Azure SQL 데이터베이스 설정 가이드는 단순한 튜토리얼을 넘어 클라우드 기반 리소스를 효과적이고 경제적으로 사용하는 방법에 대한 실용적인 마스터클래스입니다. SQL 데이터베이스 무료 제공부터 실제 Azure SQL 인스턴스에 연결된 완전한 Blazor 앱 배포에 이르기까지, 그는 기술 튜토리얼에서 보기 드문 명확성과 깊이로 프로세스를 분석합니다.
완벽한 경험을 위해서는 팀 코리의 영상을 시청하세요. 그의 채널은 개발자들에게 보물과도 같은 곳으로, SQL Server, C#, Azure 서비스 등과 같은 주제에 대한 포괄적인 강의를 제공합니다.

