전체 글 13

실시간의 실시간(구현) - Amazon Kinesis Data Streams 활용 실시간 랭킹 기능 구현

1. 아키텍처 설계수정 전 무지성 기획사실 가장 처음 생각했던 방법은 DB를 활용한 방법이었습니다. 그나마 효율적인 방법을 고려해보고자 RDS의 구매내역 데이터를 생성할 때 복합키(시계열 & 아이템ID)로 DynamoDB에 Count하는 방식이었습니다. 굳이 db를 나눈 이유는 조회한 데이터를 쿼리만 하는 DB를 분리하여 I/O연산과 쿼리연산을 최소할 수 있지 않을까 생각했기 때문입니다. 그렇게 전체적인 흐름은 아래 그림과 같게 구현되었습니다. 이에 따라 정상적인 요청이 들어왔을 때 5분마다 다른 랭킹 화면을 볼 수 있게 됩니다. DB 연산하지만 그럼에도 대규모 트래픽을 고려하면, DB 부하와 DynamoDB 비용 등등 5분마다 업데이트 되는 데이터는 로그 활용됨이 맞다고 생각했습니다. 수정 전 예상 비..

카테고리 없음 2024.10.09

Terraform으로 EKS 구축하기

Terraform은 클라우드 및 온프레미스 리소스를 안전하고 효율적으로 빌드, 변경 및 버전 관리할 수 있는 인프라 코드 도구입니다.Terraform은 애플리케이션 프로그래밍 인터페이스(API)를 통해 클라우드 플랫폼 및 기타 서비스에서 리소스를 생성하고 관리합니다. 공급자는 Terraform이 액세스 가능한 API를 통해 사실상 모든 플랫폼이나 서비스와 함께 작업할 수 있도록 합니다.테라폼을 통해 인프라를 구축하는 과정을 자동화할 수 있습니다.테라폼으로 eks까지 구축하는 과정은 다음과 같습니다. 1. Terraform 설치2. AWS 인증3. VPC 설정4. EC2 설정5. SSM 설정6. EKS 설정 1. Terraform 설치먼저 테라폼부터 설치해보겠습니다.AMD64(64비트)를 다운받고, 이 파..

카테고리 없음 2024.08.29

DR

DR (재해 복구)는 자연재해나 인간의 행동 (또는 실수)으로 인한 재해가 발생한 후 조직에서 IT 인프라에 대한 액세스 및 기능을 복원할 수 있는 기능을 말합니다. 우선 RTO (복구 시간 목표)와 RPO (복구 지점 목표)를 알아야 합니다.RTO는 재해가 발생한 후 정상 성능으로 서비스가 되돌아오기까지 걸리는 시간입니다.RPO는 재해 발생 시점부터 복구할 수 있는 가장 최근의 시간을 얘기합니다 (백업한 시간). 저는 아래의 복구 전략 중 Backup & Restore에 집중했습니다.  저희는 백업 전략을 두 가지로 구성하였습니다.첫 번째는 스토리지, DB에 대한 백업입니다.  현재 사용하는 리전에서 다른 리전으로 데이터만 복제해놓는 방법을 사용했습니다.두 번째는 EKS 데이터에 대한 백업입니다. EK..

카테고리 없음 2024.08.26