AWS는 (Amazon Web Services) 우리가 알고있는 아마존이라는 미국의 온라인쇼핑업체에서 서비스하고있는 클라우드 컴퓨팅 서비스이다. 아마존 전체 매출의 16%를 차지하고 항상 흑자를 기록하고있는 아마존의 캐시카우이다.
넷플릭스, 크래프톤, 모더나, 삼성전자, 한국투자증권, ADM 등 세계의 대기업들도 이용중이다.
고로, 세계에서 가장 인정받고 안정성있는 서버 시스템을 제공하고있다.
( 카카오톡이 먹통이 되거나, 온라인 게임에 갑자기 접속이 안되거나하는 것들이 대부분 서버 문제이다. )
비유: 직접 손으로 요리하기
AWS 콘솔은 웹사이트에서 클릭 몇 번으로 리소스를 생성하고 설정하는 방식이다.
즉, 요리를 할 때 직접 재료를 손으로 다듬고, 조리하고, 접시에 담는 것과 비슷하다.
✅ 장점
✔️ 사용하기 쉬움 → 초보자도 직관적으로 클릭하면서 설정 가능
✔️ 즉시 적용 가능 → 클릭하면 바로 반영되므로 빠르게 결과 확인 가능
✔️ 시각적으로 보기 편함 → 대시보드에서 현재 리소스 상태를 한눈에 볼 수 있음
❌ 단점
❌ 자동화가 어려움 → 서버를 여러 개 만들려면 일일이 클릭해야 해서 비효율적
❌ 재현성이 낮음 → 설정을 기억해서 다시 만들기가 어려움 (일관된 배포가 힘듦)
❌ 대규모 관리 어려움 → 여러 개의 리소스를 한꺼번에 관리하기 힘듦
비유: 요리 레시피를 보고 명령어로 요리하기
AWS CLI는 터미널에서 명령어를 입력해서 AWS 리소스를 관리하는 방법이다.
즉, 요리할 때 "양파 다지기", "고기 굽기" 같은 명령을 내리는 것과 비슷하다.
✅ 장점
✔️ 자동화 가능 → 스크립트(.sh 파일)로 여러 작업을 한 번에 실행 가능
✔️ 빠른 조작 → 클릭 없이 명령어 입력만으로 AWS 리소스를 관리 가능
✔️ 일관성 유지 가능 → 같은 명령어를 여러 번 실행해도 같은 결과 나옴
❌ 단점
❌ 명령어를 외워야 함 → GUI보다 익숙해지기 어렵고 학습 곡선이 있음
❌ GUI보다 직관성이 떨어짐 → 현재 설정을 한눈에 보기 어려움
❌ 복잡한 인프라 설정은 힘듦 → CLI는 단순 명령 실행이므로 복잡한 인프라 배포에는 한계가 있음
aws ec2 run-instances --image-id ami-12345678 --count 1 --instance-type t2.micro
///👉 이렇게 한 줄 입력하면 EC2 인스턴스가 만들어짐!
비유: 레시피를 문서로 만들어서 자동으로 요리하기
테라폼은 AWS 인프라를 코드로 정의하는 방법이다.
즉, 요리할 때 "이 레시피대로 요리하세요"라고 종이에 적어 놓으면, 요리사가 그대로 만드는 것과 같다.
✅ 장점
✔️ 인프라를 코드로 관리 가능 (IaC) → 버전 관리 가능
✔️ 자동화와 재현성 뛰어남 → 같은 설정을 여러 번 실행해도 동일한 결과
✔️ 대규모 인프라 관리에 적합 → 여러 개의 서버를 한 번에 배포 가능
✔️ 변경 사항 추적 가능 → terraform plan으로 변경 사항 미리 확인 가능
❌ 단점
❌ 학습이 필요함 → 테라폼 문법(.tf 파일)과 상태 관리 개념을 익혀야 함
❌ 즉시 적용 어려움 → CLI처럼 바로 실행하는 게 아니라 terraform apply를 통해 반영해야 함
❌ 초기 설정이 필요함 → 백엔드 상태 저장 설정을 해야 함
resource "aws_instance" "example" {
ami = "ami-12345678"
instance_type = "t2.micro"
}
// 👉 이 코드를 실행하면 같은 설정으로 여러 번 EC2 인스턴스를 만들 수 있음

만약 AWS 프로젝트를 운영하는 팀이라면, 테라폼으로 인프라를 코드화하고, AWS CLI로 운영 자동화, AWS 콘솔로 모니터링하는 방식이 가장 효율적이다.
위의 방법들은 AWS를 다루는 방법의 종류이다. AWS에서 제공하는 서버랑은 다른 개념이다.
즉, 도구(방법)와 자원(대상)의 차이다.


1️⃣ AWS에서 사용할 수 있는 서버 종류 (= 요리 재료)
EC2 → 소고기
Lambda → 치킨
ECS → 해산물
EKS → 채소
👉 어떤 재료(서버)를 사용할지 선택.
2️⃣ AWS를 다루는 방법 (= 요리를 만드는 방법)
AWS 콘솔 → 손으로 직접 요리 (프라이팬에 굽고, 직접 양념 넣기)
AWS CLI → 레시피를 보고 순서대로 요리 (명령어를 입력해서 실행)
Terraform → 자동 요리 기계에 레시피를 넣고 버튼만 누르기 (코드로 인프라를 정의하고 실행)
👉 같은 요리를 만들더라도, 요리 방법(도구)이 다를 수 있다.