Aurora 구성 및 특징
구성
-Amazon Aurora DB Cluster---------------------------------------
| |
| -AZ a------------- -AZ b------------- -AZ c------------- |
| | | | | | | |
| | ------------ | | ------------ | | ------------ | |
| | | Primay | | | | Replica | | | | Replica | | |
| | | Instance | | | | Instance | | | | Instance | | |
| | ------------ | | ------------ | | ------------ | |
| | /|\ | | | /|\ | | /|\ | |
| | Read | | | | Read | | | Read | | |
| | | |----------------|-------------------|--- | |
| | | | Write| | | | Write| | | | Write| |
| | | \|/ | | | \|/ | | | \|/ | |
| | ---------------------------------------------------- | |
| | | --- --- --- --- --- --- | | |
| | | | | | | | | | | | | | | | | |
| | | --- --- --- --- --- --- | | |
| | |Data Copies Data Copies Data Copies| | |
| | -------------------Cluster Volume------------------- | |
| | | | | | | |
| ------------------ ------------------ ------------------ |
| |
----------------------------------------------------------------
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html
특징
- Aurora는 멀티 AZ를 지원하지 않음. 위와 같은 구조를 가지고 있기 때문. (스토리지의 멀티 AZ는 있으나 인스턴스의 AZ는 Replica를 하나 더 추가하여 대체하는 구조)
- 인스턴스가 데이터를 가지고 있지 않음. 그러므로 인스턴스의 추가, 삭제가 매우 빠름
사용자 지정 엔드포인트
- 사용자 지정 엔드포인트를 설정하지 않았을 경우
-------- -------- ------- ---- |Server| |Server| |Batch| |BI| -------- -------- ------- ---- | | | | |-------------|------------ | | | ------------- | | | | | | | | | \|/ \|/ \|/ \|/ \|/ \|/ ------------------ ---------------------------- |Cluster Endpoint| |Cluster Read Only Endpoint| ------------------ ---------------------------- | | ---- ------------------------------------- | | | | | | \|/ \|/ \|/ \|/ \|/ \|/ -------- -------- -------- -------- -------- -------- |Writer| |Reader| |Reader| |Reader| |Reader| |Reader| -------- -------- -------- -------- -------- --------
배치처리나 BI의 경우 한 번 처리에 부하가 큰 경우가 많은데 이는 액세스한 인스턴스의 리소스가 부족하게 됨. 다른 워크로드에서 리소스가 부족한 엔드포인트를 액세스하게 된다면 응답이 늦을 수 있음
- 사용자 지정 엔드포인트로 설정한 경우
-------- -------- ------- ---- |Server| |Server| |Batch| |BI| -------- -------- ------- ---- | | | | | --------- | | ---------|--------- | | | --------- | | | | | | | | | \|/ \|/ \|/ \|/ \|/ \|/ ---------- ---------- ---------- ---------- |Cluster | | Custom | | Custom | | Custom | |Endpoint| |Endpoint| |Endpoint| |Endpoint| ---------- ---------- ---------- ---------- | | | | ---- ------------------- ------- ---- | | | | | | \|/ \|/ \|/ \|/ \|/ \|/ -------- -------- -------- -------- -------- -------- |Writer| |Reader| |Reader| |Reader| |Reader| |Reader| -------- -------- -------- -------- -------- --------
위와 같이 처리한다면 배치처리나 BI 작업을 다른 워크로드에 영향을 주지 않고 처리할 수 있게됨