-
아마존 웹 서비스(AWS)codeStates front-end/node(server) 2023. 3. 31. 11:56반응형
목차
📌 AWS
클라우드 컴퓨팅 서비스
📍 Cloud Computing
기존 서버 방식 - 같은 공간에 더 많은 컴퓨터를 추가해 한 대가 해결할 수 있는 요청을 여러 대가 나누는 방식
👉🏻👉🏻 공간의 한계와 주기적인 유지 관리의 어려움으로 한계가 드러남
클라우드 - 서버의 자원과 공간, 및 네트워크 환경 제공 필요할 때마다 컴퓨팅 능력을 유연하게 조절 사용한 만큼의 요금만 지급
👉🏻👉🏻 클라우드 서비스에 문제가 생기면 내가 배포하고 관리하는 환경에 영향을 미치는 단점이 존재함
🔗 SaaS, IaaS, PaaS
- IaaS : 서비스로 제공하는 인프라스트럭처클라우드 인프라스트럭처 서비스는 확장성이 높고 자동화된 컴퓨팅 리소스를 가상화하여 제공하는 것다.
- PaaS : 서비스로 제공하는 플랫폼클라우드 플랫폼 서비스는 주로 응용 프로그램을 개발할 때 필요한 플랫폼을 제공하는 것이다.
- SaaS : 서비스로 제공하는 소프트웨어클라우드 애플리케이션(소프트웨어) 서비스는 사용자에게 제공되는 소프트웨어를 가상화하여 제공하는 것이다. SaaS는 타사 공급 업체가 관리하는 사용자에게 응용 프로그램을 제공하기 위해 인터넷을 사용한다. 대부분의 SaaS 애플리케이션 웹 브라우저를 통해 직접 실행되므로 클라이언트 측에서 다운로드나 설치가 필요하지 않다.
🔗 EC2(Elastic Compute Cloud)
💁🏼♂️ Elastic이란? 탄력 있는, 유연한
클라우드를 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 서비스
AWS에서 컴퓨터를 빌리는 것을 인스턴스를 생성한다고 한다.
EC2 사용의 이점
- 구성하는데 필요한 시간이 짧다.
- 다양한 운영체제에 대한 선택이 가능하다.
- 컴퓨터를 한 대 빌리는 것이므로 컴퓨터로 할 수 있는 모든 일을 할 수 있다.
🔗 AMI(Amazon Machone image)
소프트웨어 구성이 기재된 템플릿
이미지 종류로는 단순히 운영체제(윈도우, 우분투, 리눅스 등)만 깔려있는 템플릿을 선택할 수 있고, 아예 특정
런타임이 설치되어 있는 템플릿이 제공되는 경우도 있다.(우분투 + node.js + JVM 등)
AWS에서 빌릴 PC는 사용용도에 맞게 운영체제, 런타임 등이 구성된 Setting을 선택할 수 있다.
💡 EC2 인스턴스 생성의 의미
AMI를 토대로 setting된 PC를 빌린다.
🔗 RDS(Relational Database Service)
AWS에서 제공하는 관계형 데이터베이스 서비스
💁🏼♂️ 왜 사용할까? 데이터베이스 유지 보수를 RDS가 전적으로 자동 관리 하기 때문에 큰 편의성을 느낀다.
또한 다양한 데이터베이스 엔진 선택지를 제공해 목적에 맞는 DB 엔진을 선택하여 효율성을 높일 수 있다.
🔗 S3(Simple Storage Service)
💁🏼♂️ 클라우드 스토리지란? 인터넷 공간에 데이터를 저장하는 저장소
S3는 AWS에서 제공하는 클라우드 스토리지 서비스로 뛰어난 접근성을 가진다.
S3 사용의 이점
- 확장성 - 데이터를 무한히 저장 가능(비용은 사용한 만큼!)
- 강력한 내구성 - 저장된 파일의 유실 가능성이 적어진다.
- 가용성 - 저장된 파일들을 정상적으로 사용할 수 있는 시간이 길어진다.
- 다양한 스토리지 클래스를 제공
- 정적 웹 사이트 호스팅이 가능하다.
💁🏼♂️ 정적 웹 사이트 호스팅이란? 정적 파일은 서버의 개입 없이 생성된 파일을 뜻한다. 웹 호스팅은 서버의 한 공간을 임대해 주는 서비스를뜻한다. S3에서는 버킷이 사용자들이 정적 웹 사이트를 배포할 수 있는 공간을 제공
💁🏼♂️ 버킷이란? 파일을 담는 바구니(최상위 디렉토리) - 접근 권한 수정도 가능하다.
S3에서는 버킷에 담기는 파일을 객체라고 부른다.
💁🏼♂️ 왜 객체라고 부를까? 저장소에 데이터를 저장할 때 키-값 페어 형식으로 데이터를 저장하기 때문이다
S3 객체의 값으로써 저장될 수 있는 데이터의 최대 크기는 5TB입니다.
🔗 Deploy Strategy
AWS에서 제공하는 서비스는 S3라는 서비스를 통해 사용자들에게 client 제공이 가능하다.
클라이언트 앱을 정적 파일로 빌드하여 제공
💁🏼♂️ 빌드란? 쉽게 말해 불필요한 데이터를 없애고, 여러 갈래로 퍼져있는 데이터들을 통합/압축하여 배포하기에 최적화된 상태
AWS는 CloudFront를 통해 각지의 데이터 센터의 데이터를 분산시켜서 저장해 뒀다가 까까운 지역에서 데이터를 주는
방식으로 사용자에게 더 빠르게 서비스를 제공할 수 있다.
💁🏼♂️ Server Application은 어떻게 배포할까? EC2 서비스를 통해 손쉽게 서버를 구성하고 서비스를 제공한다.
🔗 DNS(Domain Name Service)
AWS에서 제공하는 서비스와는 전혀 상관없는 긴 도메인 주소를 통해 접근하게 되는데, 이를 짧은 주소로
서비스를 접근할 수 있도록 DNS를 제공한다.
🔗 Deploy
배포란 개발한 서비스를 사용자가 이용가능하게 하는 과정이다.
기본적으로 4단계로 거쳐서 개발한 서비스를 배포한다.
🔗 Deploy 실습
EC2 생성
서버 연결 완료
S3 생성
프론드엔드 배포 완료
백엔드 배포 완료
반응형'codeStates front-end > node(server)' 카테고리의 다른 글
Proxy (0) 2023.04.04 [인증/보안] OAuth (0) 2023.03.09 [인증/보안] Token (0) 2023.03.08 [인증/보안] Session (0) 2023.03.08 [인증/보안] Cookie (0) 2023.03.07