도서 - AWS 인프라 구축 가이드 1
by choising
AWS 인프라 구축 가이드 ( ~ 24p)
01. 운영 서버와 AWS 소개
-
운영 서버 : 개발/테스트 목적이 아닌 실제 사용자들을 대상으로 서비스하는 서버
- 운영 서버 관리의 세 단계
- 환경 구성
- 코드 배포
- 모니터링
- region(리전) : 지역
- 서비스하려는 지역에 가장 가까운 리전을 선택하는 것이 네트워크 지연을 줄인다
- 한국에는 서울 리전이 있다
- 이걸 오사카인가 했더니 인스턴스들이 안보였던 기억이 있다
- 가용 영역 : 하나의 리전 안에 여러 격리된 데이터 센터
- 보통 가용 영역의 수를 보여준다
02. 운영 서버 환경 구성
-
단일 서버
- 제일 기본적인 구성
- Request 하나 할 수 있는 클라이언트 1개
- 서버 1개, 같은 서버에 WAS랑 DB가 있으므로, 별도의 네트워크 설정 필요 없이 로컬호스트 대상으로 하면 됨
- 왜 안할까?
- 전체 서비스 장애 위험
- WAS와 DB에 걸맞는(최적화하기위한) 설정이 다르기 때문
- 보안성 취약
- Scale out(서버 수를 늘려 자원 확장하는 거) 이 힘들다.
-
애플리케이션/데이터베이스 서버 분리
- 단일서버에서 db분리한 구성
- 다 좋아지는데 두 대를 관리해야 되므로 구성이 복잡
- 서버와 디비 사이의 지연과 네트워크 보안을 고려해야함
- 클라이언트는 여전히 하나의 서버를 바라보고 있으므로 sacle out 은 여전한 숙제
-
서버 단위의 로드 밸런서
- 클라이언트는 서버와 통신 X, 로드 밸런서 서버와 통신
- 뒤에 여러 대의 애플리케이션 서버를 둔다
- lb가 서버들에게 적절히 나눠줌
- 가장 큰 장점 드디어
스케일 아웃
이 가능- 또, 일부 서버 장애 시 헬스체크 하고 헬시한 서버에만 요청을 주면 되니까 장애대응도 가능
- 가장 큰 문제는 로드밸런서한테 모든 요청이가는데, LB가 뻗으면 망
- 흔히 OSI 7 Layer L4 스위치 라고 하는게 LB 역할을 하는 장비
- 우리는 요거를 AWS ALB로 쓰고 있음
-
서버 내 앱 단위의 로드 밸런서
- 여러 서버에게 요청을 분산하는 서버 단위의 LB 외에도
- 여러 애플리 케이션 프로세스들에게 요청을 분산시키는 앱 단위의 로드 밸런서 추가
- 애플리케이션 서버 내에서 똑같은 애플리케이션을 여러 프로세스로 실행, 외부에서 들어온 요청을 프로세스 중 하나로 보내주는 역할
- 이처럼 구성하면, 하나의 서버에 멀티 프로세스
- 1개 서버가 여러 개의 요청을 동시 처리 할 수 있단 것
- 우리는 요거를 AWS ELB로 쓰고 있음
2.2 AWS EC2를 이용한 서버 인스턴스 생성과 관리
- EC2
- 가상 서버
- OS 고를 수 있음
- EC2 를 생성하려면 꼭 알아야 하는 개념이 있다.
- AMI
- 생성할 EC2의 기반이 되는
이미지
- 원하는 OS, 원하는 환경의 이미지
- 생성할 EC2의 기반이 되는
- 보안 그룹
- IP 와 포트번호를 이용한 서버 접속 규칙
- 키 페어
- 서버에는 공개키, 사용자는 개인키로 접속
- AMI
- 부록, 윈도우에서 PuTTY 설치, SSH 접속키 설정, 접속하기
- putty download
- puttyGen 으로 Type RSA 라디오버튼 클릭, Load 클릭해서 AllFiles, pem 파일 선택
- Save private key 클릭해서 저장
- putty.exe
- Host Name : ec2-user@{EC2 주소}, Port : 22
- 왼쪽 Connection > Auth 에서 Private key … 아래 Browse 클릭, 아까 저장한 ppk 파일 로드 > Open 클릭 > 예 클릭
Subscribe via RSS