응용 프로그램 개발 개요 - Azure SQL 데이터베이스스 및 SQL Managed Instance
적용 대상: Azure SQL 데이터베이스
Azure SQL Managed Instance
이 문서는 Azure의 데이터베이스에 연결하기 위한 코드를 작성하면서 개발자가 알고 있어야 하는 기본적인 사항을 안내합니다. 이 문서는 Azure SQL Database와 Azure SQL Managed Instance 둘 다에 적용됩니다.
언어 및 플랫폼
다양한 프로그래밍 언어와 플랫폼을 사용하여 Azure SQL Database에 연결하고 쿼리할 수 있습니다. 데이터베이스에 연결하는 데 사용할 수 있는 샘플 애플리케이션을 찾을 수 있습니다.
cheetah, sql-cli, VS Code와 같은 오픈 소스 도구를 활용할 수 있습니다. 또한 Azure SQL Database는 Visual Studio 및 SQL Server Management Studio와 같은 Microsoft 도구로 작동합니다. Azure 포털, PowerShell 및 REST API를 사용하면 추가 생산성을 얻을 수도 있습니다.
인증
Azure SQL Database에 대한 액세스는 로그인과 방화벽으로 보호됩니다. Azure SQL 데이터베이스 및 SQL 관리형 인스턴스는 SQL 인증과 Microsoft Entra ID(이전의 Azure Active Directory)를 통한 인증 모두에 대한 사용자 및 로그인을 지원합니다. Microsoft Entra 로그인은 일반적으로 SQL Managed Instance에서 사용할 수 있으며 Azure SQL 데이터베이스에 대한 공개 미리 보기로 제공됩니다.
데이터베이스 액세스 및 로그인 관리에 대해 자세히 알아봅니다.
클라이언트 연결
클라이언트 연결 논리에서 기본 시간 제한을 30초로 재정의합니다. 기본값인 15초는 인터넷에 의존하는 연결에 비해 너무 짧습니다.
연결 풀을 사용하는 경우 프로그램에서 활발하게 사용하지 않고 다시 사용할 준비를 하지 않으면 연결을 즉시 닫아야 합니다.
인프라 또는 연결 오류로 인해 트랜잭션이 롤백 될 수 있기 때문에 장기 실행 트랜잭션은 피합니다. 가능하면 트랜잭션을 여러 개의 작은 트랜잭션으로 분할하고 일괄 처리를 사용하여 성능을 향상시킵니다.
다음 언어를 사용하여 애플리케이션을 Azure SQL 리소스에 연결할 수 있습니다.
Azure SQL 리소스에 대한 Microsoft Entra 인증을 구성할 수 있습니다. 자세한 내용은 다음 문서를 검토하세요.
- Microsoft Entra 인증 및 SqlClient를 사용하여 Azure SQL에 연결
- Microsoft Entra ID for Azure SQL 내 관리 ID 사용
- 관리 ID를 사용하여 비밀 없이 .NET App Service에서 SQL Database 연결
복원력
Azure SQL Database는 기본 인프라 또는 클라우드 엔터티 간의 통신에서 발생하는 일시적인 오류를 예상할 수 있는 클라우드 서비스입니다. Azure SQL 데이터베이스는 전이적 인프라 장애에 대해 복원력이 있지만, 이러한 장애는 연결에 영향을 줄 수 있습니다. SQL 데이터베이스에 연결하는 동안 일시적인 오류가 발생하면 코드에서 호출을 다시 시도해야 합니다. 재시도 로직은 여러 클라이언트가 동시에 재시도하여 서비스에 과부하가 걸리지 않도록 백오프 로직을 사용하는 것이 좋습니다. 재시도 논리는 SQL Database 클라이언트 프로그램의 오류 메시지에 따라 달라집니다.
Azure SQL 데이터베이스에서 계획된 유지 관리 이벤트에 대비하는 방법에 대한 자세한 내용은 Azure SQL 데이터베이스에서 Azure 유지 관리 이벤트 계획을 참조하세요.
네트워크 고려 사항
- 클라이언트 프로그램을 호스트하는 컴퓨터에서 방화벽이 포트 1433에서 나가는 TCP 통신을 허용하는지 확인합니다. 추가 정보: Azure SQL Database 방화벽을 구성합니다.
- Azure VM(가상 컴퓨터)에서 클라이언트가 실행되는 동안 클라이언트 프로그램이 SQL Database에 연결하는 경우에는, VM의 특정 포트 범위를 열어야 합니다. 추가 정보: ADO.NET 4.5 및 SQL Database에 대한 1433 이외의 포트
- Azure SQL 데이터베이스에 대한 클라이언트 연결은 때때로 프록시를 우회하여 데이터베이스와 직접 상호 작용합니다. 1433 이외의 포트는 중요합니다. 자세한 내용은 Azure SQL Database 연결 아키텍처 및 1433을 초과하는 포트(ADO.NET 4.5 및 SQL Database용 포트입니다.
- SQL Managed Instance 인스턴스에 대한 네트워킹 구성은 SQL Managed Instance에 대한 네트워크 구성을 참조하세요.
다음 단계
SQL Database 및 SQL Managed Instance의 모든 기능을 탐색합니다.
시작하려면 Azure SQL 데이터베이스 및 Azure SQL Managed Instances에 대한 가이드를 참조하세요.