겉바속촉
[보안] AWS 운영 서버 아키텍처 이해 본문
728x90
반응형
시스템을 구축한다고 한다면
VM | 가상머신 |
IAM | 시스템 만들 때 필요한 인증_인증서버 |
Storage | 저장 & 백업 용도 |
DB | 예) RDS, RDBMS, NoSQL |
WEB Server | |
virtual network | VPC, VN ..... |
Load Balancer | 부하 분산 서버 |
**참고사항**
aws에는 여러가지 DB를 지원 : 리눅스
azure의 경우 MSSQL에 특화된 부분이 존재 : 윈도우
단일 서버의 문제점
- 전체 서비스에 장애가 생길 확률이 높으며, 애플리케이션과 데이터베이스가 같은 자원을 공유하기 때문에
둘 중 하나라도 자원을 모두 사용해버리거나 서버 하드웨어에 장애가 발생하면
해당 부분만 장애가 생기는 것이 아니라 전체 서비스가 완전히 장애 - 서버 자원을 효율적으로 사용하기 어려우며, 애플리케이션과 데이터베이스는 각 속성에 따라 더 중요한 자원의 종류(CPU, 메모리,디스크)나 최적화를 위해 필요한 OS 설정(I/O 컨트롤러, 디스크 설 정)이 다를 수 있다.
둘 다 만족시키기 위해서는 필요 이상으로 고사양 서버를 사용해야할 수도 있음 - 보안성이 떨어지고 데이터베이스는 보안상 포트나 ip 등 접속 지점을 최소한으로 하는 것이 좋다.
- 웹 어플리케이션 특성상 다양한 ip주소와 포트 번호에 대해 요청받을 수 있어야 해서 서버 내 여러 파일들도 업로드 된다면 데이터베이스가 공격당할 가능성 존재
- 스케일 아웃이 힘들다 --> 서버의 수를 여러 대로 늘려서 자원을 확장시키는 방법
- 서버자원의 확장을 위해 여러대로 늘려야 하는 경우
클라이언트에서는 추가된 서버들의 주소를 새로 알아야하며 데이터도 똑같은 복제본이 여러개 생겨 관리가 힘듦
* request 방식 : get 방식, post 방식
위의 구조에서 로드밸런서 부분만 떼어와서 보도록 하겠습니다.
로드밸런서의 역할
트래픽 부하 분산
로드 밸런서 역할하고자 한다면 web application server의 상태 필요
1. 부하가 존재하는지, 어떤 상태인지 먼저 알아야 합니다.
2. IP 주소 정보를 알고있어야 합니다.
애플리케이션/데이터베이스 서버 분리
- 단일 서버 구성에서 데이터베이스를 별도의 서버로 분리한 구성입니다.
- 애플리케이션과 데이터베이스가 다른 자원을 사용하기 때문에 단일 서버에서 나온
전체 서비스 장애 확률, 효율적인 자원 사용, 떨어지는 보안성과 같은 단점들이 해결됩니다. - 두 대의 서버를 관리하기 때문에 구성이 조금 더 복잡해지 고 서버 사이의 지연 시간과 네트워크 보안을 고려
- 클라이언트에서는 하나 의 서버를 바라보고 있기 때문에 서버 자원 확장을 위해
서버의 수를 늘리는 스케일 아웃은 여전히 어려움
서버 단위의 로드 밸런서
- 클라이언트가 애플리케이션을 실행하는 서버와 직접 통신하는 대신
로드밸런서라는 서버와 통신하고 그 뒤에 여러 대의 WAS를 두는 방식!!! - 클라이언트는 로드밸런스하고만 통신하고 로드밸런서가 클라이언트에게서 받은 요청을 뒤의 WAS에게 나눠줌
- 뒤에 있는 서버들이 요청을 처리하면 응답은 로드 밸런서를 통해 클라이언트에게 전달
- 애플리케이션 서버 중 일부 서버에 장애가 발생해도 로드 밸런서에서 정상 서버에만 요청을 주면 되기 때문에
서비스 장애를 최소화하는 것이 가능 - 모든 요청이 로드 밸런서를 통해 지나가기 때문에 로드 밸런서에 장애가 생기면 나머지 서버들이 정상이어도
전체 서비스 장애로 이어지기 때문에 주의 - 구성이 매우 복잡해지는 단점을 보유 --> 흔히 OSI 7 계층의 L4 스위치라고 얘기하는 것이 로드밸런서의 역할을 해냄
**참고사항**
소리를 디지털화하여 파일로 만들어지는 것을 과학자 아니 기술자들이 말해서
해커가 오키 확인 ~ 해서 해킹을 시도를 합니다.
그러면 스피커를 마이크로 바꿔서 마이크로 악성코드를 심은 소리를 보내서 그거를 받아들이면서
악성코드가 심어지는 원리죠!!
728x90
반응형
'IT 일기 (상반기) > 네트워크 및 시스템 보안' 카테고리의 다른 글
[보안] AWS 인스턴스 생성 (0) | 2021.03.08 |
---|---|
[보안] AWS EC2를 이용한 서버 인스턴스 생성과 관리 (0) | 2021.03.08 |
[보안] VirtualBox_Obuntu 실습 (0) | 2021.03.03 |
[보안] tera term 설치하기 (0) | 2021.03.03 |
[보안] VirtualBox 설치하기 (0) | 2021.03.03 |