개인 토이 프로젝트 중 직접 ASW EC2와 RDS를 구축하여 배포까지 해보기로 결정하였는데 직접 배포해 보는것은 처음이라 일기형식처럼 구축 과정을 기록으로 남겨볼까 합니다.
웹 서비스의 인프라 구성
계층(레이어) | 내용 |
---|---|
애플리케이션 | 독자 개발 및 Movable Type 등의 제품, WordPress 등의 오픈 소스 애플리케이션 |
애플리케이션 실행 환경 | Ruby on Rails(Ruby), Play Framework(Java), Symfony(PHP), django(Python) 등의 프로그래밍 언어/실행 환경/프레임워크 |
미들웨어 | Apache, nginx, Tomcat, unicorn, PostgreSQL, MySQL 등의 소프트웨어 |
OS | Linux, Windows 등의 OS |
하드웨어 | PowerEndge, ProLiant, FortiGate, Cisco, BIG-IP 등의 서버 기기/네트워크 기기 |
네트워크 | 인터넷 접속회선 등의 네트워크 환경 |
코로케이션 | 데이터 센터, 공조, 랙 전원 등의 물리적인 저장소 |
1) 코로케이션
- 데이터 센터, 사무실처럼 서버 또는 네트워크 장비를 배치하는 장소
- 최근에는 클라우드에 서버를 배치
- 데이터 센터는 내진, 화재와 같은 여러 재해로부터 대책이 세워져 있고 보안 관리도 철저 + 지리적 위치
- 클라우드를 사용하게 되면 데이터 센터를 가지 않는 대신 BCP(Business Continuity Planning : 기업이 자연재해나 테러와 같은 긴급 사태가 일어나도 사업을 중단하지 않거나 빠른 복구를 할 수 있는 계획)와 응답 시간에 우선순위
- AWS 이용을 한다면 이전에는 도쿄 등의 리전을 사용하면서 응답시간을 고려했지만 2019년부터 서울 리전이 생긴만큼 지리적인 위치는 고려 대상
2) 네트워크
- 데이터 센터에서 제공하는 회선을 주로 사용
- 클라우드 환경에서는 사업자가 제공하는 회선을 사용하면 되므로 고려 대상은 아님
3) 하드웨어
- 네트워크 장비
- 라우터 : 네트워크를 라우트(어떤 곳을 경유하는지 경로를 제어) 하는 것.
- 스위치 : 네트워크를 분배하는 것
- L2 스위치 : 같은 세그먼트 내부의 것들을 연결하는 것.
- OSI 7 계층 중 계층 2인 데이터 링크 계층을 이해하고 처리 >> MAC 주소 기반으로 패킷 처리
- L3 스위치 : 각각의 네트워크를 연결하는 것
- 계층 3(네트워크 계층)을 이해하고 처리 >> IP 기반으로 패킷 처리
- L2 스위치 : 같은 세그먼트 내부의 것들을 연결하는 것.
- 물리 네트워크와 논리 네트워크 분리
물리 네트워크 장비의 물리적인 특성에서 따라오는 제약을 해결하기 위해 SDN이라는 방법이 나왔습니다. 소프트웨어에 의해 네트워크를 관리하는 것으로 요구가 있을 때 하드웨어를 설치하고 네트워크를 구축한다는 흐름을 바꿔놓았습니다. 클라우드를 떠올리면 좋겠네요.
- 서버 장비
x86 64비트 머신과 같이 어떤 머신을 사용할지? 어떤 CPU와 메모리를 넣을지? SSD를 사용할지 어떤 것을 사용할지 등의 결정이 필요합니다.
- 저장소
- DAS
- Direct-Attached Storage. 서버에 연결하는 거대한 디스크 배열입니다.
- 단순하게 서버에 연결하는 거대한 하드 디스크라고 생각하면 될 듯합니다
- NAS : Network Attached Storage.
- DAS
4) OS 선택
- 하드웨어와 애플리케이션의 중간 다리 역할
- 오픈소스 VS 상용 OS로 구분되며, 리눅스와 윈도우 등이 있음(대부분 리눅스를 사용)
5) 미들웨어와 애플리케이션 실행 환경
- 아파치나 톰캣부터 WAS, 유니티, 루비
- 애플리케이션과 DB를 연결해주는 소프트웨어어도 DB 미들웨어이며 ODBC
웹 서비스 구축에 관련된 인프라 기술 요소
기술 요소 | 대표적인 제품과 사업자 |
---|---|
OS | CentOS, Red Hat, Ubuntu, Windows |
서버 기기 | DELL, HP, Fujitsu |
스토리지 | EqualLogic, Fusion-io, Amazon S3, Amazon EBS |
데이터 센터 | NIFTY |
도메인 취득 | gabia, whois.co.kr |
DNS | BIND, unbound, Amazon Route53 |
네트워크 기기 | Cisco, Juniper, Allied Telesis |
네트워크 기술 | Router, Firewall, NAT |
SSL 인증서 | Verisign(Symantec), GeoTrust, CyberTrust |
온프레미스 vs asS(as - a - Service)
온프레미스 : 기업이 자체 시설에서 보유하고 직접 유지 관리하는 프라이빗 데이터 센터
asS : 서드파티 벤더가 제공하는 클라우드 컴퓨팅 서비스
IaaS
- 클라우드 호스팅 가상 버전 및 물리적 버전의 서버, 스토리지, 네트워킹을 온디맨드 방식으로 액세스할 수 있습니다. 클라우드에서 애플리케이션과 워크로드를 실행하는 데 사용하는 백엔드 IT 인프라스트럭처입니다.
- 사용자는 OS를 직접 올리고 그 상위 계층만 구성하면 되는 모델
PaaS
- 즉시 사용 가능한 완전한 클라우드 호스팅 플랫폼을 온디맨드 방식으로 액세스할 수 있습니다. 이를 통해 애플리케이션을 관리, 실행, 개발하고 유지 보수합니다.
- 개발자가 응용 프로그램을 작성할 수 있도록 플랫폼 및 환경을 제공하는 모델
- 사용자는 OS, Server 하드웨어, Network 등등을 고려할 필요가 없습니다.
SaaS
- 즉시 사용 가능한 클라우드 호스팅 애플리케이션 소프트웨어를 온디맨드 방식으로 액세스할 수 있습니다.
- 설치할 필요도 없이 클라우드를 통해 제공되는 SW입니다
클라우드 컴퓨팅, IaaS, PaaS, SaaS이란?
클라우드 컴퓨팅의 여러 서비스 모델 목차 Cloud Computing이란? 정리 클라우드 컴퓨팅은 서로 다른 물리적인 위치에 존재하는 컴퓨터들의 리소스를 가상화 기술로 통합해 제공하는 기술을 말합니
wnsgml972.github.io
인프라 설계 시의 주의점
시스템의 신뢰성을 종합적으로 고려한 'RAS' 및 'RASIS'라는 지표
Reliability : 신뢰성
Availability : 가용성
Serviceability : 유지 보수성
Integrity : 무결성
Security : 안전성
RAS 검토 지표
- 가동률 = MTBF / (MTBF + MTTR)
- 장애 발생 간격(Mean Time Between Failures = MTBF) = 누적 사용 시간 / 고장 횟수
- 평균 복구 시간(Mean Time To Repair = MTTR) = 누적 수리 시간 / 고장 횟수
장애 : 일반적으로 시스템에 발생한 문제
가동률을 높이는 방법
①요소 각각의 가동률을 높이기
②요소를 조합해 전체의 가동률을 높이기
③적절한 프로비저닝으로 부하 문제를 피하는 것
=> MTBF를 길게 하거나, MTTR을 짧게하는 것
출처
1. https://sidorl.tistory.com/37
2. 클라우드 서비스
'AWS' 카테고리의 다른 글
AWS 사용하기 전 base 지식(2) (0) | 2023.02.23 |
---|