대규모 채팅 시스템 설계하기 2 : EC2 + WebSocket 기반 최종 아키텍처
·
Infra
1주차에는 아무것도 정확하게 확정을 내리지 못하고 실시간 통신 공부와 AWS 아키텍처 공부만 하다 끝났다...그래도 2주차에는 최종 아키텍처를 드디어 정했다!이것 때문에 이번 주차에만 인프라 회의를 3번이나 했다... 전체 회의까지하면 4번...ㅜㅜ 지난주에는 정말 막막했는데 그래도 다행히 어느정도 감을 잡은 것 같다!사실 다 쓰자면 너무 주제도 많고, 길어서 우리 팀의 주요 쟁점이었던 API Gateway + Lambda, EC2 + Websocket 중 무엇을 사용할 것이냐를 중심으로 글을 쓰겠다!📍 WebSocket API Gateway + Lambda구성 요소AWS API Gateway (WebSocket 타입)AWS Lambda (메시지 처리)DynamoDB / SQS / Kinesis 등→ ..
FastAPI EC2에 배포하기
·
Infra
그동안은 AI 코드를 로컬에서만 실행하면서 프론트엔드와 직접 연결했기 때문에, 별도로 서버를 배포할 필요는 없었다. 하지만 이번에는 백엔드를 통해 통신하는 구조로 변경되면서 FastAPI를 사용해 배포 환경을 구성하게 되었다. 마침 이미 백엔드가 배포되어 있는 EC2 인스턴스가 있었기 때문에, 별도로 인스턴스를 새로 만들지 않고 해당 EC2 내에 함께 배포했다.같은 EC2 내에 구성하면 네트워크 지연이 거의 없고, FastAPI에서 따로 HTTPS 설정을 하지 않아도 백엔드와 안정적으로 통신할 수 있다는 장점이 있다. 물론, 프론트엔드가 직접 FastAPI에 접근하는 구조라면 HTTPS 설정은 반드시 필요하다. 만약 EC2 인스턴스가 없다면, EC2 인스턴스부터 생성하면 된다. 1. SSH로 EC2에 접..