나는 그동안 AWS EC2 서비스를 활용해 여러 번 애플리케이션 서버를 배포해 왔다. EC2는 클라우드의 대표 서비스이자 단순한 컴퓨팅 대여 서비스로, 클라우드 환경에 최적화되어 있어 대표적인 사례가 많기 때문에 자연스럽게 사용한 것 같다. 사실 뭐 그 이상의 기능까지도 필요 없었던 것도 사실이다.. 하지만 기존에 내가 인프라를 구축하는 프로젝트들과는 달리 이번 프로젝트는 이미 기존에 ECS를 사용하고 있었다. 기존 시스템을 관리해야 하기도 하고, 새로 리팩토링을 하면서 새롭게 ECS를 사용할 예정이기 때문에 이 기회에 ECS를 정리하고 사용해보려 한다. AWS는 결국 서비스를 판매하는 판매처이기 때문에 서비스에 대해서 잘 설명해주고 있다. 그래서 이 글은 AWS 공식 홈페이지와 설명서들을 기준으로 E..
그동안 EC2 인스턴스만 활용해 비교적 단순한 방식으로 서버를 배포해왔는데, 최근 새로운 프로젝트에 합류하면서 다양한 AWS 서비스(VPC, 서브넷, 가용 영역(AZ) 등)를 사용하는 클라우드 기반의 아키텍처를 접하게 되었다. 아키텍처를 보자마자 어느 정도 파악은 했지만, 온전히 이해하지 못한 부분이 많아 아쉬움이 남았다는 슬픔.. 하지만 이제 서버 개발자는 나 혼자이기 때문에 혼자서 유지보수와 확장을 담당해야 하므로, 각 기술이 어떤 역할을 하는지 이해해야 한다. 그래서 뜬금없지만 오늘은 AWS 인프라에 대해 정리해 보려고 한다. 1. AWS 클라우드 아키텍처 살펴보기EC2 인스턴스만으로도 기본적인 서버를 구축할 수 있지만, 복잡한 애플리케이션 운영이나 보안, 고가용성, 확장성과 같이 요구 사항을 만..
누군가에게 Nginx를 왜 쓰며, 쓰지 않을 경우 어떻게 될까라는 질문을 받게 되었다. 그렇다.. 머리가 띵했다.나름 왜?라는 자세로 공부를 하고 있었다 생각했는데 정작 Django(Python) 배포할 때부터 사용한 Nginx는 그냥 웹 서버라고만 알고 있었다. 그래서 오늘은 좀 더 자세하게 Nginx에 대해 파고들고자 한다. Nginx란?Nginx는 기본적으로 웹 서버로, HTTP 요청을 처리하고 클라이언트에게 웹 페이지나 파일 같은 정적 콘텐츠를 제공한다. 다음과 같이 클라이언트와 백엔드 서버(WAS, Database) 사이에 위치해 다양한 기능을 수행하는 게 핵심이다. Client Nginx(Web Server) WAS Database 웹 서버를 별도로 운영하는 이유사실 저 로직에서 Web ..