본문 바로가기

공부정리

S3 , EC2, RDS 에 대해서..

S

3(Simple Store Service)

Simple Store Service에 대한 약자로 파일 서버의 역할을 하는 서비스 이다.

일반적인 파일서버는 트래픽이 증가함에 따라서 장비를 증설하는 작업을 해야한다.

S3는 이와 같은 작업을 아마존같은 회사같은 곳에서 대행해준다.

주요특징에 대해서 이야기하면

많은 사용자가 접속을 해도 이를 감당하기 위해서 따로 시스템 적인 작업을 하지 않아도 된다.

저장할 수 있는 파일 수의 제한이 없다.

최소 1바이트에서 최대 5TB의 데이터를 저장하고 서비스 할 수 있다.

파일에 인증을 붙여서 무단으로 액세스 하지 못하도록 할 수 있다.

HTTP와  BitTorrent 프로토콜을 지원한다.

REST , SOAP 인터폐이쓰를 제공한다.

데이터를 여러 시설에서 중복으로 저장해 데이터의 손실이 발생할 경우 자동으로 복원한다.

버전관리 기능을 통해서 사용자에 의한 실수도 복원이 가능한다.

정보의 중요도에 따라서 보호 수준을 차등 할 수 있고, 이에  따라서 비용을 절감 할 수 있다.(RSS)

주요개념

object, AWS는 S3예 저장된 데이터 하나 하나를 객체라고 명명하는데, 하나 하나의 파일이라고 생각하면 된다.

버킷

bucket, 객체가 파일이라면 버킷은 연관된 객체들을 그룹핑한 최상위 디렉토리라고 할 수 있다. 버킷 단위로 지역을 지정 할 수 있고, 또 버킷에 포함된 모든 객체에 대해서 일괄적으로 인증과 접속 제한을 걸 수 있다.

버전관리

s3에 저장된 객체들의 변화를 저장, 예를들어 A라는 객체를 사용자가 삭제하거나 변경해도 각각의 변화를 모두 기록하기 떄문에 실수를 만회 할수 있다.

BitTorrent 

분산된 파일 배포 시스템이라고 정의 할 수 있다. 여기서 분산이란 하나의 서버에서 파일을 배포하는 것이 아니라, 파일을 가지고 있는 컴퓨터들로부터 조금씩 파일을 다운받은 후에 이것을 붙여서 완전한 파일을 만드는 방식이다. 대용량 파일을 배포할 때 BitTorrent를 사용하면 비용을 크게 절감 할 수 있다. BitTorrent에 대한 자세한 설명은 생활표현의 BitTorrent 수업을 참고한다.

RSS

Reduced Redundancy Storage의 약자로 일반 S3 객체에 비해서 데이터가 손실될 확률이 높은 형태의 저장 방식, 대신에 가격이 저렴하기 떄문에 복원이 가능한 데이터, 이를테면 섬네일 이미지와 같은 것을 저장하는데 적합하다. 그럼에도 불구하고 물리적인 하드 디스크 대비 400배 가량 안전하다는 것이 아마존의 주장이다.

Glacier

영어로는 빙하라는 뜻으로 매우 저렴한 가격으로 데이터를 저장 할 수 있는 스토리지 서비스

 

EC2(Elastic Compute Cloud)

하나의 컴퓨터를 임대해주는 것이라고 생각하자고 한다.  이 컴퓨터는 특별한게 아니라 노트북이나 데스탑과 같은 똑같은 컴퓨터이고 여기에다가 선호하는 운영체제를 설치하고 웹서비스를 위한 프로그램들을 설치하면 된다. ASW에서는 인터넷을 통해서 이 컴퓨터에서 접속 할 수 있는 URL(Public DNS)를 제공하는데, 이 URL을 통햬서 웹서비스를 하거나 자신이 구입한 도메인을 붙여서 서비스 할 수 있다.

EC2와 가정용 컴퓨터의 중요한 차이는 인터넷을 통해서만 접속할 수 있고, 주문 후 1분안에 생성되고 삭제 즉시 삭제가 된다.  초기 구입비가 전혀 없으며 사용한 만큼 비용을 지불하는 방식이다.

아마존의 심장이기도 한다고 한다.

 

아마존 관계형 데이터베이스 서비스 === 아마존 RDS

RDS와 웹서비스 

RDS와 깥은 데이터베이스 시스템의 가장 보편적인 용도는 역시 웹서비스라고 할 수 있다. 데이터베이스에 저장된 데이터를 웹을 통해서 저장하고 표현하는 것이다. 이 때 사용되는 기술이 PHP, Java, Python, ASP와 같은 서버 측 기술들이다. 이 기술이 제공하는 언어를 이용해서 데이터베이스를 프로그래밍적으로 제어하게 되는 것이다.

RDS와 웹 프로그래밍 

RDS를 이용햬써 웹서비스를 하는 방법은 특별한 것이 없다. RDS를 생성하고, (PHP, Java, Python과 같은 애플리케이션 서버가 RDS에 접속 할 수 있도록 포트와 IP를 개방하고, RDS 인쓰턴쓰의 End Point로 접속하면 된다.