데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

Azure SQL에서 네트워크를 구성하는 방법

 

·         Version : Azure SQL

 

Azure SQL Managed Instance Azure 클라우드에서 호스팅되고 Azure 가상 네트워크를 사용하는 완전히 관리되는 SQL Server 인스턴스이다. Managed Instance 가상 네트워크를 사용하기 때문에  Azure 관리 서비스에서 사용자가 네트워크 액세스 규칙을 정의할  있다잘못된 네트워크 구성은  Managed Instance  배포할때  오류가 발생하므로 아래 순서에 따라서 네트워크 환경을 구성하여 사용한다일반적으로 인스턴스용 가상 네트워크를 구성할  기본 5가지 단계로 정리할  있다.

1.       Managed Instance 사용할 가상 네트워크를 구성

2.       Managed Instance Azure 관리 서비스와 통신할  있도록Route 테이블 생성

3.       가상 네트워크 생성시 생성된 기본 서브넷을 사용하거나Managed Instance 전용 서브넷을생성

4.       서브넷에 Route 테이블 할당

5.       4단계 까지 올바르게 구성되었는지 확인

 

[1. 가성 네트워크 구성]

Managed Instance 사설 IP주소가 할당된 Azure Virtual network 사용한다가상 네트워크는 Managed Instance 만들기 전에 생성해야 한다가상 네트워크는 Azure Portal, PowerShell, Azure CLI등을 이용하여 생성할  있다. Azure Portal 사용하여 가상 네트워크를 생성할때 Resource Manager 배포 모델을 사용해야 한다클래식 가상 네트워크 모델은 지원되지 않는다가상 네트워크를 생성할  Virtual Network Blade  Service Endpoint 옵션이 Disable 설정되어 생성 되는데 는기본 옵션이므로 변경하지 않는 것을 권장한다.

 

Managed Instance 서브넷은 16 ~ 256개의 주소를 사용할  있다따라서 기본 서브넷의IP범위를 정의할  서브넷 마스크 /28 - /24 범위를 사용한다많은 인스턴스가 있을 경우 기본 서브넷에 (인스턴스  X 2) + 5개의 주소가 있는지 확인한다.

 

[2. Route 테이블 생성]

가성 네트워크 생성이 완료 되었으면 Managed Instance Azure 관리 서비스와 통신할  있도록 Route 테이블을 구성해야한다. Route 테이블은 Managed Instance 배포된 서브넷에 연결되며 서브넷을 통해서 나가는  패킷은 연결된 Route 테이블 기반으로 처리된다서브넷은 단일 Route 테이블에만 연결할  있다. (Azure에서 Route 테이블을 만드는데는 비용이 부과 되지 않는다.)

Azure Portal에서 ‘Route table’이라는  리소스를 추가하고 Route 규칙에 “0.0.0.0/0 Next Hop Internet” 경로를 추가한다 경로를 사용하면 가상 네트워크에 있는 Managed Instance 인스턴스를 관리하는 Azure 관리 서비스와 통신할  있다이렇게 하지 않으면 Managed Instance 배포   없다.

 

[3. 추가 서브넷 생성(선택사항)]

Managed Instance 서브넷에 배포되므로 Managed Instance 배포하기 전에 서브넷을 생성해야 한다기본 서브넷에 인스턴스를 배포하고 기본 경로를 사용하는경우  단계를 건너   있다서브넷은 Managed Instance 전용이며 다른 리소스를 포함할  없다서브넷에는 최소한 16개의 주소가 있어야 하고 5개의 주소는 Azure 내부 서비스용으로 예약되어 있다서브넷에 포함되는  모든 Managed Instance 에는 인스턴스당 2개의 주소가 필요하다서브넷에 Managed Instance 배치하면 서브넷의 크기를 변경할  없으므로 주의한다.

 

[4.서브넷 구성]

서브넷(기본값 또는 신규)에는 “0.0.0.0/0 Next Hop Internet” 정보를 포함한 User Route Table(UDR) 있어야 한다. “0.0.0.0/0 Next Hop Internet” Route 테이블을 생성하면 Managed Instance 서브넷에 할당   있다. Azure Portal에서 서브넷을 정보를 확인할  있으며 아래 항목을 확인한다.

1.       서브넷에 할당된 Managed Instance Route 테이블 있다.

2.       서브넷에는 네트워크 보안그룹이 없어야 한다.

3.       서브넷에는 서비스 엔드 포인트가 없어야 한다.

4.       서브넷에는 다른 리소스가 없다.

 

[5. 체크리스트]

4단계 까지 구성이 완료 되었으면 Managed Instance 배포할때 문제가 발생하지 않도록 아래 체크리스트 항목을 확인한다.

1.       가상 네트워크에서 서비스 끝점을 사용하지 않도록 설정한다.

2.       서브넷에는 16 ~256개의 IP 주소가 있어야 한다. (Masks from /28~ /24)

3.       Managed Instance 서브넷에는 다른 리소스가 없어야 한다.

4.       서브넷에는 0.0.0.0/0 Next Hop Internet 경로가 있어야 한다.

5.       서브넷에는 보안 그룹이 없어야 한다.

6.       서브넷에는 서비스 끝점이 없어야 한다.

 

모든 구성이 완료 되었어면 Azure Portal 사용하여  새로운 Managed Instance 만들고 사용자가 만든 가상 네트워크  서브넷을 할당   있다.

 

[참고자료]

https://blogs.msdn.microsoft.com/sqlserverstorageengine/2018/03/14/how-to-configure-network-for-azure-sql-managed-instance/

 

 

2018-06-14 / Sungwook Kang / http://sqlmvp.kr

 

SQL Server, Azure SQL, Azure Managed Instance, Azure network, Azure route table, Azure Virtual Network



출처: https://sqlmvp.tistory.com/1254?category=618825 [Database Lab]
No. Subject Author Date Views
2151 SQL Server 2019 에서 문자열 잘림에 대한 향상된 에러 메시지 반환 jevida(강성욱) 2019.03.26 439
2150 SQL Server 2019 에서 업그레이드된sp_estimate_data_compression_savings 프로시저 (컬럼스토어 압축율 예상) jevida(강성욱) 2019.03.26 537
2149 SQL Server 2019 에서 추가된sys.dm_db_page_info, sys.fn_PageResCracker 기능으로 대기 관련 정보 확인 jevida(강성욱) 2019.03.26 806
2148 SQL Server 2019에서 향상된 Rowstore batch mode jevida(강성욱) 2019.03.26 426
2147 SQL Server 2016부터 도입된 USE HINT를 사용한 추적 플래그 활성화 jevida(강성욱) 2019.03.26 445
2146 In-memory optimized table에 사용되는 Hash Index jevida(강성욱) 2019.03.26 391
2145 VM환경에서 AG를 구성하였을때VSS 백업 동작 변경 jevida(강성욱) 2019.03.25 396
2144 SQL Server 2016 향상된 가용성 그룹 – 데이터베이스 수준의 상태 탐지 장애조치 jevida(강성욱) 2019.03.25 424
2143 SQL Server 2016 대용량 데이터 로드시 최소 로깅(minimal logging) 과Batch Size jevida(강성욱) 2019.03.25 314
2142 SQL Server 설치시 발생하는 1638 오류 jevida(강성욱) 2019.03.25 414
2141 SQL Server 666코드의 고유 식별자 오류 jevida(강성욱) 2019.03.25 294
2140 SQL Server AlwaysOn synchronous-commit 환경에서 동기화 레이턴시 트러블슈팅 jevida(강성욱) 2019.03.25 351
2139 SQL Server Scheduling and Yielding 트러블슈팅 jevida(강성욱) 2019.03.25 359
2138 SQL Server 2016 Tempdb 경합(contention) 최적화 jevida(강성욱) 2019.03.25 448
2137 XEvent를 사용하여 Auto tuning 작업 모니터링 jevida(강성욱) 2019.03.25 458
2136 SQL Server In-Memory OLTP에 ASP.NET 세션 상태 저장하기 jevida(강성욱) 2019.03.25 354
2135 SQL Server에서 JSON 데이터 저장하기 jevida(강성욱) 2019.03.25 427
» Azure SQL에서 네트워크를 구성하는 방법 jevida(강성욱) 2019.03.25 231
2133 SQL Server 네이티브 컴파일된 저장 프로시저 성능 모니터링 jevida(강성욱) 2019.03.25 452
2132 SQL Server 2017 소규모 시스템에서 향상된 리소스 사용 jevida(강성욱) 2019.03.25 260





XE Login