2021년 9월 15일에 작성된 문서 4번 입니다.
aws 배운 내용을 정리했습니다.
배포 전략
배포 : 개발한 서비스를 사용자가 이용할 수 있도록 하는 것

1. Client Application 배포
1-1. AWS의 S3 서비스를 통해 사용자들에게 Client를 제공할 수 있다.

- 로컬 환경에서는 자체 개발 서버를 이용해서 클라이언트 앱을 실행.

그럼, 클라이언트를 위해서 EC2 인스턴스를 사용해야 할까요?
그렇지 않다.
- 클라이언트 앱을 정적 파일로 빌드하여 제공하므로 S3를 이용해서 클라이언트를 배포한다.

1-2. 빌드

- 불필요한 데이터를 없애고, 여러 갈래로 퍼져있는 데이터들을 통합하여 배포하기에 최적화된 상태를 만드는 것.
- 데이터의 용량이 줄어들고, 웹 사이트의 로딩 속도가 빨라진다.
- 웹 앱은 배포 가능한 정적 파일의 형태로 만들어 줘야 한다.
asset 자체가 정적인 경우, 있는 그대로 배포하면 됩니다. React의 경우 npm run build
와 같은 명령을 사용해서, 정적 파일 형태의 결과물을 만들어 낸 후 배포하면 됩니다. 사용하고 있는 환경에 따라 빌드 과정은 다를 수 있습니다.
S3로 사용자들에게 Client Application을 제공하고 있는데, 사용자가 지구 반대편에 있다면 어떻게 빠르게 서비스를 제공할 수 있을까요?

- AWS에서 제공하는 CDN 서비스인 CloudFront를 통해 각 데이터센터에 데이터를 분산시켜서 저장해 뒀다가 가까운 지역에서 데이터를 주는 방식으로 사용자에게 더 빠르게 서비스를 제공.

2. Server Application 배포
사용자들이 제공받은 Client Application을 통해서 요청을 전달할 Server Application은 어떻게 배포해야 할까요?

- AWS EC2 서비스를 통해 손쉽게 서버를 구성하고 서비스를 제공할 수 있습니다.
3. Database 배포

- AWS에서는 Database 특화 서비스인 RDS 서비스를 제공하고 있다.
- 유지 보수 작업 담당하는 RDS를 이용해 즉시 데이터베이스를 사용.
- RDS를 이용하여 EC2를 통해 배포된 Server Application의 데이터를 저장, 제공하는 데이터베이스를 배포.
4. DNS

www.google.com
과 같은 도메인 주소를 이용해서 접근할 수 있었다.
처음 배포된 서비스는 도메인주소를 통해 접근할 수 있까?

- S3, EC2를 이용해 배포된 서비스는 IP주소 혹은 AWS에서 제공하는 서비스와 상관없는 긴 도메인주소를 통해 접근.

- AWS Route 53 서비스를 이용하면 도메인 주소를 통해 서비스에 접근 할 수 있다.
Written with StackEdit.