개발/AWS

[AWS] 클라우드와 AWS 기본 개념 이해하기

danieLee 2026. 8. 23. 01:02
반응형

AWS를 공부하기 시작하면 가장 먼저 마주치는 문제가 있다.

 

서비스가 너무 많다는 것이다.

 

EC2, S3, RDS, IAM, VPC, Lambda 등 처음 보는 이름이 계속 등장한다. 각각의 정의부터 외우기 시작하면 금방 복잡하게 느껴진다.

 

그래서 AWS를 처음 공부할 때는 개별 서비스를 바로 외우기보다 클라우드가 왜 필요한지, AWS가 어떤 역할을 하는지부터 이해하는 것이 중요하다.

 

이번 글에서는 AWS를 본격적으로 사용하기 전에 알아두면 좋은 기본 개념을 정리해본다.

aws


1. 서버란 무엇인가

https://visualwebtechnologies.com/digital-ocean-server/

 

AWS를 이해하기 전에 먼저 서버의 개념부터 생각해볼 필요가 있다.

서버는 쉽게 말하면 다른 컴퓨터의 요청을 받아 필요한 기능이나 데이터를 제공하는 컴퓨터다.

예를 들어 웹 서비스를 이용한다고 해보자.

사용자
  │
  │ HTTP 요청
  ↓
서버
  │
  │ HTML / JSON 등의 응답
  ↓
사용자

사용자가 웹사이트에 접속하거나 게시글을 작성하면 서버가 요청을 받아 처리한다.

Spring Boot와 같은 백엔드 애플리케이션을 내 컴퓨터에서 실행하면 보통 다음과 같은 형태가 된다.

내 컴퓨터
└─ Spring Boot
   └─ localhost:8080

여기서 localhost는 현재 사용하고 있는 자신의 컴퓨터를 의미한다.

개발하는 동안에는 이것만으로 충분하지만 실제 서비스를 운영하려면 문제가 생긴다.

내 컴퓨터를 24시간 켜놓아야 하고, 다른 사용자가 인터넷을 통해 접속할 수 있도록 설정해야 한다. 장애가 발생했을 때 직접 대응해야 하고 서버의 성능이 부족하면 새로운 컴퓨터도 준비해야 한다.

이런 문제를 해결하기 위해 클라우드를 사용할 수 있다.


2. 클라우드 컴퓨팅이란

과거에는 서비스를 운영하기 위해 회사가 직접 서버를 구매하는 경우가 많았다.

서버 구매
↓
서버실 설치
↓
네트워크 구성
↓
운영체제 설치
↓
프로그램 설치
↓
운영 및 관리

서버를 미리 구매해야 하므로 초기 비용이 많이 들고, 사용자가 갑자기 증가하면 추가 서버를 준비하는 데도 시간이 필요하다.

클라우드 컴퓨팅은 이런 컴퓨팅 자원을 인터넷을 통해 필요한 만큼 빌려 사용하는 방식이다.

필요한 서버 선택
↓
클라우드에서 생성
↓
바로 사용
↓
필요 없으면 제거

즉 직접 서버를 구매하고 관리하는 대신 클라우드 사업자가 보유한 컴퓨팅 자원을 사용한다.

대표적인 클라우드 서비스에는 다음과 같은 것들이 있다.

AWS
Microsoft Azure
Google Cloud

이 중 AWS는 Amazon에서 제공하는 클라우드 플랫폼이다.


3. AWS란

AWS는 Amazon Web Services의 약자다.

AWS에서는 서버뿐만 아니라 서비스 운영에 필요한 다양한 기능을 제공한다.

대표적으로 다음과 같다.

EC2
→ 서버

S3
→ 파일 저장소

RDS
→ 관계형 데이터베이스

IAM
→ 사용자 및 권한 관리

VPC
→ 네트워크

CloudWatch
→ 로그 및 모니터링

예를 들어 일반적인 웹 서비스를 AWS에 구성한다면 다음과 같은 형태가 될 수 있다.

사용자
  │
  ↓
Internet
  │
  ↓
EC2
  │
  ├─ Spring Boot
  │
  ├────────→ S3
  │          이미지 / 파일
  │
  └────────→ RDS
             데이터베이스

여기서 각 AWS 서비스가 하나의 역할을 담당한다.

따라서 AWS를 공부할 때는 서비스 이름을 외우는 것보다 이 서비스가 전체 시스템에서 어떤 역할을 하는지 이해하는 것이 중요하다.


4. On-Premise와 Cloud의 차이

온프레미스 vs 클라우드

 

직접 서버를 구매하고 운영하는 방식을 일반적으로 On-Premise라고 한다.

두 방식을 단순하게 비교하면 다음과 같다.

On-PremiseCloud

서버를 직접 구매 서버를 필요할 때 사용
초기 비용이 큼 초기 비용 부담이 상대적으로 적음
장비를 직접 관리 클라우드 사업자가 인프라 관리
증설에 시간이 필요 비교적 빠르게 자원 추가 가능
물리 공간 필요 물리 서버 공간을 직접 준비할 필요 없음

클라우드의 중요한 특징 중 하나는 필요한 만큼 자원을 늘리고 줄일 수 있다는 것이다.

예를 들어 처음에는 서버 한 대만 사용하다가 사용자가 많아지면 서버를 추가할 수 있다.

초기

Server

사용자가 증가하면 다음처럼 확장할 수 있다.

Server
Server
Server
Server

반대로 트래픽이 줄어들면 서버 수를 줄일 수도 있다.

이러한 특징을 Elasticity, 즉 탄력성이라고 한다.


5. Region이란

AWS는 전 세계 여러 지역에 데이터센터를 운영한다.

AWS에서는 이러한 지리적인 영역을 Region이라고 한다.

예를 들어 한국에는 서울 Region이 있다.

Asia Pacific (Seoul)

ap-northeast-2

AWS 서비스를 생성할 때 대부분 어떤 Region에 리소스를 만들지 선택하게 된다.

예를 들어 다음과 같다.

서울 Region
├─ EC2
├─ RDS
└─ VPC

한국 사용자를 대상으로 서비스를 운영한다면 일반적으로 서울 Region을 고려할 수 있다.

Region을 선택할 때는 사용자와의 거리뿐만 아니라 비용, 사용 가능한 서비스, 법적 요구사항 등도 고려해야 한다.


6. Availability Zone이란

Region 안에는 다시 여러 개의 Availability Zone, 줄여서 AZ가 존재한다.

구조를 단순화하면 다음과 같다.

AWS

└─ Seoul Region
   │
   ├─ Availability Zone A
   │
   ├─ Availability Zone B
   │
   └─ Availability Zone C

Availability Zone은 하나 이상의 물리적인 데이터센터로 구성된 독립적인 영역이라고 이해하면 된다.

왜 하나의 Region 안에 여러 AZ가 필요할까?

하나의 장소에 모든 서버가 몰려 있으면 해당 데이터센터에 문제가 발생했을 때 서비스 전체에 영향을 줄 수 있기 때문이다.

예를 들어 서버를 서로 다른 AZ에 분산할 수 있다.

Seoul Region

AZ-A                 AZ-B

Server A             Server B

AZ-A에 문제가 발생하더라도 AZ-B의 서버를 이용해 서비스를 계속 제공하는 구조를 만들 수 있다.

따라서 AZ는 이후에 배우게 될 고가용성(High Availability)과 밀접한 관계가 있다.


7. Region과 AZ의 차이

처음 AWS를 공부할 때 Region과 AZ를 혼동하기 쉽다.

간단하게 정리하면 다음과 같다.

Region
→ 큰 지리적 영역

Availability Zone
→ Region 안에 존재하는 독립적인 데이터센터 영역

구조로 보면 다음과 같다.

AWS
│
├─ Seoul Region
│   ├─ AZ-A
│   ├─ AZ-B
│   └─ AZ-C
│
├─ Tokyo Region
│   ├─ AZ-A
│   ├─ AZ-B
│   └─ AZ-C
│
└─ Virginia Region
    ├─ AZ-A
    ├─ AZ-B
    └─ AZ-C

즉 Region 안에 여러 Availability Zone이 존재한다.


8. AWS Resource란

리소스 정리

 

AWS를 사용하면 Resource라는 표현도 자주 등장한다.

Resource는 쉽게 말하면 AWS에서 생성한 실제 자원을 의미한다.

예를 들어 다음과 같다.

EC2 Instance
S3 Bucket
RDS Database
VPC
Security Group

EC2라는 서비스에서 서버 한 대를 만들면 그 EC2 Instance가 하나의 Resource가 된다.

EC2
→ 서비스

EC2 Instance
→ 생성한 Resource

S3도 마찬가지다.

S3
→ 서비스

S3 Bucket
→ 생성한 Resource

AWS 콘솔을 사용하다 보면 "Resource 생성", "Resource 삭제" 같은 표현이 자주 등장하므로 알아두는 것이 좋다.


9. AWS를 사용할 때 기본적인 구조

앞으로 공부하게 될 AWS 서비스들을 매우 단순하게 연결하면 다음과 같다.

                     사용자
                       │
                       ↓
                    Internet
                       │
                       ↓
                     EC2
                Spring Boot
                  │       │
                  │       │
                  ↓       ↓
                 RDS     S3
                 │       │
             DB 데이터   파일

그리고 이 리소스들을 안전하게 사용하기 위해 다른 서비스가 추가된다.

IAM
→ 누가 AWS 리소스를 사용할 수 있는지 관리

VPC
→ AWS 내부 네트워크 구성

Security Group
→ 네트워크 접근 허용/차단

CloudWatch
→ 서버와 서비스 상태 모니터링

결국 AWS를 공부한다는 것은 각각의 서비스를 따로 외우는 것이 아니라 이 서비스들이 하나의 시스템 안에서 어떻게 연결되는지 이해하는 과정이라고 볼 수 있다.


10. AWS 공부는 어떤 순서로 하면 좋을까

AWS에는 수많은 서비스가 있지만 처음부터 모두 공부할 필요는 없다.

웹 서비스를 직접 만들어본다는 기준으로 다음 순서가 이해하기 쉽다.

AWS 기본 개념
      ↓
IAM
      ↓
EC2
      ↓
S3
      ↓
RDS
      ↓
VPC
      ↓
실제 서비스 구성

각 서비스의 역할을 한 줄로 정리하면 다음과 같다.

서비스 역할
IAM 사용자와 권한 관리
EC2 애플리케이션 서버 실행
S3 이미지, 문서 등의 파일 저장
RDS 관계형 데이터베이스
VPC AWS 내부 네트워크 구성

이 다섯 가지를 이해하면 AWS에서 일반적인 웹 서비스를 구성하는 기본적인 흐름을 이해할 수 있다.


마무리

AWS를 처음 접하면 EC2, S3, RDS 같은 낯선 서비스 이름 때문에 복잡해 보인다.

하지만 가장 기본적인 관점에서 보면 역할은 생각보다 단순하다.

EC2
→ 프로그램을 실행한다.

S3
→ 파일을 저장한다.

RDS
→ 데이터를 저장한다.

IAM
→ 권한을 관리한다.

VPC
→ 네트워크를 관리한다.

그리고 이 모든 것이 AWS라는 클라우드 환경 안에서 서로 연결된다.

 

따라서 처음부터 모든 AWS 서비스를 외우려고 하기보다는 하나의 웹 서비스를 만든다는 관점에서 필요한 서비스를 하나씩 연결하며 공부하는 것이 좋다.

 

다음 글에서는 AWS를 사용할 때 가장 먼저 알아야 하는 보안 서비스인 IAM(Identity and Access Management)을 정리한다.

반응형