Back-End

AWS 클라우드 개념 공부

집돌이디벨로퍼 2024. 9. 1. 20:22

우선 서버가 담당하는 일을 간략하게 설명해보겠다.

예를 들어 격투 게임을 돌리는데 두명의 사람 A,B가 있다고 가정해보자

그럼 여기서 A가 B에게 스킬을 사용해 적중했다고 치자 그러면 스킬을 맞은 B에 대한 정보, 스킬을 맞춘 A에 대한 정보등이 생성될 것이고 이 정보들은 서로 연결이 되어야 게임의 싱크가 맞아 돌아갈 것이다. 이것이 오프라인 게임일 경우 각 클라이언트에게 전달하는데 별 이상이 없을것으로 보인다. 하지만 온라인 게임이라면 이 정보들을 클라이언트에 맡기게 되면 클라이언트에서 자신에게 유리하게 바꿔 서버에게 보내게 되면 다른 클라이언트들이 불합리해질 것이다. 이때 이런 핵심 정보들을 조작하지 못하게 담당하게 하는 곳이 서버라고 생각하면 될 것 같다 그리고 이뿐만 아니라 서버에 각 개체들의 정보를 저장하게 되면 클라이언트들끼리의 복잡한 통신이 아닌 서버를 통한 간단한 통신이 가능하다

 

이런 이점을 갖기에 기업들은 서버-클라이언트 아키텍쳐를 운용하기 시작했다.

그렇게 서버들이 하나 둘 쌓여 아예 많은 서버들을 담당하는 데이터 센터라는 것이 등장하게 되었다. 하지만 이 데이터 센터를 운영하는데 큰 비용이 들어가게되는데 건물유지비용 등등 많은 곳에 비용이 들어가게 되는데 서버를 한번 구매하면 수요에 상관없이 계속 보유해야 하는 상황도 생기게 되었다 그리고 많은 서버들을 일일이 관리하는데 어려움이 생겼다

=> 이를 해결하기위해 클라우드가 출현하게 되었다

 

클라우드의 장점

1. 서버를 사용한 만큼 비용을 지불하기 때문에 데이터 센터 구축비용, 서버 구매비용 같은 운영비를 아낄 수 있음.

=> 사람들의 수요에 반응해서 최적화된 서버사용을 할 수 있다.

 

2. 규모의 경제로 인해 단가를 싸게 받을 수 있음

 

3.속도 및 민첩성 개선, 유지보수가 용이함

=> 제품의 개발에 집중이 가능함 (핵심 비즈니스만 구현)

 

4. 전세계에 서비스가 가능함

 


클라우드 컴퓨팅 모델

 

IaaS : Infrastructure as a Service

- 인프라만 제공

- OS를 직접 설치하고 필요한 소프트웨어를 개발해서 사용

- 즉 가상의 컴퓨터를 하나 임대하는 것과 비슷함

 

PaaS : Platform as a Service

- 인프라 + OS + 기타 프로그램 실행에 필요한 부분

- 바로 코드만 올려서 돌릴 수 있도록 구성한다

 

SaaS : Software as a Service : 인프라 + OS + 필요한 소프트웨어가 제공된다.

- 서비스 자체를 제공

- 다른 세팅 없이 서비스만 이용

- ex) Slack


클라우드 컴퓨팅 배포 모델

 

공개형(클라우드)

- 모든 부분이 클라우드에서 실행

- 낮은 비용

- 높은 확장성

 

폐쇄형

- 높은 수준의 커스터마이징 가능

- 초기비용이 비쌈

- 유지보수 비용이 비쌈

- 높은 보안

 

혼합형

- 폐쇄형과 공개형의 혼합

- 폐쇄형에서 공개형으로 전환하는 과도기에 사용

- 혹은 폐쇄형의 백업으로 사용

 


리전

- AWS의 서비스가 제공되는 서버의 물리적 위치

- 전 세계에 흩어져 있으며 큰 구분으로 묶여있음

- 각 리전에는 고유의 코드가 부여됨(us-east-1 대장임)

- 리전별로 가능한 서비스가 다름

 

내계정의 가용영역 A와 다른사람의 가용영역 A는 다르다.

 

엣지 로케이션

AWS의 CloudFront 등의 여러 서비스들을 가장 빠른 속도로 제공하기 위한 거점

 

S3 : 전 세계에서 동일하게 사용할 수 있으나 데이터 자체는 리전에 종속 : 리전서비스

 

 

 

Amazon Resource Name : AWS의 모든 리소스의 고유 아이디

 

 

 

출처:https://www.youtube.com/watch?v=9nBq6PxDvp4&list=PLfth0bK2MgIan-SzGpHIbfnCnjj583K2m&index=5