[AWS] 운영 서버 환경
아마존 회원 가입
클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services
개발자, 데이터 사이언티스트, 솔루션스 아키텍트 또는 AWS에서 구축하는 방법을 배우는 데 관심이 있는 모든 사용자용 무료 온라인 교육 AWS 전문가가 구축한 500개 이상의 무료 디지털 교육 과정
aws.amazon.com
개인으로 생성을 하고 신용카드 정보를 입력한다.
신용카드 정보를 입력하는 이유는 무료 사용량을 초과하는 금액을 청구하기 위해서이다.
https://aws.amazon.com/ko/free
클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services
개발자, 데이터 사이언티스트, 솔루션스 아키텍트 또는 AWS에서 구축하는 방법을 배우는 데 관심이 있는 모든 사용자용 무료 온라인 교육 AWS 전문가가 구축한 500개 이상의 무료 디지털 교육 과정
aws.amazon.com
이곳에서 제공량을 얼마나 소진했는지 확인 할 수 있다.
1. 단일 서버 구성
요청을 보내는 클라이언트, 요청을 처리하는 서버가 존재함.
- 클라이언트 - 웹 브라우저(휴대폰 앱, 크롬 등)
- 서버 - 애플리케이션 코드, 데이터베이스
단순한 구성으로 구축이 쉽고 테스트 서버로 많이 사용됨.
장점
- 애플리케이션과 데이터베이스가 같은 서버에서 실행이 되니 별로의 네트워크 설정이 필요없고 로컬 호스트를 대상으로 한다.
단점
- 애플리케이션과 데이터베이스가 같은 자원을 공유하기에 둘 중 하나가 자원을 다 쓰면 서버가 죽어버린다.
- 서버 자원을 효율적으로 사용하기 어렵다. 애플리케이션과 데이터베이스의 속성이 다를 수 있기 때문에 필요 이상으로 고사양 서버를 사용해야 할 수 있음.
- 보안성이 떨어진다. 데이터베이스는 보안상 포트나 IP 등 접속 지점을 최소화 해야하는데 애플리케이션 특성상 다양한 포트와 IP를 사용하기 때문이다.
- 서버의 수를 늘려 자원을 확장하는 스케일 아웃이 힘들다.
2. 애플리케이션, 데이터베이스 서버 분리
장점
애플리케이션과 데이터베이스가 다른 자원을 사용하기 때문에 전제 서비스 장애 확률, 효율적인 자원 사용, 떨어지는 보안성과 같은 단점들이 해결됨
단점
- 구성이 복잡해져 서버 사이의 지연 시간과 네트워크 보안을 고려해야한다.
- 클라이언트에서는 하나의 서버를 바라보고 있기에 스케일 아웃이 힘들다.
3. 서버 단위의 로드 밸런서
클라이언트가 애플리케이션을 실행하는 서버와 직접 통신하는 대신 로드 밸런서라는 서버와 통신하고 그 뒤에 여러 대의 애플리케이션 서버를 두는 방식이다.
장점
- 스케일아웃이 가능해진다.
- 일부 서버에 장애가 생겨도 로드 밸런서에서 정상 서버에만 요청 요구가 가능하다.
단점
- 모든 요청이 로드 밸런서를 지나기기에 로드 밸런서에 장애가 생기면 나머지 서버가 정상이어도 전체 서비스 장애로 이어질 수 있다.
- 구성이 매우 복잡해진다.
4. 서버 내 앱 단위의 로드 밸런서
여러 서버에게 요청을 분산하는 서버 단위의 로드 밸런서 이외에 여러 애플리케이션 프로세서들에 요청을 분산시키는 앱 단위의 로드 밸런서가 추가됐다.
애플리케이션 서버 안에서 똑같은 애플리케이션을 여러 프로세스로 만들어 실행해 놀고 외부에서 들어온 요청을 프로세스 중 하나로 보내주는 역할을 한다.
장점
- 하나의 서버에 여러 개의 프로세스를 실행해 하나의 서버에서 여러 개의 요청을 동시에 처리할 수 있다.