티스토리 뷰
AWS는 Amazon Web Service 의 약자이다. AWS는 개발에 있어 필요한 거의 모든 기능들을 지원한다. 그 중 대표적으로 내가 만든 제품을 사용자들에게 사용할 수 있도록 만드는 것을 배포(Deployment)라고 한다. AWS에서 배포를 하기위해 지원하는 기능중 대표적인 것들은 EC2, RDS, S3 가 있다.
EC2는 Elastic Computer Cloud 의 약자로 AWS에서 원격으로 제어할 수있는 가상의 컴퓨터를 한 대 빌리는 것이다. 이곳에서 서버를 실행하거나 저장소로 사용하는 등 컴퓨팅 서비스를 제공 받을 수 있다.
RDS는 Relational Database Service 의 약자로 관계형데이터베이스의 인스턴스를 생성해서 데이터들을 관리 할 수 있다. EC2를 사용하면서 그곳에 데이터베이스를 생성해 사용할 수도 있다. EC2에서 데이터베이스를 만들게 되면 버전관리나 데이터베이스 엔진 설치 등 유지보수에 관한 부분을 모두 직접해야하지만 RDS를 사용하게되면 데이터베이스와 관련된 부분들에 대한 관리를 자동으로 담당해준다.
S3는 Simple Storage Service 의 약자이다. S3는 기본적으로 데이터를 저장하는 저장소의 역할이 크다. 하지만 배포시에 S3를 사용하게 되면 정적 웹 사이트를 호스팅하는 부분에서 큰 이점을 가진다. 웹페이지를 개발하고 나서 배포를 하기위해 빌드를 하는데 이때 웹 페이지가 정적파일로 빌드된다. 이 파일을 S3에 저장되는 파일들이 담기는 바구니같은 곳(버킷)에 담아 저장한다. 그리고 이 버킷의 정책을 변경해서 다른 유저가 해당 버킷의 엔드포인트로 접근 할 수 있도록 하면 사용자가 이용할 수 있는 웹페이지가 생성되는 것이다.
로컬에서 개발한 웹 어플리케이션을 S3의 버킷에 담아 호스팅하고 EC2에 서버를 구성하고 실행시켜 항상 호스팅된 웹 어플리케이션에 접근할 수 있도록 유지한다. RDS와 EC2의 서버를 연결해 CRUD기능으로 사용자가 데이터를 활용할 수 있도록 하면 배포가 완료되어 실제 Production을 사용자가 이용가능하게 된다.
'CS' 카테고리의 다른 글
| 네트워크 심화 (0) | 2021.07.05 |
|---|---|
| HTTP/네트워크 (0) | 2021.07.04 |
| 자료구조) 2. 1) Graph (0) | 2021.05.19 |
| 자료구조) 1. Stack, Queue (0) | 2021.05.16 |
| 클래스와 객체지향프로그래밍 (0) | 2021.05.10 |