기타

AWS intro

알파빗 2022. 10. 23. 16:49

 

 

아마존 클라우드플랫폼

 

1.운영서버 :Production Server (실사용자 서비스)

 운영서버의 아키텍쳐

1.단일서버

사용자 -> server(application+DataBase)

가장 간단한 서버구조

전체 서비스의 장애 발생 가능성 높음

서버자원을 효율적으로 사용하기 어려움

보안성이 떨어짐

서버의 수를 여러개로 늘리는 확장방식이 어려움 (수평적확장)<--aplicaiton batabase 그대로 만들어야함

  1. aplication  database 서버분리 구조

사용자 -> server(aplication ----dataBase)

단일서버구조에서 aplication DB를 각각의 서버로 구성

단일서버구조의 단점을 어느정도 해소

하나의 서버가 아닌 두개 서버 관리 -> 구성복잡

aplication DB사이의 지연시간과 네트워크 보안고려

수평적 확장은 여전히 어려움

3.서버단위의 로드 밸런서 구조

사용자 -> local balancer ->server(aplication)1|-DataBase

                                         ->server(aplication)2|

사용자가 aplication 서버와 직접통신x , 로드밸런서 서버를 통해 통신하며 그 뒤에 여러 aplication 서버를 두는 구조

확장 용이 하나 서버에 장애 발생시 정상서버에 요청을 넘기며 서비스 장애 최소화

단 구성이 복잡해지고 로드밸런서 서버 장애시 전체서비스 문제

4.서버 내 앱단위의 로드밸런서 구조

사용자->local balancer ->server(local balancer ->app1 |-DataBase

                                                                                ->app2 |

서버 내에 앱단위의 로드밸런서가 추가된 구조

기존의 aplicaiton 서버 내 같은 aplication 여러프로세스로 만들어 실행

하나 서버 여러요청 동시처리

서버 자원 최대,효율적으로 사용

 

2.온프레미스

it 서비스를 기업이 자체적으로 보유한 물리적인 서버에 직접설치,운영하는 방식

1.특징

인프라를 물리적으로 직접구축해 운영하는 방식

서비스에 필요한 시스템을 구축하기 위해서 기업이 직접 구성에 맞게 하드웨어를 구입하거나 대여해야함

필요한 자원을 예측해 물리적인 구성을 설계하는데 예측과 실제가 달라 이로 인해 불필요한 비용이 사용될 수있음

서버확장이 필요할때 여러 제약사항이 많음

구축후에도 지속적인 모니터링 필요 

천재지변에 대응하기 어려움

 

3.클라우드 컴퓨팅

1.compute

cpu ram storage network 기능으로 구성된 물리적인 서버를 의미

it 리소스를 인터넷을 통해 on-Demand로 제공하고 사용한 만큼만 비용지불

2.특징

직접 물리적인 서버 장비를 구매하거나 대여하지않고도 요청하는 즉시 인터넷을 통해 온디맨드로 컴퓨팅 자원을 제공

원하는 시간동안 원하는 만큼의 컴퓨팅 자원을 언제 어디서나 이용가능하며 사용한 만큼의 비용만 지불

scale-up scale-out 자유롭게 가능

서비스에 따라 리소스의 타입변경 또는 사이즈확장이나 축소가 필요할때 손쉽게 컨트롤 가능

다양한 리전을 통한 글로벌 확장이 용이

Downtime이 적인 고가용성 보장

기존보다 더욱 간편하게 서버 스토리지 DB에 접근 가능한 솔루션 제공

 

3.분류

1.IaaS

infrastructure as a service

클라우드 컴퓨팅의 가장 기본적인 계층

비즈니스 운영에 필요한 서버 스토리지 네트워킹 등의 리소스 제공

사용자가 직접 많은 부분을 구성,관리 가능

인프라가 운영에 대한 지식,경험이 준비되지않은 경우 활용이 어려움

ex) AWS Elastic COmpute Cloud(EC2)

MicroSoft Azure Virtual Machines,

Google Compute Engine...

2.PaaS

Platform as as service

애플리케이션 및 서비스를 구축 할 수 있는 플랫폼 제공

여러 개발환경을 미리 구축하고 그것을 서비스형태로 제공

이미 구축된 환경에서 개발하기떄문에 iass보다 자유도가 낮음

서비스 외적인 부분에 신경안써도 되는거라 개발 비즈니스에 집중 가능

인프라 운영 인력 필요없음

ex) AWS Elastic Beanstalk, Heroku, Redhat OpenShift...

3.SaaS

Software as a service

클라우드 컴퓨팅 중 가장 완성된 형태의 서비스

소프트웨어 업데이트 버그 픽스 등을 업체가 도맡아 관리

사용자에게 필요하지않은 기능에 대해서도 비용지불

ex) Google Drive , icloud , slack,zoom,dropbox...

 

 

  1. AWS amazon web services

 

aws 사용하는 이유

클라우드 컴퓨팅 특징과 장점을 그대로, 혹은 그 이상으로 제공

뛰어난 유연성, 확장성/탄력성,보안성,안정성

 

1.Regions

전세계에 있는  AWS 데이터센터의 기준이 되는 물리적인 위치

사용자와 리전이 가까울수록 네트워크 지연최소화

AWS에서 제공하는 다양한 서비스들은 대부분 리전을 기반으로  제공

 

2Availablity zones

리전안에 존재하는 데이터 센터의  논리적인 그룹을 의미

리전들보다 빠르게 통신할 수 있음

  1. edge location

aws의 cdn 서비스만을 위한 공간

cloudeFront의 캐싱 컨텐츠가 위치하는 곳

사용자와 근처에 있을수록 더운 더 빠르게 전달받을수있기때문에 리전보다 훨씬 더 많음

 

ec2

eliastic compute cloud

단순클릭 몇번을 통해 쉽게 원하는 리소스를 고르고 이를 통해 즉시 구동가능한 서버를 제공하는 서비스

운영서버에 필요한 대부분의 operationg sytem을 지원하고 사용목적에 맞는 사양제공

 

rds

relational database service

데이터베이스를 설치 운영 확장할수있는서비스

백업과 같은 소프트웨어 유지보수를 위한 관리 task를 제거해 효율적인 운용가능

다양한 RDBMS제공

 

s3

simple storage service

 

이름그대로 파일을 쉽게 저장할수있는공간을 제공하는 서비스

파일마다 고유주소를 부여해 s3에 저장한 파일을 웹상에서 쉽게 읽을수있음

주로 사이트상의 이미지들을 저장하고 사이트에서 일어들여 렌더링해주는데 사용

 

vpc

virtual private cloud

클라우드 환경을 독립된 네트워크 환경으로 구성할수잇게도와주슨 삽,ㅣ스

 

사용자가 네트워크 환경설정에대한 완전한 통제권

 

cloudfront

aws 에서 제공하는 cdn서비스

cdn? 데이터 복사본을 임시로 저장하는 프로세스인 캐싱을 통해 사용자에게 빠르게 컨텐츠 제공(은행말고 atm가는것마냥)

latency 비교해 가장 가까운 곳에 위치한 엣지 로케이셔능ㄹ 통해

 

route 53

aws 에서 제공하는 dns서비스

dns? 사람이 읽을수있는 도메인 이름을 기계가 읽을수있는 ip주소로 변환

가용성 확장성 뛰어남 aws 내 타서비스들과의 호환성도 좋음

 

elb

elastic load balancer

로드밸런서-서버로 들어오는 높은 트래픽을 여러곳으로 적절하게 자동으로 분산, 안정적인 서버운영을 도와줌

다양한 보안옵션을 제공하며 애플리케이션서버의 사용률에 따라 자동으로 추가 제거 되는 고가용성및 탄력성

모니터및로깅

 

iam 

aws 리소스에 대해 개별적으로 접근제어를 하거나 권한을 가지도록 계정또는 그룹을 생성및관리하는 서비스

aws에서는 관리와 같은 일상적인 작업조차도 루트계정으로 하지않는 것을 권장 (계정이 없으면 보안상 매우 취약)

->계정 생성해서 각각 필요한 권한만 갖도록 설정, acces key 개별적으로 관리해 보안성을 높임