AWS를 처음 접하시나요? 이 블로그 글은 클라우드 컴퓨팅의 기본 개념부터 AWS 계정 생성, 핵심 서비스 사용, 실제 웹 애플리케이션 배포까지 전 과정을 하나씩 안내합니다.
시작하며: 왜 AWS를 배워야 할까?
Amazon Web Services(AWS)는 전 세계에서 가장 널리 사용되는 클라우드 플랫폼입니다. 개발자, IT 관리자, 학생, 클라우드 입문자 모두 AWS를 배우면 직접 데이터 센터를 운영하지 않고도 확장 가능하고 안전하며 비용 효율적인 서비스를 구축할 수 있습니다.
이 글에서는 AWS의 개념, 서비스 구성, 계정 설정, 실전 구성까지 순서대로 다루며, 직접 따라 해볼 수 있도록 구성했습니다.
1장: 클라우드 컴퓨팅이란?
클라우드 컴퓨팅은 인터넷을 통해 IT 자원을 온디맨드 방식으로 제공받는 기술입니다. 물리적인 서버나 저장소를 직접 구매하지 않고, 필요할 때만 빌려서 사용하는 개념입니다.
주요 장점:
- 확장성: 필요 시 리소스를 즉시 추가 또는 축소
- 요금 유연성: 사용한 만큼만 지불
- 글로벌 접근성: 어디서든 접속 가능
- 유지보수 감소: 하드웨어 관리 불필요
서비스 모델:
- IaaS: 인프라 제공 (예: EC2)
- PaaS: 플랫폼 제공 (예: Elastic Beanstalk)
- SaaS: 소프트웨어 제공 (예: 구글 드라이브)
2장: AWS란 무엇인가?
Amazon Web Services(AWS)는 200개 이상의 클라우드 서비스를 제공하는 종합 플랫폼입니다.
주요 서비스 분류:
- 컴퓨팅 (EC2, Lambda)
- 저장소 (S3, EBS)
- 데이터베이스 (RDS, DynamoDB)
- 네트워킹 (VPC, Route 53)
- 보안 (IAM, KMS)
- 모니터링 (CloudWatch, CloudTrail)
AWS는 넷플릭스, NASA, 에어비앤비 등도 사용하는 세계적 플랫폼입니다.
3장: AWS 계정 만들기
AWS 계정 생성은 매우 간단합니다.
- aws.amazon.com 방문
- “Create an AWS Account” 클릭
- 이메일, 비밀번호, 계정명 입력
- 결제정보(신용카드) 입력
- “Basic Support Plan” 선택
- 콘솔 로그인
✅ AWS는 Free Tier를 통해 12개월간 EC2, S3, RDS 등 주요 서비스를 무료로 제공합니다.
4장: IAM과 보안 구성
루트 계정은 관리용으로만 사용하고, 평상시에는 **IAM(Identity and Access Management)**을 통해 권한을 설정하세요.
필수 설정:
- IAM 사용자 생성
- 그룹 생성 및 권한 정책 부여
- MFA(다중 인증) 활성화
- EC2/Lambda용 IAM 역할 설정
팁: 루트 계정은 비밀번호만으로 접근 가능하니, 반드시 MFA를 설정하고 사용을 제한하세요.
5장: AWS 콘솔 둘러보기
AWS 콘솔은 모든 서비스의 중앙 제어판 역할을 합니다.
- 상단 검색창에서 원하는 서비스 검색
- “Services” 메뉴에서 분류별 확인
- “My Account”에서 결제 및 예산 확인
- “Pin” 기능으로 자주 쓰는 서비스 고정
6장: EC2 인스턴스 시작하기
가상 서버(EC2)를 직접 만들어 봅니다.
- EC2 콘솔 접속
- “Launch Instance” 클릭
- 운영체제 선택 (Amazon Linux 2, Ubuntu 등)
- 인스턴스 유형 선택 (t3.micro – Free Tier 가능)
- 네트워크, 저장소, 태그, 보안 그룹 설정
- 키 페어 다운로드(.pem)
- 인스턴스 실행 후 SSH 접속
아파치 설치 예시:
sudo yum install httpd -y
sudo service httpd start
7장: S3로 파일 저장하기
Amazon S3는 파일, 이미지, 백업 등을 저장하는 객체 스토리지입니다.
버킷 생성:
- S3 콘솔 접속
- “Create Bucket” 클릭
- 고유한 버킷 이름 및 리전 설정
- 버전 관리, 암호화 등 설정
- 파일 업로드
정적 웹사이트도 S3를 통해 배포할 수 있습니다.
8장: RDS로 데이터베이스 구성하기
Amazon RDS는 MySQL, PostgreSQL 등 관계형 데이터베이스를 손쉽게 구축할 수 있게 해줍니다.
DB 생성:
- RDS 콘솔 접속
- “Create Database” 클릭
- 데이터베이스 엔진 선택
- 사용자 이름, 비밀번호, 스토리지 용량 설정
- VPC 및 접근 권한 설정 후 실행
EC2 인스턴스에서 DB 연결 테스트를 진행합니다.
9장: AWS CLI 사용하기
CLI(Command Line Interface)는 명령줄에서 AWS를 제어할 수 있게 해줍니다.
설치 및 설정:
aws configure
자주 쓰는 명령어:
- 버킷 목록:
aws s3 ls
- 인스턴스 목록:
aws ec2 describe-instances
- RDS DB 목록:
aws rds describe-db-instances
스크립트 자동화, 대규모 배포에 유용합니다.
10장: CloudWatch로 모니터링하기
CloudWatch는 리소스 상태와 로그를 시각화하고 경고를 설정할 수 있는 서비스입니다.
활용 예:
- CPU 사용률 80% 이상 경고 설정
- 로그 수집 및 필터링
- 알람 → 이메일(SNS) 발송
CloudTrail, AWS Config와 함께 보안 및 변경 추적도 가능합니다.
11장: 비용 절감 전략
비용 관리 도구:
- Billing Dashboard: 실시간 요금 확인
- Budgets: 예산 설정 및 초과 시 알림
- Cost Explorer: 세부 소비 패턴 분석
절약 팁:
- Spot 인스턴스 사용
- 미사용 리소스 종료
- 오래된 스냅샷 정리
- S3 수명주기 정책 적용 (Glacier로 이전)
12장: 실전 아키텍처 예시
스케일 가능한 웹 앱 구성:
- 프론트엔드: S3 + CloudFront
- 백엔드: EC2 (Auto Scaling Group 적용)
- 데이터베이스: RDS MySQL
- 모니터링: CloudWatch + SNS
- 보안: IAM, Security Group, VPC
고급 옵션 추가:
- WAF(Web Application Firewall)
- Secrets Manager로 인증정보 저장
- Elastic Load Balancer로 트래픽 분산
마무리: 다음 단계는?
이 글을 통해 다음을 배웠습니다:
✅ 클라우드 기초 개념
✅ AWS 계정 및 보안 설정
✅ EC2, S3, RDS 실습
✅ CLI 활용법
✅ 비용 절감과 실전 구성
추천 학습 흐름:
- AWS Cloud Practitioner 자격증 도전
- CloudFormation/Terraform으로 IaC 익히기
- Lambda, Fargate, ECS 등 서버리스 학습
- 개인 프로젝트 직접 배포해보기
AWS는 처음에는 복잡해 보이지만, 익숙해질수록 강력한 도구입니다. 작은 실습부터 시작해서 실전 프로젝트로 이어가보세요. 클라우드 세상은 여러분의 손 안에 있습니다.