
Insty 전체 아키텍처의 인프라 구성도이다.
1. 외부 진입(DNS, SSL)
Route 53: insty.ai.kr 과 같은 도메인에 대한 호스팅 존.
이때 레코드를 설정하게 되는데 크게 A / NS / SOA / CNAME으로 나눌 수 있다.
| A | NS | SOA | CNAME |
| CloudFront의 배포 도메인 (AWS에서 자동 지정) 개발/스테이징 환경을 위한 별도 CloudFront 배포가 있다는 것을 의미. |
AWS 네임서버 정보 Route53에서 발급해 준 네임서버 주소들로 전세계의 DNS가 해당 네임서버를 먼저 질의하게 됨. |
호스팅존의 기본 설정 (갱신주기, 네임서버 권한 등) 자동으로 생성되는 레코드로 직접 건드릴 일은 없음. |
ACM의 인증서 검증용 자동 레코드 HTTPS 통신을 위한 SSL/TLS 인증서를 의미. ACM은 자동 갱신을 지원하기 때문에 만료일을 신경쓰지 않아도 됨. |
결국, 사용자는 insty.ai.kr에 접속하면 CloudFront 배포로 연결된다.
2. CloudFront(콘텐츠 전송)
글로벌 CDN + 보안 게이트웨이 역할을 한다.
이때 CDN이란, Content Delivery Network의 약자로 웹이나 앱의 정적 데이터(이미지, 영상 등)를 사용자와 가까운 서버에서 빠르게 전달하기 위한 전송 네트워크를 의미한다.
동작 원리
- origin 서버: 실제로 웹서비스를 호스팅하는 서버.
- edge location 서버: 전 세계 여러 지역에 분산된 캐시 서버.
- 사용자가 웹에 접속을 하게 되면 CDN이 사용자의 지리적으로 가까운 edge location 서버를 선택.
- 캐시된 콘텐츠가 있으면 제공.
- 없으면 origin 서버에서 가져와 edge location 서버에 저장 후 다음 요청부터는 바로 전달.
이때 캐시된 콘텐츠의 의미는 자주 쓰는 데이터를 미리 저장해 두었다가
필요할 때 빠르게 꺼내 사용하는 것을 의미함.
즉, origin 서버에 있는 웹파일을 CDN 서버가 복사해서 저장해 둔 데이터를 의미.
그리고 캐시는 무한정 유지되지는 않는다. TTL 지정을 통해 해당 시간이 지나면 위 과정을 다시 거치게 된다.
멀티 오리진 라우팅을 통해 트래픽을 분배시키는 것도 가능하다.
최종적으로는 모든 사용자의 요청은 CloudFront를 통해 배포되게 된다.
- CloudFront는 AWS의 핵심 서비스 중 하나로 따로 자세한 포스팅을 추가해야겠다.
3. ALB
CloudFront에서 전달한 동적 API 요청을 처리하게 된다. ALB는 L7의 로드밸런서로 단순 IP나 포트 뿐만이 아니라
요청 경로나, 헤더, 메소드 등을 분석하여 요청을 적절한 서버 그룹에 라우팅하게 된다.
4. VPC 리소스
- 애플리케이션
- EC2 컨테이너 호스팅
- 프론트: SSR(Next.js 등), 정적 데이터는 CloudFront + S3에서 직접 배포.
- 백엔드: API 서버(Spring Boot, Node.js 등), 메타데이터 관리.
- AI 서비스: 영상/이미지 분석, 인퍼런스 처리.
- Redis
- 세션 캐시, 작업 큐, 빠른 데이터 조회 용도.
- EC2 컨테이너 호스팅
'Project > Insty' 카테고리의 다른 글
| [Insty] Next.js 보안으로 인한 악성파일 이슈 (0) | 2025.12.23 |
|---|