7. RDS 3강.
학습내용 - 클라우드별 RDS
학습목표
- 주요 클라우드에서 제공되는 관계형 데이터베이스 관리시스템을 구분할 수 있다.
1. 주요 클라우드
2. AWS [출처]
https://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/AWS_Simple_
Icons_AWS_Cloud.svg/512px-AWS_Simple_Icons_AWS_Cloud.svg.png
1) AWS Aurora 특징
- 완전 관리형 : 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업 등 관리 작업 - 고성능 상용 데이터베이스의 성능과 가용성에 오픈 소스 데이터베이스의 간편성과 비용
효율성 결합
- 클라우드를 위해 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스 : Aurora 데이터베이스 인스턴스 생성 후 MySQL 및 PostgreSQL 데이터베이스 마이그레이션 - 표준 MySQL 데이터베이스보다 최대 5배 빠르고 표준 PostgreSQL 데이터베이스보다 3
배 빠른 성능
- 1/10의 비용으로 상용 데이터베이스의 보안, 가용성 및 안정성 제공 - 내결함성을 갖춘 자가 복구 분산 스토리지 시스템
- 데이터베이스 인스턴스 당 최대 64TB까지 자동 확장
- 지연 시간이 짧은 읽기 전용 복제본 최대 15개, 특정 시점으로 복구, Amazon S3로 지 속적 백업, 3개의 가용 영역(AZ)에 걸친 복제를 통한 뛰어난 성능 및 가용성 제공
2) AWS RDS 특징
- 관리형 관계형 데이터베이스 서비스
- Amazon Aurora, MySQL, MariaDB, Oracle, Microsoft SQL Server 및 PostgreSQL 과 같은 6개의 데이터베이스 엔진 제공
- 관리 부담 감소
→ AWS Management Console, 명령줄 인터페이스
(CLI : Command Line Interface), API 호출 등 사용 편의성 제공
→ 최신 상태 자동 소프트웨어 패치 - 성능
→ 좋은 성능의 스토리지 옵션 제공 – EBS
→ 범용 SSD 스토리지, 프로비저닝된 IOPS(SSD) 스토리지 - 확장성
→ 간편한 스토리지 규모 조정
→ 읽기 전용 복제본 : 단일 데이터베이스 배포 용량을 한도 이상으로 확장하여 읽기 중 심의 데이터베이스 워크로드를 처리할 수 있음
- 가용성 및 내구성
→ 다중 AZ(가용 영역) 배포
→ 데이터베이스 스냅샷
→ 장애 하드웨어 발생시 자동 호스트 교체
→ 자동 백업 - 보안
→ 저장 데이터 및 전송 데이터 암호화
→ 자체 가상 네트워크에서 데이터베이스를 격리하고 IPSec VPN 사용 권장
→ IAM(Identity and Access Management)과 통합하여 리소스 수준 권한 관리 - 모니터링 및 이벤트 알림 등을 통한 관리 효율성
- 약정 예약 옵션, 중지 및 시작 옵션 등을 통한 비용 효율성
3. MS Azure SQL [출처]
https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Microsoft_logo _%282012%29.svg/512px-Microsoft_logo_%282012%29.svg.png
- Microsoft의 SQL Server 기술을 활용
- 디지털 변화를 증가 시키는 것은 방대한 양의 데이터를 관리하고 잠재력을 활용하는 능 력에 따라 좌우
- 온-프레미스, 클라우드 또는 네트워크의 에지(Edge)에 호스트되는 데이터를 사용하여 점 점 더 복잡해짐
- Azure와 온-프레미스 SQL Server 데이터베이스
→ 이 둘을 모두 사용할 수 있다는 점
→ 물리적 온-프레미스 컴퓨터, 사설 클라우드 환경, 타사 호스팅 사설 클라우드 환경 및 공용 클라우드에 걸쳐 사용할 수 있음
- Azure 클라우드에서 SQL Server 데이터베이스 엔진을 사용 하는 관리, 보안 및 인텔 리전트 제품의 패밀리
- [출처] https://azure.microsoft.com/ko-kr/product-categories/databases/
1) AZure SQL Database
- 완전히 관리되는 PaaS(Platform as a Service) 데이터베이스 엔진
→ 사용자 개입 없이 업그레이드, 패치, 백업 및 모니터링과 같은 대부분의 데이터베이 스 관리 기능을 처리
→ 호스트 되는 관계형 Dbaas(PaaS) - For Cloud Apps
→ Azure에서 응용 프로그램 및 솔루션에 대한 고가용성 및 고성능 데이터 저장소 계층 생성 가능
→ 지능적이고 관리되는 데이터베이스 상에서 최신 클라우드 애플리케이션에 적합
- 서버리스 컴퓨팅 포함
- SQL Server의 안정적인 최신 Enterprise Edition을 기반으로 하는 완전히 관리되는 SQL Server 데이터베이스 엔진
2) Azure SQL Managed Instance
- PaaS(Platform as a Service)
- 안정적인 최신 SQL Server 기능 사용 - For Migrating from SQL Server
→ 최소한의 변경으로 클라우드로 마이그레이션되는 새 응용 프로그램 또는 기존 온-프 레미스 응용 프로그램에 가장 적합
- 데이터베이스 변경을 최소화 하면서 온-프레미스에서 데이터베이스 마이그레이션을 지 원
- Azure SQL Database의 모든 PaaS 혜택을 제공 하지만, 이전에 SQL Server VM 에 서만 사용할 수 있었던 기능 추가
3) Azure VM에서 SQL server - IaaS(Infrastructure as a Service )
- 완전히 관리 되는 VM(가상 머신) 내에서 SQL Server을 실행
→ Azure에서 실행 되는 Windows Server 또는 Linux가상 컴퓨터(IaaS)에서 실행 → OS 수준 액세스를 필요로 하는 마이그레이션 및 응용 프로그램에 가장 적합
→ 데이터베이스를 변경하지 않고 온-프레미스 SQL Server 데이터베이스 및 응용 프로 그램을 마이그레이션 하는데 적합한 옵션
4) 비교
[출처] https://azure.microsoft.com/ko-kr/product-categories/databases/
[참고] 하이퍼스케일
- 대부분의 다른 데이터베이스가 단일 노드에서 사용할 수 있는 리소스로 제한되지만 하이퍼스케일 서비스 계층의 데이터베이스에는 이러한 제한이 없음
- 스토리지 아키텍처가 유연하기 때문에 필요에 따라 스토리지가 증가됨
[출처] https://docs.microsoft.com/ko-kr/azure/azure-sql/azure-sql-iaas-vs-paas- what-is-overview
4. 구글 CloudSQL
[출처] https://cloud.google.com/products/databases?hl=ko
1) CloudSQL
- MySQL, PostgreSQL, SQL Server에서 CloudSQL 사용 - 완전 관리형 데이터베이스
→ 클라우드 플랫폼 상에서 소비자의 관계형 데이터베이스를 설치, 유지, 관리, 감독하도 록 지원
→ 백업, 복제, 암호화, 패치, 용량 확장을 모두 자동화하면서 세계 어디서나 99.95% 이 상의 가용성을 보장
- 통합 환경 지원 : 모든 애플리케이션에서 CloudSQL 인스턴스에 액세스 가능 - 안정성
→ 복제 및 백업을 쉽게 구성해 데이터 보호 가능 → 자동 장애 조치를 실행한 고가용성 DB 구축 지원 → 데이터의 자동 암호화
- Cloud SQL은 관리형 서비스이므로 고급 권한이 필요한 표준SQL의 특정 시스템 프로시 저 및 테이블에 대한 액세스를 제한함
- RAM 최대 624GB와 CPU 96개가 탑재된 커스텀 머신 유형 - 스토리지 최대 30TB 사용 가능, 자동 스케일링 지원 - Google Cloud Console에서 인스턴스 생성 및 관리
- 미국, EU, 아시아, 오스트레일리아에서 사용 가능한 인스턴스
- Google의 내부 네트워크와 데이터베이스 테이블, 임시 파일, 백업에서 암호화되는 고객 데이터
- CloudSQL 프록시 또는 SSL/TLS 프로토콜을 사용한 보안 외부 연결 지원 가. MySQL용 CloudSQL 주요기능
- MySQL 5.6 또는 5.7 지원
- 비공개 IP(비공개 서비스 액세스) 지원
- MySQL 유선 프로토콜 및 표준 MySQL 커넥터 지원
- 지원 언어 : 자바, Python, PHP, Node.js, Go, Ruby로 작성된 App Engine 애플리케 이션과 함께 사용 가능
나. PostgreSQL용 CloudSQL 주요기능 여러 PostgreSQL 버전 지원
PostgreSQL 클라이언트 서버 프로토콜 및 표준 PostgreSQL 커넥터를 지원 자동 장애 조치로 여러 영역 간에 데이터 복제
PL/pgSQL SQL 절차적 언어 지원 다. SQL 서버용 CloudSQL 주요기능
- 복제 및 기타 작업을 용이하게 할 수 있도록 SQL Server 에이전트 사용 설정
- 자바, Python, PHP, Node.js, Go, Ruby로 작성된 App Engine 애플리케이션과 함께 SQL Server용 Cloud SQL을 사용할 수 있음
2) CloudSPANNER 주요기능 - 클라우드 전용으로 설계
- Strong Consistency를 갖춘 최초의 확장 가능한 엔터프라이즈급 글로벌 분산형 데이터 베이스 서비스
- 관계형 데이터베이스 구조와 비관계형 수평적 확장의 차이점을 결합 : 99.999% 가용성 보장
평가하기
1. 클라우드 제공업체별 관계형 데이터베이스 서비스가 잘못 설명된 것은?
① Amazone Aurora는 클라우드용으로 구축된 MySQL 및 PostgreSQL 호환 관계형 데 이터베이스이다.
② AWS RDS는 MySQL, SQL Server, PostgreSQL, MariaDB를 지원한다.
③ 구글의 관계형데이터베이스 서비스는 CloudSQL이다.
④ MS Azure의 SQL Server 관련 데이터베이스 서비스는 Azure SQL Database, SQL Managed Instance, VM SQL Server 등이 있다.
- 정답 : ②
해설 : AWS RDS는 Amazon Aurora, MySQL, SQL Server, PostgreSQL, MariaDB, Oracle 등 6개의 익숙한 데이터베이스 엔진을 제공합니다.
2. (O/X) AWS Aurora, CloudSQL, Azure SQL
database는 각각 AWS, Google, MS 클라우드 제공업체의 관계형 데이터베이스서비스 (RDS)들이다.
- 정답 : O
해설 : AWS는 Amazone Aurora, Amazon RDS,구글은 CloudSQL, MS는 Azure SQL database, Azure SQL Managed Instance, Azure database 등이 관계형 데이터베이스 서비스(RDS)로 제공되고 있습니다.
학습정리
1. 클라우드별 RDS - 클라우드에서의 RDS
→ 대표적 클라우드 제공업체인 아마존 AWS, Ms Azure, 구글에서 제공하고 있는 관계형 데이터베이스 서비스들의 사례를 통해 클라우드의 RDS(Relational Database Service) 개념 이해
클라우드에서의 RDS 제품
→ AWS : AWS Aurora, AWS RDS
→ MS Azure : Azure SQL Database, SQL Managed Instance, VM SQL Server, Azure database for MySQL, Azure database for PostgreSQL, Azure database for MariaDB
→ 구글 : CloudSQL
다음 주 예고
“중간고사”입니다.