1q2w3e!
인 데, 클라우드에 설치된 데이터베이스 비밀번호는 a12345!
일 수 있음.env
등을 이용해 환경 변수를 설정AMI(Amazon Machine Image)
- 인스턴스를 생성하는데 필요한 소프트웨어 구성(운영 체제, 어플리케이션 서버, 어플리케이션)이 포함된 템플릿
*Instance는 선택한 AMI를 토대로 구성- AWS EC2 인스턴스를 생성한다는 것은 AMI를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌리는 것을 의미
- 이미지 종류로는 단순히 운영체제(윈도우, 우분투 리눅스 등)만 깔려있는 템플릿을 선택할 수도 있고, 아예 특정 런타임이 설치되어있는 템플릿이 제공되는 경우도 있음
*우분투 + node.js, 윈도우 + JVM 등
클라우드 스토리지
- 인터넷 공간에 데이터를 저장하는 저장소
- 뛰어난 접근성 : 웹 환경이라면 언제 어디서나 저장된 파일에 접근할 수 있음
*컴퓨터뿐만 아니라 웹에 접속이 가능한 다른 전자기기를 활용하여 클라우드 스토리지에 저장된 데이터에 접속할 수 있음
높은 가용성과 높은 내구성
- 리전(Region) : AWS에서 클라우드 서비스를 제공하기 위해서 운영하는 물리적인 서버의 위치
*리전 속 숫자 : 리전에 위치한 가용영역의 수- 가용 영역(Availability Zone) : 각 리전 안에 존재하는 데이터 센터(IDC)를 의미
*가용 영역은 각각 개별적인 위치에 떨어져서 존재- 한 곳의 가용 영역이 재난이나 사고로 인해 가동이 불가능해지더라도 다른 가용 영역에 백업을 해놓은 데이터를 활용하여 문제 없이 서버가 가동되게 함
*이런 가동 방식 덕분에 AWS에서 제공하는 서비스들은 높은 가용성과 내구성을 보장
S3 Standard
: 가장 일반적으로 사용되는 스토리지 클래스로, 데이터에 자주 액세스해야할 경우 사용
: 데이터에 빠른 속도로 접근할 수 있고, 데이터 액세스 요청에 대한 처리 속도가 빨라 범용적인 목적으로 사용하기 좋음
: 데이터를 오래 보관하는 목적으로는 보관 비용이 높게 발생하기 때문에 비효율적S3 Glacier
: 장기적인 보관 목적으로 스토리지를 사용할 때 효율적
: 저장된 데이터에 액세스하는 속도는 느리지만, 데이터를 보관하는 비용이 매우 저렴
객체
- 버킷에 담기는 파일로 S3에서 저장소에 데이터를 저장할 때 키-값 페어 형식으로 데이터를 저장하기 때문에 객체라 함
- 모든 객체는 고유한 URL 주소를 가지고 있
- URL 주소는
http://[버킷의 이름].S3.amazonaws.com/[객체의 키]
의 형태를 띠고, URL 주소를 통해서도 원하는 데이터에 접근할 수 있음- S3에 저장되는 객체는 파일과 메타데이터로 구성
1) 파일
- 키-값 페어 형식으로 데이터를 저장
- 파일의 값에는 실제 데이터를 저장하며, S3 객체의 값으로써 저장될 수 있는 데이터의 최대크기는 5TB
- 파일의 키는 각각의 객체를 고유하게 만들어주는 식별자 역할을 하며, 파일의 키를 이용하여 원하는 객체를 검색할 수 있음
2) 메타데이터
- 객체의 생성일, 크기, 유형과 같은 객체에 대한 정보가 담긴 데이터로 객체를 설명하는 데이터
빌드
- 불필요한 데이터를 없애고, 여러 갈래로 퍼져있는 데이터들을 통합/압축하여 배포하기에 최적화된 상태를 만드는 것
- 빌드 과정을 진행하기 전과 비교했을 때 데이터의 용량이 줄어들고, 웹 사이트의 로딩 속도가 빨라짐
- 일반적인 의미의 빌드는 소스코드를 실행 가능한 번들로 변환하는 컴파일 과정을 의미하는데, 웹 앱에서와같이 HTML, CSS, JS의 형태로 배포하는 경우는 다름
*웹 앱을 배포 가능한 정적 파일(static files)의 형태로 만들어 줘야 합- React의 경우
npm run build
와 같은 명령을 사용해서, 정적 파일 형태의 결과물을 만들어 낸 후 배포
*사용하고 있는 환경에 따라 빌드 과정은 다를 수 있음