1. Elastic Pool
1) Elastic Pool이란?
Elastic Pool은 예측할 수 없는 사용 패턴이 있는 경우, 각 개별 데이터베이스 사용자의 리소스 요구 사항을 예측하기 어려울 경우, 데이터베이스가 성능 리소스를 필요로 할 때 해당 리소스를 얻을 수 있도록 공유되는 풀에 대한 리소스 할당 메커니즘을 제공합니다. 풀 내에서 개별 데이터베이스는 집합 매개 변수 내에서 자동 크기 조정에 대한 유연성이 제공됩니다.
2) Elastic Pool의 장점
부하가 높은 상태에서 데이터베이스는 더 많은 리소스를 사용하여 수요를 충족하고 낮은 부하량에서는 데이터베이스는 적게 사용하고 부하가 없는 데이터베이스에서는 리소스를 사용하지 않습니다.
3) Elastic Pool 고려 대상
위 이미지에서 보여주는 DB1 데이터베이스는 5분 주기에서 최대 90DTU까지 도달하지만 전체 평균 사용량은 5DTU 미만입니다. 풀을 사용하면 사용하지 않는 DTU를 여러 데이터베이스에서 공유할 수 있으므로 필요한 DTU 및 전체 비용을 줄일 수 있습니다.
전체 20개 데이터베이스의 총 DTU 사용률은 위 그림에서 검은색 선으로 표시되어 있습니다. DTU 사용률이 100 DTU를 초과하지 않음을 보여 주며, 해당 기간 동안에 20개 데이터베이스가 100 eDTU를 공유할 수 있음을 보여주고 있습니다. 이러한 결과를 보면 각 데이터베이스를 단일 데이터베이스에 배치할 때와 비교하면 DTU가 1/20, 가격이 1/13으로 감소합니다.
위 예는 다음 이유로 이상적입니다.
- 최고사용률과 데이터베이스당 평균 사용률간에 큰 차이가 있습니다.
- 각 데이터베이스의 최고 사용률이 시간 내에 여러 지점에서 발생합니다.
- eDTU는 많은 데이터베이스 간에 공유됩니다.
※ 위 내용은 예입니다. 실제로 운영과는 차이가 있을 수 있습니다.
참고 사이트 : https://docs.microsoft.com/ko-kr/azure/sql-database/sql-database-elastic-pool
2. SQL Elastic Pool 생성
모든 리소스에서 추가를 클릭합니다.
Azure MarketPlace에서 데이터베이스를 클릭하고 SQL Database를 클릭합니다.
리소스 그룹을 선택하시고 데이터베이스 이름을 지정하고 서버의 새로 만들기를 클릭합니다.
서버 이름, 서버 관리자 이름, 암호, 위치를 지정하고 확인 버튼을 클릭합니다.
'SQL Elastic Pool을 사용하시겠습니까'에서 예를 선택하고 Elastic Pool에서 새로 만들기를 클릭합니다.
Elastic Pool의 이름을 지정하고 확인 버튼을 클릭합니다.
탄력적 풀 구성을 클릭하여 사양을 선택합니다.
구성 변경을 클릭하여 하드웨어의 구성(DTU 또는 vCore 중 선택)을 변경합니다.
사양을 선택하고 확인 버튼을 클릭합니다.
변경된 하드웨어 구성을 확인하고 적용 버튼을 클릭합니다.
다음: 네트워킹 > 버튼을 클릭합니다.
다음: 추가 설정 > 버튼을 클릭합니다.
연결 방법을 변경할 경우 퍼블릭 엔드포인트를 선택합니다. 프라이빗 엔드포인트는 아직 프리뷰입니다.
실제 서비스가 아닌 테스트이기 때문에 기존 데이터 사용에서 샘플을 선택할 경우 데이터 정렬을 선택할 수 없습니다. 만약에 서비스를 위해 백업된 파일을 사용하게 되면 데이터 정렬(캐릭터셋)을 해당 데이터베이스에 맞는 데이터 정렬을 선택해야 합니다.
데이터 정렬 참고 사이트 : https://docs.microsoft.com/ko-kr/sql/relational-databases/collations/collation-and-unicode-support?view=sql-server-ver15※ 데이터베이스 데이터 정렬은 데이터베이스를 만든 후에는 변경할 수 없습니다.
※ 데이터 정렬은 데이터베이스를 만든 후에는 변경할 수 없습니다.
고급 데이터 보안(30일 무료 후 유료)은 나중에로 선택하고 검토 + 만들기 버튼을 클릭합니다.
리소스 그룹을 확인하면 위 이미지와 같이 3개의 리소스가 생성된 것을 확인할 수 있습니다. latch(SQL Elastic Pool)을 클릭합니다.
단일 데이터베이스와는 달리 SQL Server, SQL 데이터베이스에 추가로 SQL Elastic Pool이 생성이 되었습니다.
위와 같이 SQL Elastic Pool이 정상적으로 설치된 것을 확인할 수 있습니다.
3. Elastic Pool 기능
1) 방화벽 및 가상 네트워크
방화벽 및 가상 네트워크를 클릭하고 클라이언트 IP 추가를 클릭하여 SQL Server로 접근할 Client IP를 추가를 하고 저장을 클릭합니다.
2) 투명한 데이터 암호화
투명한 데이터 암호화를 클릭하고 투명한 데이터 암호화 키 관리를 선택합니다.
서비스 관리형 키는 Azure에서 키를 관리하는 것이고 고객 관리형 키는 사용자가 키를 관리합니다.
3) 자동 조정
자동 조정을 클릭하고 자동 튜닝 옵션 구성을 변경하고 적용을 클릭합니다.
자동 조정은 사용자가 올린 데이터베이스를 자동으로 튜닝하여 성능을 최적화시킵니다. 자동 조정을 통해 성능의 이점을 볼 수 있지만 원치 않는 변경으로 서비스의 장애가 발생할 수도 있습니다.
4) 백업 관리
백업 관리에서는 시점 복원 설정이 가능합니다. 단일 데이터베이스에서는 5~10분 단위로 트랜 잭션 로그가 쌓여 복구가 가능합니다.
5) 장애 조치(Failover) 그룹
장애 조치 그룹을 통해 이중화를 구성하여 가용성을 높일 수 있습니다.
6) 삭제된 데이터베이스
삭제된 데이터베이스는 삭제된 데이터베이스를 가지고 복원할 수 있습니다.
4. SSMS를 통한 SQL 접속
SSMS에서 서버 이름, 계정, 패스워드를 입력하고 연결 버튼을 클릭합니다.
SQL 쿼리문을 통해 정상적으로 결과 값을 가져오는 것을 확인할 수 있습니다.
5. Elastic Pool SLA
https://azure.microsoft.com/en-us/blog/understanding-and-leveraging-azure-sql-database-sla/
Understanding and leveraging Azure SQL Database’s SLA
When data is the lifeblood of your business, you want to ensure your databases are reliable, secure, and available when called upon to perform.
azure.microsoft.com
1) SLA 99.995%
- 1년 : 26분 28초
- 1달 : 2분 19초
2) SLA 99.99%
- 1년 : 52분 26초
- 1달 : 4분 36초
'Cloud > MS Azure' 카테고리의 다른 글
[PaaS] SQL 단일 데이터베이스 (0) | 2020.02.24 |
---|---|
IIS Physical Path SMB (0) | 2020.02.18 |
Virtual Machine Scale Set(가상 머신 확장 집합) (0) | 2020.02.17 |
부하 분산 장치 (0) | 2019.11.02 |
MS Azure 가상 머신 생성 (0) | 2019.09.05 |