콘텐츠로 이동

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


특징

  1. Aurora는 멀티 AZ를 지원하지 않음. 위와 같은 구조를 가지고 있기 때문. (스토리지의 멀티 AZ는 있으나 인스턴스의 AZ는 Replica를 하나 더 추가하여 대체하는 구조)
  2. 인스턴스가 데이터를 가지고 있지 않음. 그러므로 인스턴스의 추가, 삭제가 매우 빠름


사용자 지정 엔드포인트

  • 사용자 지정 엔드포인트를 설정하지 않았을 경우
        --------      --------           -------  ----
        |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 작업을 다른 워크로드에 영향을 주지 않고 처리할 수 있게됨