우리는 어떠한 서비스를 만들고나면 실제 사용자들이 접근하고 사용할수 있도록 '배포'라는 작업을 해야합니다. 개발서버에서 만든 프로젝트를 실제 사용자들이 접근할수 있는 서버로 옮겨줘야 사용이 가능하기 때문이죠.
자 그럼 배포를 하기 위해서는 서버가 필요한데 서버를 가지고있는 회사도 있고, 아닌 회사도 있으며, 개인의 경우에는 서버를 마련하기 쉽지 않습니다. 그래서 이번 글에서는 개인도 쉽게 서버를 빌려 사용할수 있는 서비스인 AWS에 대해 S3, EC2, RDS로 나누어 알아보겠습니다.
AWS의 서비스중 S3에 대해 알아보겠습니다.
AWS의 공식사이트에 보면 다음과 같은 설명이 나와있습니다.
Amazon Simple Storage Service는 인터넷용 스토리지 서비스입니다. 이 서비스는 개발자가 더 쉽게 웹 규모 컴퓨팅 작업을 수행할 수 있도록 설계되었습니다.
S3는 개발자(관리자)가 제공하는 '객체'를 버킷에 담아 사용자에게 제공하는 서비스 입니다. 여기서 말하는 '객체'라 함은, 사용자가 S3에 있는 버킷에 담을 데이터(파일)을 의미하며, 버킷은 S3에 있는 저장공간을 의미하며 하나의 단위가 될수 있습니다. 버킷을 여러개 만들어서 관리할수도 있다는 의미죠.
S3의 버킷에는 SPA나 react와 같은 정적인 프로젝트를 올려 사용자가 S3에 접속해 클라이언트에 필요한 자료등을 받아 사용할수 있습니다.
이번에는 EC2서비스에 대해서 한번 알아보겠습니다.
이번에도 AWS에 나와있는 공식 설명을 볼까요?
Elastic Compute Cloud(EC2)는 클라우드에서 안전하고 확장이 가능한 컴퓨팅 파워를 제공하는 웹 서비스입니다.
EC2는 간단하게 말하자면, 가상의 컴퓨터를 한대 빌리는 서비스 입니다. 혹시 가상머신을 사용해서 컴퓨터를 구성해본적이 있으신가요? 가상머신으로 새로 컴퓨터를 구성하면 정말 우리가 지금 쓰고있는것과 다르지 않은 컴퓨터를 생성하여 하나의 컴퓨터처럼 사용할수 있습니다.
만약 여러분이 서버를 구성해야 한다면 직접 자신의 컴퓨터를 서버로 사용할수도 있습니다. 하지만 컴퓨터를 항상 켜놔야 한다는점, 다른 사람들이 내 컴퓨터에 접속한다는점 이외에도 많은 부분을 컨트롤 해야하고, 더불어 전기세도 나갈것입니다. 이럴때 우리는 EC2 서비스를 이용하여 서버를 손쉽게 사용할수있습니다. 또한 규모가 커진다면 서버의 자원을 별도로 증설할 필요없이 트래픽에 따라 자원을 유동적으로 할당해주니 우리는 개발만하고 서버에 관해서는 신경쓸 필요가 없어집니다.
마지막으로 RDS에 대해서 알아보겠습니다.
RDS는 Relational Database Service의 약자로 번역하면 관계형 데이터 베이스 서비스 입니다. RDS는 의미 그대로 관계형 데이터베이스를 대여해주는 서비스 입니다.
EC2를 사용한다고 해서 반드시 RDS를 사용해야만 하는것은 아닙니다. 하지만 RDS를 사용하면 여러가지 이점이 있습니다.
이 외에도 RDS는 다양한 기능을 제공하고 있어 많이 사용되고 있습니다. 사실 AWS가 아니더라고 이러한 기능을 제공하는 서비스는 더 있는데요 AWS를 사용한다면 하나의 생태계에서 모든 환경을 구성할수 있다는 점에서 편리하다고 생각합니다.
이미지 출처