AWS에서 가용 영역을 통한 액세스가 상상 이상으로 느린 이야기

일의 발단



당사 서비스'당신의 마이스터'는 AWS를 활용하여 다음과 같은 아키텍처에서 운영하고 있습니다.



그러나 속도가 CVR에 직접 연결되는 시스템에서
아무래도 「가끔-응답이 늦을 때가 있지만 서버의 부하라든지는 특별히 오르지 않는다」라고 하는 이상한 증상이 발생하게 되었습니다.
  • 특정 URL에 대한 컨트롤러 처리 시간 (ms)


  • 서버 A (ap-northeast-1c)
    서버 B (ap-northeast-1a)


    185
    295


    114
    305


    112
    297


    257
    311


    125
    303


    198
    296


    114
    305


    119
    291


    147
    325


    210
    372


    149
    298


    176
    305


    130
    369


    143
    319


    129
    437


    평균
    평균


    153.87
    321.87


    음... 잘못하면 처리 시간이 두 배 정도 다르다...

    여러가지 조사해 보면 가용성-존(AZ)이 문제다운



    EC2 인스턴스는 모두 m4.large이므로 시스템 사양은 동일합니다.
    또한, 감시 그래프를 보아도 특정 인스턴스에 부하가 걸리고 있다.
    여러가지 조사해 보면, 아무래도
    "가용 영역 (AZ)을 가로 지르는 통신은 상당히 비용이 듭니다!"
    라는 기사를 찾았습니다. (AZ 간의 대기 시간 정보)



    귀하의 마이스터 시스템에서 ELB에서 부하 분산 된 EC2의 한쪽 만 ap-northeast-1a, 다른 EC2, RDS, Elasticsearch 및 Redis가 모두 ap-northeast-1c로 구성된 Multi-AZ 구성되어 있습니다.
    만약 이것이 원인인가? 라고 생각했는데, 조금 기사가 오래된 ...
    게다가 AWS 사람에게 상담했을 때는 Multi-AZ로 문제 없다고 말해 추천되었고...

    한층 더 조사해 보면 「복수 AZ간의 지연은 1, 2밀리초이기 때문에, (어플리케이션은) 2개의 AZ에 대해서 동시에 커밋이 가능하다.」AWS 데이터 센터의 내용을 설계 총책임자가 말했다 (2/2) 라고 쓰고 있다.

    음 ... 어느 것이 사실인지 잘 모르겠습니다 ...

    실제로 Multi-AZ에서 Single-AZ로 변경해 보았습니다.



    반신반의대로 AMI 사본을 만들고 ap-northeast-1c에 인스턴스를 세우고 ELB 대상에 등록하고 ap-northeast-1a의 인스턴스를 분리해 보았습니다.


    서버 A (ap-northeast-1c)
    서버 B (ap-northeast-1a)
    서버 C (ap-northeast-1c)


    185
    295
    116


    114
    305
    154


    112
    297
    201


    257
    311
    187


    125
    303
    165


    198
    296
    132


    114
    305
    266


    119
    291
    198


    147
    325
    142


    210
    372
    137


    149
    298
    184


    176
    305
    176


    130
    369
    166


    143
    319
    113


    129
    437
    154


    평균
    평균
    평균


    153.87
    321.87
    166.10


    갖추었다! ! ! 굉장히 지연을 하는 얀! ! ! 몇 ms라는 이야기는 어디 갔다! ! !

    요약


  • AZ 간의 통신은 상상 이상으로 느립니다.
  • 속도에 중점을 둔 서비스로 인프라 장애를 허용하는 경우 Single-AZ 환경에서의 작동을 권장합니다
  • 좋은 웹페이지 즐겨찾기