1. 네트워크 연결 (서로 대화하는 방법!)
VPC 피어링
- VPC는 집이라고 생각해보세요.
- 서로 다른 집(VPC)끼리 대화를 하고 싶으면 "피어링"이라는 다리를 연결해요.
- 중요한 점: 같은 주소를 가진 집끼리는 연결할 수 없어요.
Site-to-Site VPN
- VPN은 비밀 통로예요.
- 인터넷을 통해 학교(온프레미스)와 집(VPC)을 연결하는 비밀 통로를 만들어요.
- 모든 이야기가 암호화돼서 안전해요!
Direct Connect
- 인터넷을 쓰지 않고 학교와 집을 직접 연결하는 전용 선이에요.
- 엄청 빨라서 큰 데이터를 옮길 때 유용해요.
2. 가상화 (하나의 컴퓨터를 여러 대처럼 사용하기!)
가상머신(Virtual Machine, VM)
- 한 대의 컴퓨터를 마법처럼 여러 대로 나눠서 쓸 수 있어요.
- 한쪽에서는 게임을 하고, 다른 쪽에서는 숙제를 할 수 있어요. 컴퓨터를 아낄 수 있죠!
하이퍼바이저
- 하이퍼바이저는 마법사 같은 소프트웨어예요.
- 컴퓨터를 여러 대로 나누고 관리해줘요.
3. EC2 고급 설정 (컴퓨터 빌리는 방법!)
요금제
- 온디맨드 인스턴스:
- 사용한 만큼만 돈을 내요. 아이스크림을 한 개씩 사 먹는 느낌!
- 예약 인스턴스:
- 한꺼번에 많이 사서 할인받아요. 대량으로 아이스크림을 사는 거죠.
- 스팟 인스턴스:
- "남는 아이스크림 싸게 가져가세요!" 같은 특별 할인.
컴퓨트 옵티마이저
- "너무 많이 쓰고 있어요" 또는 "좀 더 써도 괜찮아요"라고 조언해주는 똑똑한 도우미예요.
4. 데이터 저장소 (파일 보관소!)
EBS (블록 스토리지)
- 책장이라고 생각해보세요.
- 책(데이터)을 블록(작은 조각) 단위로 저장해서 필요할 때 빨리 꺼내요.
EFS (파일 스토리지)
- 공유 책장이에요.
- 여러 사람이 동시에 책을 빌릴 수 있어요.
S3 (객체 스토리지)
- 도서관 같은 느낌이에요.
- 책, 사진, 영상 등 무엇이든 저장할 수 있어요.
- 자주 찾는 책은 앞쪽에, 잘 안 찾는 책은 창고에 넣어 돈을 아낄 수 있어요.
5. EC2에서 자동으로 일하기!
사용자 데이터
- 컴퓨터가 켜질 때 스스로 할 일을 적어놓는 "메모장"이에요.
- 예: "켤 때마다 인터넷을 켜라", "자동으로 게임을 설치하라".
메타데이터
- 컴퓨터가 자기 정보를 적어둔 "소개서" 같은 거예요.
- 예: "내 이름은 EC2야!", "내 주소는 192.0.1.1이야!".
1. 부하 분산 (많은 요청 나눠서 처리하기!)
Elastic Load Balancer (ELB)
- 부하 분산이란 여러 컴퓨터(서버)에게 일을 나눠주는 역할이에요.
- 예를 들어, 게임을 할 때 너무 많은 사람이 접속하면 한 서버가 과부하가 걸릴 수 있어요. ELB는 일을 나눠줘서 모두가 쾌적하게 게임할 수 있도록 도와줘요.
고정 세션(Sticky Session)
- "이 고객은 이전에 이 컴퓨터에 연결했었으니, 이번에도 같은 컴퓨터로 보내줄게!" 하는 시스템이에요.
- 예를 들어, 내가 쇼핑몰에 로그인했는데 갑자기 다른 서버로 연결되면 로그인이 풀릴 수 있겠죠? Sticky Session이 이런 문제를 막아줘요.
2. 자동 확장 (손님이 많아지면 의자를 더 놓기!)
Auto Scaling
- 손님이 많아지면 의자를 추가로 놓고, 손님이 줄면 의자를 치우는 시스템이에요.
- 컴퓨터(서버)가 부족하면 자동으로 추가하고, 필요 없으면 줄여서 돈도 아낄 수 있어요.
3. 서버리스(Serverless, 컴퓨터를 직접 관리하지 않아도 돼요!)
- 서버리스를 사용하면 컴퓨터(서버)를 직접 관리하지 않아도 돼요.
- 예를 들어, 내가 레스토랑을 열었는데 요리를 직접 하지 않아도 셰프가 알아서 요리하고 서빙해주는 거예요.
- AWS Lambda라는 서비스가 대표적이에요.
4. 메시지 전달 시스템 (소포 배달 시스템!)
SQS (Simple Queue Service)
- 여러 작업을 차례대로 처리할 수 있게 소포처럼 줄을 세우는 시스템이에요.
- 예: 내가 게임에서 캐릭터를 만들면 SQS는 "이름 확인 -> 이미지 선택 -> 저장" 이런 작업들을 순서대로 처리해요.
SNS (Simple Notification Service)
- 알림 시스템이에요!
- 예: "새로운 소식이 있어요!"라고 여러 사람에게 알리는 역할을 해요.
5. 컨테이너와 쿠버네티스 (여러 프로그램을 박스에 담아 관리하기!)
컨테이너(Container)
- 컨테이너는 프로그램을 작은 박스에 넣어서 어디서든 쉽게 실행할 수 있게 도와줘요.
- 예를 들어, 피자가 들어있는 박스를 어디서나 똑같이 배달할 수 있는 것과 비슷해요.
쿠버네티스(Kubernetes)
- 쿠버네티스는 이 박스(컨테이너)를 관리해주는 시스템이에요.
- 피자 상자들이 잘 쌓이도록 정리하고, 필요한 곳에 배달도 시켜줘요.
6. 데이터 복구 및 백업 (중요한 자료를 안전하게 저장!)
백업
- 중요한 자료를 복사해서 안전한 곳에 보관해요.
- 예를 들어, 숙제를 복사해서 USB에 저장하는 것처럼요.
복구
- 문제가 생겨도 백업해둔 자료를 꺼내서 다시 사용할 수 있어요.
- 예를 들어, USB를 꺼내서 숙제를 다시 프린트하는 거예요.