AWS
정성과 시간을 들여서 서버를 만들고 웹앱을 만들더라도 개발자의 컴퓨터에서만 접속할 수 있다면 무슨 소용일까. 우리가 개발하고 만들어낸 많은 것들은 혼자만 사용하기 위함이 아니라 되도록이면 많은 사람들이 사용하고 공유할 수 있기를 바라면서 태어난다. 지금과 같이 많은 서비스를 누리고 경험하면서 살 수 있는 이유가 지금 나열하려고 하는 내용이다.
" 배포 " : deploy
그렇다면 어떻게 배포를 할 수 있을까? 누구나 방문해서 서비스든 정보든 원하는 것을 얻어가기 위해서는 각 사용자들 컴퓨터에서 브라우저가 읽어야 하는 파일들이 필요하다. HTML, JS 혹은 CSS 와 같은 파일들이다. 어떻게 하면 이 파일들을 사용자들이 접근하고 서버에 요청하고 원하는 정보들을 얻어 갈 수 있는지 알아보자.
S3 - Simple Storage Service
인터넷 스토리지 서비스
아마존에서 제공하는 스토리지 서비스이다. 저렴한 가격으로 이용이 가능하다. 구글 드라이브를 써봤다면 쉽게 이해가 될 것이다. 여기에서 쓰이는 용어와 각각의 역할도 알아보자.
Bucket
가장 기본적인 컨테이너 다. 이미지나 영상, 다양한 종류의 파일 등을 저장할 수 있고 개발자들에게 주어진 키를 이용하여 이용할 수 있다.
Object
파일 하나하나를 오브젝트, 객체 라고 부른다. 여기에는 파일에 대한 정보들을 가지고 있는데 이 또한 원하는 정보를 저장이 가능하다.
Key
버킷 내에 많은 객체들이 존재할 수 있기 때문에 각각의 객체는 고유의 키 를 갖는다. 여기서 말하는 키는, 웹 서비스의 엔드포인트, 버킷 이름, 또는 유니크한 주소를 지정해 사용할 수 있다.
EC2 - Elastic Compute Cloud
인터넷 가상 컴퓨터(서버)
일반적으로 서버를 구축하고 요청에 대응하려면 새로운 컴퓨터가 필요하다. 왜냐하면 서버 컴퓨터는 꺼지면 안되기 때문이다. 물론 컴퓨터가 꺼질 순 있겠지만 그렇게 되면 다시 서버가 켜질 때까지 누구도 서버에 접근 할 수가 없다. 즉, 사용자는 원하는 서비스를 원할 때 사용할 수 없다는 말이다. 그렇다고 우리가 이 비싼 컴퓨터를 새로 사고, 서버만을 위해서 안전한 곳에 모셔둘 수 있는 사람은 별로 없을 것이다. 기업의 규모가 어느 정도 있거나 많은 서버를 다뤄야 한다면 필요 할 수도 있겠지만 대부분 그렇지 않다. 그렇지 않은데도 불구하고 어떻게 이렇게 많은 서비스들이 생기고 제공될 수 있을까? 바로 클라우드 컴퓨팅 때문이다.
클라우드 컴퓨팅 서비스
저 구름위에 컴퓨터 한대 띄워놓는다고 생각하면 된다. 원하는 운영체제를 선택할 수 있고, 우리가 제공하고자 하는 웹이나 앱에 최적화된 환경을 구축해 가상의 컴퓨터를 만들 수 있다. 메모리, CPU, 저장공간 등 뭐든 선택이 가능하다. 단지 눈에 보이지 않을 뿐이지 원한다면 수천대의 컴퓨터를 만들어 낼 수도 있다.
클라우드 컴퓨팅의 장점
컴퓨터의 메모리나 용량을 바꾸고 싶다면 클릭으로 가능하다. 그것도 몇 분이면 가능하다. 또한 제공하고자 하는 서비스에 맞게 자동으로 스마트하게 맞춰줄 수도 있다.
비용 문제
비용은 시간당 사용 과금으로 측정된다. 또한 유동적으로 변화를 줄 수 있기 때문에 불필요한 지출과 낭비를 현저히 줄일 수 있다. 또한 하드웨어 특성상 기계적인 결함을 보일 수 있지만 클라우드 컴퓨팅에선 그러한 일을 일어나지 않는다.
RDS - Relational Database Service
데이터베이스 서비스
데이터의 시대. 그간의 수 많은 데이터의 축적으로 정말 다양하게 활용 될 수 있다. 중요한 건 새롭게 생겨나는 데이터를 저장하고 다시 가져오는 일을 어떻게 하느냐다. 우리가 잘 알듯이 데이터베이스라는 시스템을 이용해 해결될 수 있다. 아마존에서도 각각의 데이터베이스 시스템에 맞게 서비스를 제공한다.
RDS 란?
이름에서도 알 수 있듯이 관계형 데이터베이스 시스템을 제공하는 서비스다. 기본적인 세팅과 구성이 되어있어서 SQL 시스템으로 사용하면 된다. 또한 데이터인 만큼 안전하게 저장될 수 있음이 중요하기 때문에 누구에게나 노출될 수 있는 곳에 저장된 것은 좋은 방법은 아니다.
RDS의 장점
- Config 설정이 쉽다.
- 가장 중요한 백업과 데이터 복원이 가능하다.
- 데이터베이스 접근이 EC2에서만 가능하기 때문에 안전하다.
'Programming > JavaScript tips' 카테고리의 다른 글
AWS S3 - React app 배포하기 (0) | 2019.10.23 |
---|---|
Socket.io 다루기 - 실시간 투표앱, A to Z (0) | 2019.09.17 |
[TIL] node.js 서버 구성 (0) | 2019.08.13 |
Node.js 서버사이드 (0) | 2019.08.11 |
React.js_리액트 (0) | 2019.08.05 |