AWS

01) AWS 개요

highlev 2025. 2. 13. 20:12

애플리케이션은 물리 서버에 배포된다.

애플리케이션을 배포하려면 먼저 서버를 준비해야한다.

클라우드환경에서는, 가상머신을 대여하여 서버를 구축할 수 있다.

AWS에서 가상 머신을 EC2 ( Elastic Compute Cloud)라고 한다.

AWS에서 가상머신을 생성하려면 EC2 인스턴스를 생성한다.

EC2를 “ EC2 인스턴스를 생성하는 서비스”라고 정의한다.

EC2 서비스로 EC2를 생성하고 관리하고 시작하고, 중단하고, 종료할 수 있다.

EC2에도 우리 컴퓨터의 ssd나 hdd처럼 스토리지를 부착할 수 있다.

이럴 때 사용하는 게, EBS (Elastic Block Store)

EC2를 사용해서, 여러 EC2 인스턴스에 대해 로드 밸런싱을 수행할 수 있다.

백만명이 한 애플리케이션을 사용하는 상황에서, 오직 하나의 EC2 인스턴스로만 실행할 수 없다.

여러 EC2 인스턴스가 필요하고, 이런 경우에 로드밸런싱이 필요하다.


AWS 용어

Region

데이터 센터가 위치한 지역


Availability Zone

하나의 Region 안에 분리된 데이터 센터 구성


AMI (Amazon Machine Image) 

특정 운영체제를 선택해서 시작할 수 있고, EC2 인스턴스에 사용할 소프트웨어를 커스터마이징 할 수 있다.


Instance Family

적절한 하드웨어 패밀리 선택을 돕는다.

EC2는 애플리케이션에, 데이터베이스에, 캐시에 사용될 수 있다.

이 용도에 따라 다양한 인스턴스 패밀리를 제공한다.

각 인스턴스 패밀리는 특정 유형의 워크로드 또는 애플리케이션에 적합하다.


Elastic Block Store

EC2 가상머신에 스토리지를 부착할 수 있다.


Security Group 

클라우드 상에서 공유 인프라스트럭처를 사용하기 때문에 보안이 굉장히 중요하다.

보안 그룹을 사용해서 모든 리소스로 들어오는 트래픽을 제어할 수 있다.

규칙을 설정해서 어떤 트래픽이 들어오고 나갈 수 있는지 허용한다.


키 페어 

EC2 인스턴스를 생성할 떄 마다 키페어를 연결할 수 있다.

키 페어는 퍼블릭 키와 프라이빗 키로 구성된다.

퍼블릭키는 EC2 인스턴스에 직접 저장된다.

프라이빗 키는 사용자가 가지고 있다.

이 프라이빗키를 이용해서 EC2 인스턴스에 연결할 수 있다.


Iaas (Infrastructure as a Service)

클라우드 제공자의 인프라스트럭처만 사용하는 것

클라우드 제공자가 하드웨어, 네트워킹, 가상화를 처리해준다.

나머지에 대해서는 모두 사용자가 직접 설정해야한다.

  • os 업데이트 및 패치
  • 애플리케이션 코드 및 런타임
  • 로드밸런싱
  • 오토 스케일링 ( 사용자 수에 따라서 인스턴스의 개수를 조절하는 것)
  • 인스턴스의 고장에 대비해 가용성을 보장해야함

Paas

위에서 사용자가 직접 설정해야했던 것들을 모두 클라우드 제공자가 해줄 수 있는 것

paas를 통해 파이썬 애플리케이션을 배포한다면, 파이썬 코드만 제공하면 나머지는 클라우드 제공자가 처리한다.

 

Elastic BeanStalk

Paas의 예이다.

AWS에 웹 애플리케이션을 배포하고 스케일링하는 가장 간단한 방법

종단간 웹 애플리케이션 관리를 제공

다양한 언어와 프레임워크를 지원

자동 로드밸런싱 지원

오토 스케일링 지원


서버리스

서버리스는 인프라스트럭처를 신경쓰지 않아도 된다.

서버리스는 요청의 수에 따라 비용을 지불한다.

애플리케이션에 대한 요청이 없다면 비용을 지불하지 않는다.

ex) Lambda