AWS IT 설계시 고려사항
- 정적컨텐츠 분리
- 정적 컨텐츠의 딜리버리를 위하여 정적 커텐츠와 동적 컨텐츠를 분리 할 수 있도록 디렉토리 구조를 설계한다. 이렇게 분리된 디렉토리 구조는 CloudFront를 이용하여 캐싱기능 활용이 용이하다. (Hit ratio 상승)
- 네트워크 대역폭
EBS 최적화 인스턴스
: EC2 인스턴스에서 DBS 볼륨까지 네트워크 대역폭을 보장 받을 수 있음 프로비저닝된 IOPS
: 안정적으로 1만 IOPS 이상의 I/O 대역폭을 보장 받을 수 있음
- 메모리 캐시 DB 저장 활용 Point
- 캐시되지 좋은 데이터
- 잘 변하지 않는 마스터데이터
- 세션 데이터
<고려> 여러프로세스가 동일한 데이터를 업데이트할 경우 일관성 보장이 안됨 고려> - RDS for Aurora
- Read DB에 대한 복제 알고리즘이 기존 MySQL의 트랜젝션 로그를 Master 에서 Read로 전달하는 것이 아닌 MasterDB와 ReadDB가 공통 스토리지를 사용 (공통스토리지는 분산 스토리지로 AZ 3개가 개별로 디스크2개 로 묶인 쿼럼 구성)
- DNS(Route53)를 통한 가용성 구현
- DNS 장애조치 기능을 사용한 크로스 리전 다중화 구성시 Route53이 단일 장애 지점인 것 처럼 보일 수 있지만, Route53은 서비스 내부에서 다중화를 통해 자체적인 고가용성 설계가 되어 있으며, SLA 가동률이 100% 임
- Route53에 여러개 서비스 엔드포인트를 등록하고, 일부 장애로 인해 엔드포인트에 접속할 수 없게 되면 유입되는 트래픽을 해당 엔드포인트로 전송하지 않음
- 다중 엔드포인트는 Live 서비스로 구성되어야 하며, A-A (Active - Active) 구조로 설계한다.
- RDS 다른 Region에 읽기전용 복제본 기능 사용
- 읽기 전용 복제본의 마스터 승격은 RDS의 API로 제공, 원본 마스터에서 복제를 중지하고 독립된 DB로서 작동을 시작
- 백업 사이트에서 장애 조치 시에 사용하면 백업 사이트의 데이터베이스가 마스터로서 Read/Write 가능해짐
- 읽기전용 마스터를 마스터로 승격시 다소 작업 소요시간이 걸리고, Route53 DNS 장애조치 기능과 연동되지 않음 이를 자동화 하기위해 Lamba 등을 이용해 Event Trigerring이 필요함
- S3는 리전간 복제 기능을 이용하여 백업 사이트와 데이터를 동가화 가능
2020-2022, Joon Heo Revision
79ad1cd