이번 이틀은 AWS 클라우드 특강이 있었다.
깊은 내용이라기보단 클라우드의 각 기술의 개념과, VPC, EC2, S3등을 직접 만들어보는 실습을 진행하였다.
근데 수업 자료를 블로그에 올려도 되는지 여쭤보질 않아서 기술들 개념정도만 정리하고 넘어가려 한다.
EC2
1. 정의
EC2는 AWS에서 제공하는 확장 가능한 가상 서버다. 내 물리적인 컴퓨터가 아니라, 아마존의 거대한 데이터 센터에 있는 컴퓨터의 일부분을 빌려 쓰는 개념이라고 보면 된다.
2. 이름에 담긴 의미
- Elastic: '신축성 있는'이라는 뜻이다. 서버 사양을 마음대로 늘리거나 줄일 수 있고, 필요 없으면 바로 삭제할 수 있어서 붙은 이름이다.
- Compute: 말 그대로 연산(컴퓨팅) 작업을 수행하는 장치다.
- Cloud: 인터넷을 통해 어디서든 접속해서 사용할 수 있다.
3. 핵심 특징
- 인스턴스(Instance): 클라우드에서 실행되는 가상 서버 하나하나를 '인스턴스'라고 부른다.
- 종량제 요금: 사용한 시간만큼만 비용을 지불한다. 컴퓨터를 켜놓은 동안만 돈이 나가기 때문에 효율적이다.
- AMI와의 관계: EC2를 처음 만들 때 "어떤 OS와 소프트웨어를 깔까?"를 결정하는 게 바로 앞에서 배운 AMI다.
4. 왜 쓰는 걸까?
- 하드웨어 관리 불필요: 실제 서버 컴퓨터를 사서 조립하고 랜선 꼽을 필요가 없다. 클릭 몇 번이면 서버 한 대가 뚝딱 만들어진다.
- 유연한 대응: 갑자기 접속자가 몰리면 서버 사양을 높이거나(Scale-up), 서버 개수를 늘려서(Scale-out) 대응하기 쉽다.
보안그룹 꼭 체크할것
AMI
1. 정의
AMI는 EC2 인스턴스를 생성하는 데 필요한 모든 정보(운영체제, 애플리케이션 서버, 애플리케이션 등)가 담긴 가상 머신 이미지다.
2. 핵심 비유: 설계도와 제품
- AMI는 서버의 '설계도' 혹은 **'붕어빵 틀'**이다.
- EC2 인스턴스는 그 설계도를 바탕으로 실제 돌아가는 **'컴퓨터(붕어빵)'**다.
- 동일한 AMI만 있다면 하드웨어나 환경 설정 고민 없이 똑같은 사양의 서버를 무한대로 복제할 수 있다.
VPC
1. 정의
VPC는 AWS 클라우드 내에서 나만 사용할 수 있게 논리적으로 격리된 가상 네트워크 공간이다. 쉽게 말해, 거대한 아마존 센터 안에 **"여기서부터 여기까지는 내 땅이야"**라고 울타리를 치는 것과 같다.
2. 핵심 비유: 우리집 거실과 방
- VPC: 우리 집 전체 (대문이 있고 주소가 있음)
- 서브넷(Subnet): 집 안의 방 (거실, 침실, 화장실처럼 용도에 따라 나눈 공간)
- EC2: 방 안에 들여놓은 컴퓨터나 가구
3. 주요 구성 요소
- 서브넷 (Subnet): VPC를 더 작은 단위로 쪼갠 네트워크.
- Public 서브넷: 인터넷이랑 바로 연결됨 (웹사이트용)
- Private 서브넷: 외부 소통을 막아둠 (DB 같은 중요한 데이터용)
- 인터넷 게이트웨이 (IGW): VPC라는 집의 '대문'. 이게 있어야 외부 인터넷이랑 통신이 가능하다.
- 라우팅 테이블 (Routing Table): 이정표. 데이터가 어디로 가야 할지 길을 안내해준다.
- 보안 그룹 (Security Group): EC2 바로 앞에 있는 경비원. 허락된 데이터만 들여보내 준다.
4. 왜 쓰는 걸까?
- 보안: 내 서버들을 아무나 접근할 수 없는 독립된 공간에 두고 관리할 수 있다.
- 커스터마이징: IP 대역폭을 내 마음대로 설정하고, 네트워크 설정을 자유롭게 바꿀 수 있다.
- 연결성: 회사 본사랑 클라우드를 전용선으로 연결할 때도 이 VPC라는 울타리가 있어야 안전하게 연결된다.
요약
VPC는 내 클라우드 자원들을 안전하게 보호하고 관리하기 위한 '가상 울타리'다.
로드밸런서
1. 정의
로드밸런서는 서버에 가해지는 **부하(Load)**를 여러 대의 서버로 **분산(Balancing)**해 주는 장치나 서비스를 말해. AWS에서는 보통 **ELB (Elastic Load Balancing)**라고 불러.
2. 핵심 비유: 맛집 대기 줄 관리자
- 손님: 웹사이트에 접속하려는 사용자들
- 점원(서버): EC2 인스턴스
- 로드밸런서: 입구에서 "1번 테이블 비었으니 그리로 가세요", "2번 점원이 바쁘니 3번에게 가세요"라고 말해주는 매니저
3. 주요 기능
- 부하 분산: 한쪽 서버에만 트래픽이 몰려서 서버가 터지는 걸 방지해.
- 상태 확인 (Health Check): 서버가 고장 났는지 주기적으로 확인해서, 아픈 서버(장애 발생)에는 손님을 보내지 않아.
- 오토 스케일링(Auto Scaling)과 찰떡궁합: 서버 개수가 늘어나거나 줄어들 때, 로드밸런서가 자동으로 새 서버를 리스트에 넣고 빼면서 관리해 줘.
4. 종류 (주로 쓰는 거 2개)
- ALB (Application Load Balancer): 주소창에 /blog인지 /shop인지 보고 길을 찾아주는 '똑똑한 안내원' (L7 계층). 보통 웹 서비스에서 제일 많이 써.
- NLB (Network Load Balancer): 주소고 뭐고 따지지 않고 엄청나게 빠른 속도로 연결만 해주는 '단순무식 베테랑' (L4 계층). 대규모 트래픽 처리에 좋아.
요약
로드밸런서는 서버가 지치지 않게 트래픽을 골고루 나눠주는 '교통 정리 요원'이다.
EFS
1. 정의
EFS는 여러 대의 EC2 인스턴스가 동시에 접속해서 사용할 수 있는 공유 파일 저장소야. 내 컴퓨터에 꽂힌 하드가 아니라, 네트워크로 연결된 거대한 '공용 폴더'라고 생각하면 편해.
2. 핵심 비유: 팀 프로젝트 공용 클라우드
- EBS (지난번 배운 거): 내 노트북에만 꽂혀 있는 외장 하드 (한 명만 사용 가능)
- EFS: 구글 드라이브나 드롭박스 같은 공용 폴더 (여러 명이 동시에 파일 수정 가능)
3. 주요 특징
- 동시 접속: 수십, 수백 대의 EC2가 하나의 EFS에 연결해서 같은 파일을 읽고 쓸 수 있어.
- 탄력성(Elastic): 용량을 미리 정할 필요가 없어. 파일을 넣으면 자동으로 커지고, 삭제하면 알아서 줄어들어. (쓴 만큼만 돈 내면 됨)
- 고가용성: 데이터가 여러 가용 영역(AZ)에 복제되어 저장되기 때문에, VPC 안에서 아주 안전하게 관리돼.
4. 왜 쓰는 걸까?
- 데이터 공유: 여러 대의 웹 서버(EC2)가 똑같은 이미지나 설정 파일을 공유해야 할 때 필수야.
- 빅데이터/머신러닝: 엄청나게 큰 데이터를 여러 서버가 동시에 분석해야 할 때 유용해.
- 서버 교체 용이: EC2를 껐다 켜거나 새로 만들어도, 데이터는 EFS에 그대로 있으니까 연결만 하면 바로 작업 이어갈 수 있어.
요약
EFS는 여러 대의 서버가 함께 나눠 쓰는 '똑똑하고 유연한 무한대 공용 하드'다.
S3
1. 정의
S3는 인터넷 어디서나 원하는 양의 데이터를 저장하고 불러올 수 있는 객체 스토리지 서비스야. 파일 하나하나를 '객체'라는 단위로 저장하는데, 하드디스크라기보다는 엄청나게 큰 **'웹 하드'**에 가까워.
2. 핵심 비유: 무한 확장 창고
- EBS/EFS: 내 컴퓨터나 서버에 직접 연결해서 쓰는 '하드디스크'
- S3: 용량 제한이 없고 주소(URL)만 있으면 어디서든 파일을 올리고 내릴 수 있는 '거대한 창고'
3. 주요 개념
- 버킷(Bucket): 파일을 담는 가장 상위의 바구니(폴더). 이름이 전 세계에서 유일해야 해.
- 객체(Object): S3에 저장되는 기본 단위. 파일 본체와 그 파일을 설명하는 메타데이터로 구성돼.
- 내구성(Durability): 무려 99.999999999%(11-9)의 내구성을 자랑해. 파일을 하나 넣으면 거의 절대 안 잃어버린다고 보면 돼.
4. 왜 쓰는 걸까?
- 정적 웹 사이트 호스팅: HTML, 이미지 파일만 올려두면 서버 없이도 웹사이트를 띄울 수 있어.
- 백업 및 로그 저장: 용량이 무제한이라 회사들의 방대한 데이터나 로그 파일을 쌓아두기 딱 좋아.
- 콘텐츠 배포: 이미지, 동영상 같은 무거운 파일을 저장해두고 사용자들에게 뿌려주는 용도로 많이 써.
요약
S3는 주소(URL)만 있으면 전 세계 어디서든 접근 가능한 '무한대 용량의 클라우드 창고'다.
IAM
1. 정의
IAM은 AWS 서비스와 리소스에 대한 액세스를 안전하게 제어할 수 있게 해주는 서비스야. 쉽게 말해, AWS 계정 내에서 일종의 **'신분증 발급 및 권한 관리 센터'**라고 보면 돼.
2. 핵심 비유: 회사의 출입 카드와 직급
- 사용자(User): 신입 사원 나대리 (개별 아이디/비번을 가진 사람)
- 그룹(Group): 개발팀, 인사팀 (비슷한 일을 하는 사람들의 묶음)
- 정책(Policy): "이 카드는 탕비실만 갈 수 있음", "이 카드는 서버실 입장 가능" (구체적인 허가 사항)
- 역할(Role): 임시 출입증. 사람이 아니라 EC2 같은 서비스가 다른 서비스를 건드려야 할 때 잠깐 빌려 쓰는 권한.
3. 주요 구성 요소
- Root 계정: 모든 권한을 가진 절대자. 보안상 평소에는 절대 안 쓰는 게 국룰이야.
- 사용자(Users): 실제 사람이나 애플리케이션에 할당하는 개별 신분.
- 정책(Policies): JSON 문서 형식으로 작성된 '권한 리스트'. (예: "S3에서 파일 읽기만 가능")
- 역할(Roles): 특정 서비스(EC2 등)가 내 대신 다른 일을 할 수 있게 부여하는 권한.
4. 왜 쓰는 걸까?
- 최소 권한의 원칙: 필요한 사람에게 딱 필요한 만큼의 권한만 줘서 사고를 막을 수 있어. (인턴에게 결제 권한을 주면 안 되니까!)
- 보안 강화 (MFA): 로그인할 때 핸드폰 인증 같은 2차 보안을 강제할 수 있어.
- 비용 절감 및 책임 추적: 누가 어떤 자원을 썼는지 명확히 알 수 있어서 관리가 편해져.
요약
IAM은 "누가(Who), 어떤 서비스에(Which), 무엇을 할 수 있는지(What)"를 관리하는 클라우드 보안의 문지기다.
오토스케일링
1. 정의
오토스케일링은 미리 정해놓은 규칙에 따라 EC2 인스턴스의 개수를 자동으로 늘리거나 줄여주는 서비스야. 트래픽이 몰릴 때는 서버를 늘려서 대응하고, 한가할 때는 서버를 줄여서 돈을 아끼게 해주지.
2. 핵심 비유: 마트의 계산대
- 손님: 웹사이트 접속자
- 계산대: EC2 서버
- 오토스케일링: 줄 서 있는 손님이 많아지면 "점원 호출!" 해서 새 계산대를 열고, 손님이 없으면 **"계산대 하나 닫으세요"**라고 관리하는 시스템.
3. 주요 개념
- Scale-Out (확장): 서버 개수를 늘리는 것 (성능이 부족할 때).
- Scale-In (축소): 서버 개수를 줄이는 것 (돈 아껴야 할 때).
- 시작 템플릿 (Launch Template): 어떤 AMI를 쓸지, 어떤 사양으로 서버를 만들지 미리 적어둔 '주문서'야.
- Desired Capacity (희망 용량): "평소에는 서버 2대 정도는 떠 있게 해줘" 같은 설정값.
4. 왜 쓰는 걸까?
- 가용성 유지: 갑자기 유명인이 내 사이트를 홍보해서 트래픽이 폭주해도 서버가 터지지 않고 버텨줘.
- 비용 절감: 24시간 내내 서버를 많이 켜둘 필요가 없어. 새벽처럼 사람 없을 땐 최소한만 남기고 다 꺼버리니까 요금이 확 줄어들지.
- 자동화: 관리자가 밤새 모니터링하면서 서버를 수동으로 켰다 껐다 할 필요가 없어.
요약
오토스케일링은 트래픽에 맞춰 서버 개수를 조절하는 '스마트한 서버 자동 관리자'다.
수업때 듣고 실습했던 내용들을 요약해서 정리하였다, 클라우드는 나랑 안 맞는거같더라...
'ASAC-SK플래닛 T아카데미 데이터 엔지니어' 카테고리의 다른 글
| 26.01.09 65일차 [Airflow : Mysql 연동, multi DAG 구현] (0) | 2026.01.09 |
|---|---|
| 26.01.08 64일차 [Airflow : 기본 개념, dag, operator 로컬 실습] (0) | 2026.01.08 |
| 25.12.26 ~ 26.01.05 56~61일차 [ 미니 프로젝트 : Ai Trouble Shooter ] (0) | 2026.01.08 |
| 25.12.24 55일차 [LLM 기반 서비스 + LANGGRAPH,RAG 적용 / MCP 예제 ] (0) | 2025.12.28 |
| 25.12.23 54일차 [RAG_test, langgraph_test, mcp_basic, RAG 도구, LangChain 도구 구성 ] (0) | 2025.12.23 |