상세 컨텐츠

본문 제목

Using -Cloud, S3, EC2, RDS in AWS

카테고리 없음

by Martin52 2019. 11. 5. 00:42

본문

 

 클라이언트와 서버에 대해 배울 때는 Localhost에 연결해 내 컴퓨터에서만 클라이언트, 서버가 작동하는 것을 볼 수가 있었다. 만약에 클라이언트 또는 서버가 작동이 잘 되고 이제 일반 사용자들에게 배포를 하려고 한다면 어떻게 해야 될 지에 대해서 경험해 본 것을 정리한다. AWS 사이트와 코드스테이츠, 생활 코딩 등의 자료를 참고했다.
 https://aws.amazon.com/ko/
 https://learnco.codestates.com/Immersive/15/4963
 https://opentutorials.org/course/608/3006
 https://hongku.tistory.com/101

 

 예전에는 배포를 하려면 우선적으로 직접 서버를 구축하고, 관리를 해야 했다. 요즘은 AWS(아마존 웹 서비스), 구글의 앱엔진 등 많은 클라우드 컴퓨팅 플랫폼들이 있어 이를 통해 배포하고 유지, 관리 및 보수를 할 수가 있다.


참고) 클라우드 컴퓨팅 플랫폼에는 아래와 같은 종류가 있다. 


IaaS(Infrastructure as a Serviece) : 기존의 물리적 형태로 사용했던 스토리지, 서버를 가상환경에서 신속히 할당받아 사용할 수 있는 서비스. PaaS, SaaS의 기반이 되는 가장 기본적인 클라우드 서비스 ( AWS, g클라우드 등)


PaaS(Platform as a Service) : 개발에 필요한 환경 서비스 제공.


SaaS(Sofrware as a Service) : 사용자가 원하는 소프트웨어 서비스 제공 

Cloud 란 Cloud Computing(서버, 스토리지, 네트워크, sw 등의 자원이 필요할 때 인터넷을 통해 서비스를 제공받는 것)을 의미한다. 아마존이나 구글 등에서 이러한 서비스를 제공해주고 있다.

 

Deploy와 관련해서 AWS를 사용을 해보았다. AWS가 제공하는 방식 중에는 S3, ES2, RDS 방식이 있다.

AWS S3 초기화면. 개발자가 BUILD를 통해 STATIC한 코드를 버킷에다 옮겨주면 STATIC 객체를 기반으로 서버를 구축할 수 있다.

S3는 Simple Storage Service의 약자로 파일 서버의 역할을 해주는 서비스이다. 상대적으로 신속하게 객체화된 데이터를 전달해 주고자 할 때 이용하는 서비스 이다. 클라이언트 단에서 이러한 서비스를 이용하면 용이할 것 같다는 느낌을 사용하면서 느꼈다. 


 많은사용자가 접속을 해도 이를 감당하기 위해 시스템적인 작업을 해주지 않아도 되고, 파일에 인증을 붙여 무단으로 엑세스하지 못하도록 설정해 줄 수 있다. 또한 HTTP, BitTorrent 프로토콜을 지원하고 REST, SOAP 인터페이스를 제공한다. 데이터가 중복 저장되어 손실이 발생하면 자동으로 복원되고 버전관리가 가능해 유지 및 보수 적으로도 좋다.


 S3는 개발자가 만든 STATIC한 프로그래밍을 버킷에다가 옮겨서 이를 배포할 수 있다. 이러한 버켓 단위로 버전 및 파일을 관리해 유지 및 보수에 용이하다.

ES2 초기 화면. 인스턴스를 시작하면 IP와 키페어 등을 받는다. 이를 이용해 가상환경 안에서 서버를 구축할 수 있다.

ES2는 Elastic Compute Cloud의 약자로, 개발자가 클라우드 플랫폼에게서 서버컴퓨터를 대여하는 방식이라고 생각할 수 있다. AWS의 경우 인스턴스를 시작, 생성을 하면 인스턴스에 대한 ID와 private 키 등이지급이 되는데 이를 이용해 AWS에 접근해서 개발자가 원하는 서버를 구축할 수 있다. 빈 공간을 대여하기 때문에 개발자가 받은 공간 안에 구축하는데 필요로 하는 프로그램과 모든 모듈 등을 다 설치하고 만들어야 서버가 구축이 된다. ES2를 이용하면 초기 구입비용(컴퓨터를 구매하는 등의)이 발생하지 않고 원하는 환경을 만들 수 있는 장점이 있다.

RDS는 Relational Database Service를 의미한다. ES2와 유사하지만 MySQL, Oracle, SQL Server 등 6개의 데이터베이스 엔진을 제공하고 설치, 운영, 백업, 복제 등을 아마존에서 제공해주기 때문에 ES2를 사용하는 것보다 빠른 시간 내에 서비스를 배포할 수 있는 장점이 있다. 또한 AWS 콘솔, API를 이용해 손쉽게 백업 및 복구가 가능해 이를 통해 들어갔을 시간과 비용을 단축할 수 있다.

 

클라우딩 서비스 플랫폼을 통해 배포를 한다면 초기에 많은 비용이 없어도 배포가 가능하고, 유지 및 관리가 편리하다는 점을 AWS에서 S3, ES2, RDS를 이용해보며 볼 수가 있었다.