Amazon Web Services
: 아마존이 제공하는 클라우드 컴퓨팅 플랫폼
AWS 를 사용하면 물리적인 서버나 인프라구축 필요없이 필요한 만큼의 리소스를 바로 사용 가능하다
메인프레임 (1970~1980년대)
클라이언트 서버 (1990년대)
웹 기반 네트워크컴퓨팅 (2000년대)
클라우드 컴퓨팅 (2010년대) 예) 웹하드, 깃허브
사물인터넷(AI) <-> 엣지컴퓨팅 <-> 클라우드
■ 클라우드 컴퓨팅의 장점
- 유연한 it 인프라관리
- 신속한 인프라 도입
- 손쉬운 글로벌 서비스
- 예상치못한 트래픽 폭주 대응
- 빅데이터 인공지능(AI) 서비스 확장
SaaS
PaaS
IaaS
온프레미스
클라우드 네트워크 기본
- 라우터
- 스위치
- 방화벽
- IP주소와 도메인
- IPV6
- CIDR
- 포트와 프로토콜
◆ TCP/IP
: (Transmission Control Protocol/ Internet Protocol) 인터넷 프로토콜 스택으로
인터넷을 포함한 네트워크가 어떻게 전송 되는지 정의한다
TCP/IP는 총 4계층 구조이다
| 계층 | 설명 |
| 4. Application 응용 계층 | HTTP, FTP, SMTP 등 애플리케이션 프로토콜을 사용해 사용자에게 서비스를 제공 (예: HTTP, FTP, SMTP, DNS 등) |
| 3. Transport 전송 계층 | TCP와 UDP 를 사용해 데이터 전송의 신뢰성을 보장하거나 빠른 전송을 선택 (예: TCP > 웹 페이지나 이메일 전송 UDP > 비디오 스트리밍) |
| 2. Internet 인터넷 계층 | IP 프로토콜을 사용해 데이터 패킷을 목적지로 라우팅 한다 라우팅 및 IP 주소 할당이 이뤄진다 (예: IP, ICMP(인처넷 제어 메시지 프로토콜) 등) |
| 1. Network Interface 네트워크 인터페이스 | 물리적 장비와 링크 간 데이터 전송을 담당 데이터 링크 및 물리 계층의 역할을 포함한다 (예: 이더넷, WIFI, 등 네트워크 장비간 데이터 전송) |
◆ OSI 7계층
: (Open System Interconnection) 모델은 ISO에서 정의한 참조모델
네트워크 통신을 7계층으로 나누어 TCP/IP 보다 더 세분화된 구조
| 계층 | 설명 |
| 7. 응용 계층 | 응용 서비스나 프로세스가 응용계층에서 동작 (예: HTTP. FTP, SMTP,DNS 등) |
| 6. 표현 계층 | 응용프로그램 혹은 네트워크를 위해 데이터를 표현하는 계층 (예: 압축, 암호화, 데이터 변환 등) (예: JPEG, MPEG, SSL/TLS(암호화)) |
| 5. 세션 계층 | 실제 네트워크 연결이 이루어지는 계층 프로세스가 통신하기 위한 방법을정의하고 TCP/IP 세션을 생성 및 제거 (예: NetBIOS, RPC(원격 프로시저 호출)) |
| 4. 전송 계층 | 사용자들 간 신뢰성이 있는 데이터를 주고 받게 해주는 역할 오류검출 및 복구, 흐름제어와 중복검사 등을 수행 데이터 전송을 위해서 포트 번호가 사용이 된다 (예: TCP, UDP) |
| 3. 네트워크 | 경로와 주소를 덩하고 데이터를 패킷 단위로 쪼개어 전송한다 데이터 중 가장 효율적인 라우팅 방법을 찾음 장비에는 라우터가 있다 (예: IP, ICMP(인터넷 제어 메시지 프로토콜)) |
| 2. 데이터 링크 계층 | 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리 따라서 통신에서의 오류도 찾아주고 재전송도 하는 기능, 프레임 동기화 기능을 가지고 있다 장비에는 랜카드, 브리지, 스위치가 있다 (예: Ethernet, PPP(점대점 프로토콜)) |
| 1. 물리계층 | 통신을 수행하는 두 장치간의 실제 접속 담당, 전기적 신호가 나가는 물리적인 장비를 의미, 장비에는 리피터와 허브가 있다 (예: 이더넷 케이블, 광섬유, 무선 신호) |
클라우드 핵심 기술
분산처리 기술
서버리스
로드밸런싱
오토스케일
데브옵스
* Serverless 서버리스 : 서버리스는 개발자가 직접 서버를 관리하니 않고 클라우드 제공자
(AWS, Azure 등) 자동으로 서버를 관리하고 확장하는 방식
애플리케이션을 구축하고 운영하는 클라우드 컴퓨팅 모델
클라우드 제공자가 애플리케이션 실행에 필요한 서버관리, 스케일링, 유지보수 등을 모두 처리
* 로드밸런싱 : 서버에 들어오는 네트워크 트래픽을 여러 서버 인스턴스 (예: 웹 서버, 애플리케이션 서버) 로 분산하여
애플리케이션의 가용성, 성능, 안전성을 향상시키느 기술
트래픽을 효율적으로 분매하여 특정 서버에 과부하가 걸리는 것을 방지하고 서버가 실패하거나 트래픽이 증가할 때도 애플리케이션이 안정적으로 작동할 수 있도록 한다
( 최신 애플리케이션은 수백만 명의 사용자를 동시에 처리하고 정확한 텍스트, 비디오 , 이미지 및 기타 데이터를 빠르고 안정적인 방식으로 각 사용자에게 반환해야한다 이렇게 많은 양의 트래픽을 처리하기 위해 대부분의 애플리케이션에는 데이터가 중복되는 리소스 서버가 많이 있다 애플리케이션 서버와 방문자 또는 클라이언트 강의 인터넷 크래픽을 지리하고 제어한다
결과적으로 애프리케이션ㄴ의 가용성 , 확장성, 보안 및 성능이 향상된다)
※ AWS 는 로드밸렁싱에 관해 어떤 도움을 줄 수 있나?
Elastic Load Balancing(ELB) : 수신 애플리케이션 트래픽을 AWS 및 온프래미스 리소스 전반의
여러 대상 및 가상 어플라이언스에 자동으로 배포하는 완전관리형 로드 밸런싱 서비스이다
이를 사용하여 복잡한 구성이나 API 게이트웨이 없이 최신 애플리키에션을 조정할 수 있다
ELB를 사용하여 4가지 유형의 소프으퉤어 로드 밸런서를 설정할 수 있다
- Application Load Balancer 는 HTTP 기반 요청에 대한 트래픽을 라우팅한다
- Network Load Balancer는 IP 주소 기반으로 트래픽을 라우팅 한다
- Gateway Load Balancer 는 트래픽을 타사 가상 어플라이언스로 라우팅한다
네트워크 방화벽과 같은 타사 어플라이언스를 확장 가능하고 관리하기 쉬운 방식으로 네트워크 트개픽에 통합하는데
이상적이다
- Class Load Balancer 는 다른 고객과 공유하는 단일 플랫 네트워크인 Amazone EC2-Class 네트워크의 애플리케이션
트래픽을 라우팅한다
요구사항에 따라 로드 밸런서를 선택할 수 있다
* 오토스캐일 (Auto Sacling): 클라우드 환경에서 애플리케이션의 트래픽이나 부하에 따라 서버자원을 자동으로 확장하거나 축소하는 기능
이 기능은 클라우드 제공자 (예: AWS, Azure) 에서 제공되며
애플리케이션의 가용성과 성능을 보장하는 동시에 비용을 최적하 하는데 중요한 역할을 한다
오토스케일링을 사용하면 서버자원의 수동 관리가 필요 없어지고, 트래픽이 급증하거나 감소할 때도 애플리케이션이 안정적으로 운영될 수 있따