AWS 입문자용으로 추천하는 책을 읽으며 내용을 정리해보려고 한다.
참고한 책은 '서비스 운영이 쉬워지는 AWS 인프라 구축 가이드'
www.yes24.com/Product/Goods/68799454
서비스 운영이 쉬워지는 AWS 인프라 구축 가이드
AWS와 서비스 운영에 첫걸음을 내디딜 수 있게 도와준다!서비스 개발과 인프라 관리를 담당하는 실무자의 운영 노하우를 배우자!이 책은 AWS나 클라우드 환경에 익숙하지 않은 분들이 AWS 서비스��
www.yes24.com
1.1 운영 서버
운영 서버는 실제 사용자들을 대상으로 서비스하는 서버로 트래픽 대응, 빠른 응답 속도, 높은 가용성 을 보장해야 한다.
운영 서버를 관리 하기 위한 세 가지 단계 ( 환경 구성, 코드 배포, 모니터링 )
1.2 운영 서버 아키텍처
단일 서버 ( 클라이언트 - 서버(어플리케이션) - 데이터베이스 )
- 애플리케이션과 데이터베이스가 같은 서버에서 작동된다면?
- 전체 서비스에 장애가 생길 확률이 높다.
- 서버 자원을 효율적으로 사용하기 어렵다.
- 보안성이 떨어진다.
- 단일서버의 단점은?
- Scale out이 힘들다.
- 서버 자원의 확장을 위해 서버를 여러 대로 늘려야 하는 경우 클라이언트가 추가된 서버들의 주소를 새로 알아야 한다.
다중 서버 ( 클라이언드 - 로드 밸런서 - 서버(어플리케이션), 서버(어플리케이션), ... - 데이터베이스)
- 클라이언트는 로드 밸런서하고만 통신
- 로드 밸런서가 요청을 여러 서버들에게 나눠줌
- Scale out이 가능해짐
- 로드 밸런서에 장애가 생기면 전체 서비스 장애로 이어지므로 조심해야 함
AWS를 이용해 운영 서버 환경을 구축해보자 👍
AWS EC2 (Elastic Compute Cloud) 인스턴스 생성
쉽게 사양을 고르고 원하는 시간만큼 사용할 수 있는 '가상 서버'
- AMI : EC2 인스턴스의 기반이 되는 이미지
- 보안 그룹: 보안을 위해 IP와 포트 번호를 이용해 정의해두는 서버 접속 규칙
- 키 페어 : 서버에 접속하기 위한 키
서버 인스턴스에는 요청에 응답하거나 코드로 처리하는 서버 소프트웨어가 필요하다 ✔😃✔
서버 소프트웨어에는 크게 웹 서버와 웹 애플리케이션 서버로 구분된다.
1. 웹 서버
- 클라이언트에서 HTTP 프로토콜로 요청을 받고 정적인 파일(HTML, CSS, JS 등)을 응답으로 전달
- 애플리케이션 코드를 실행해 결과를 주는 것은 아니므로 정적인 웹 사이트만 실행 가능
- nginx, Apache, IIS 등
2. 웹 애플리케이션 서버
- 클라이언트의 요청에 대해 코드 실행을 통해 동적인 응답을 만듬
- Phusion Passenger, Apache Tomcat, JBoss 등
- 웹 서버와 웹 애플리케이션 서버는 보통 함께 사용된다.
- 여러 애플리케이션을 서비스 하는 경우 웹 서버가 여러 웹 애플리케이션 서버로 라우팅 하는 역할도 한다.
nginx를 이용해 한 서버에서 두 개의 다른 애플리케이션을 서비스해본다 👌
'AWS' 카테고리의 다른 글
[Terraform] 테라폼으로 모듈 구성하기 - count, for-each 등 (0) | 2021.02.06 |
---|---|
[AWS] 대용량 스트림 데이터 처리 플랫폼 - Kinesis (0) | 2021.02.06 |
[AWS] 운영 서버 관리 - 코드 배포 (0) | 2020.10.10 |
[AWS] 운영 서버 환경 구성 - 외부 환경 ( 도메인, HTTPS, SSL/TLS ) (0) | 2020.10.09 |
[AWS] 운영 서버 환경 구성 - 다중 서버 ( 오토 스케일링, 로드 밸런서 ) (0) | 2020.10.09 |