
중요도가 높은 질문들 - ⭐
실무 면접을 여러 번 진행해보면서 받아본 질문들 - ✔️
(프론트엔드 직무를 희망하면서 AWS 관련 질문을 받아볼 경우는 많진 않지만, 웹 개발자 직무를 희망하면서 모르면 아쉬울 부분이다.)
들어가기 전, IaaS, PaaS, SaaS 란?
- IaaS
- 서비스로 제공되는 Infrastructure, 개발사에 제공되는 물리적 자원을 가상화
- 확장성이 높고, 자동화된 컴퓨팅 리소스(서버, 네트워크, OS, 스토리지)를 가상화하여 제공
- AWS, MS Azure이 대표적
- PaaS
- 서비스로 제공되는 Platform, 개발사에 제공되는 플랫폼을 가상화
- 주로 응용 프로그램을 개발할 때 필요한 플랫폼(OS, 미들웨어 등)을 제공
- AWS Elastic Beanstalk, Google App Engine이 대표적
- SaaS
- 서비스로 제공되는 Software, 고객에게 제공되는 SW를 가상화
- 애플리케이션 웹 브라우저를 통해 직접 실행되므로 클라이언트 측에서 다운로드가 필요하지 않음
- Dropbox, Salesforce가 대표적
1. AWS EC2 란?
2. AWS Lambda란?
- AWS에서 제공하는 서버리스 컴퓨팅 플랫폼
- 개발자는 오로지 코드에만 집중할 수 있는 환경을 제공
- Infra 설계에 대한 부담이 줄어 코드 개발에만 집중할 수 있다.
- 사용한 컴퓨팅 시간, 용량에 대해서만 비용 지불
- 코드를 특정 시기에만 실행시키는 경우에 유용
- 웹 백엔드 요청 처리 등 빠른 처리 요구 등에 적합
- 함수 최대 실행 시간이 15분이며, 15분이 넘어가는 코드는 실행되지 않는다.
- EC2 보다는 상대적으로 느리다.
3. AWS S3란?
- AWS에서 제공하는 인터넷용 스토리지 서비스
Bucket
+ Key
로 구성되어있다.
Bucket
: S3에 저장된 객체에 대한 컨테이너
Key
: 모든 객체는 하나의 Key
를 갖는다.
- 리전이 별도로 존재하지 않으며, 고유한 이름을 가져야 한다.
- 버전관리 기능을 통해 복원할 수 있다.
종류
- 일반 S3
- S3-IA
- 자주 접근 하진 않지만, 접근해야 한다면 빠르게 접근해야 하는 파일에 사용
- 일반 S3에 비해 저렴하지만, 접근 시 추가적 비용 발생
- S3-One Zone IA
- 하나의 AZ에만 의존, 데이터 접근에 제한이 많음
- 낮은 가용성
- IA보다 20% 가량 저렴함
- Glacier
- 데이터 접근이 거의 없는 데이터를 저장 시 유용
- 단순 저장에 대한 용도로 저렴함
- Intelligent Tiering
- 데이터의 접근 주기를 자동으로 분석해
Frequent Tier
, InFrequent Tier
중 하나로 선택
Frequent Tier
의 비용이 더 비싸다.
4. AWS CloudFront란?
- AWS에서 제공하는 CDN 서비스
.html, .css, .js
및 이미지 파일과 같은 정적/동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원
- 전 세계의 Edge Server 들 중 Client와 가장 가까운 Edge Server에서 빠른 데이터를 제공한다.
- AWS에서 Origin Server는 주로 S3, EC2 Instance 이다.
- 대용량 파일의 업로드 / 다운로드가 주로 일어나는 서비스에선 CDN을 이용하는 것이 유리하다.
장점
- 사용자의 요청이 통과하는 Network의 수의 감소로, 성능 향상을 가져온다.
- 파일을 처음 로드 시에, 지연 시간이 감소하고 데이터 전송 속도가 빠르다.
- 파일의 사본이 Edge Location에 위치하므로 안정성, 가용성에서 유리하다.
- Origin Server에 대해 End to End 연결의 보안이 HTTPS를 통해 보장된다.
5. AWS RDS란?
- 관계형 데이터베이스로 데이터베이스 서비스 제공
- MySQL, PostgreSQL 등 DB를 직접 운영하지 않고 AWS에 대행
- AWS에서 DB이용
- EC2에 직접 DB 설치 → COCO 프로젝트의 경우 이 방법
- RDS 사용 → DB에 대해 신경을 덜 쓸 수 있다.