AWS란?
AWS(Amazon Web Services)는 Amazon이 제공하는 클라우드 컴퓨팅 서비스 플랫폼으로, 전 세계적으로 분산된 데이터 센터를 통해 다양한 IT 자원을 제공하는 서비스다.
주요 특징
- IaaS, PaaS, SaaS를 포함한 클라우드 서비스 제공
- 사용한 만큼만 비용을 지불하는 종량제 요금제
- 다양한 서비스 제공 (가상 서버, 객체 스토리지, 관리형 DB, 서버리스 컴퓨팅 등)
IaaS (Infrastructure as a Service)
- 서버, 스토리지, 네트워크 등의 인프라 자원을 클라우드에서 제공
- 사용자가 인프라를 관리하며 애플리케이션 구축 가능
e.g. EC2 (Elastic Compute Cloud), S3 (Simple Storage Service)
PaaS (Platform as a Service)
- 애플리케이션 개발 및 실행애 필요한 플랫폼 제공
- 사용자가 인프라 관리 없이 애플리케이션 개발에 집중할 수 있는 환경 제공
e.g. Elastic Beanstalk, Lambda (Serverless 서비스)
SaaS (Software as a Service)
- 완전한 애플리케이션을 클라우드에서 제공
- 사용자가 소프트웨어를 설치하거나 관리할 필요 없이, 클라우드를 통해 바로 사용 가능
e.g. Amazon WorkDocs, Amazon Chime
장점
- 초기 인프라 구축 비용 절감
- 확장성(Scale-Out / Scale-Up) 및 유연성 제공
- 높은 가용성과 내구성
AWS 보안 및 계정 관리
Root 계정
- AWS 계정 최초 생성시 입력한 이메일로 관리되는 최고 관리자 계정
- 모든 리소스와 설정에 대한 최대 권한을 가짐
- 사용 제한 권장 : Root 계정은 권한을 제한할 수 없으므로, 별도의 IAM 사용자를 생성하여 사용하는 것이 권장됨
IAM 계정
- 사용자와 리소스에 대한 인증과 권한 관리를 제공하는 시스템
- 사용자 별로 독립적인 계정 발급 가능
- 그룹 및 역할을 통한 체계적인 권한 관리 지원
- 필요 시 권한 추가/삭제 가능
AWS 보안 주요개념
- 사용자(User) : Root 계정은 초기 설정에만 사용, 이후 IAM 사용자로 작업 관리
- 그룹(Group) : 사용자들을 묶어 공통 권한 부여
- 역할(Role) : 특정 AWS 서비스나 외부 사용자에게 임시 권한 부여
- 정책(Policy) : JSON 형식으로 Root, IAM 사용자, 그룹, 역할의 권한 세부 설정
AWS 보안 관리 모범사례
- Root 계정은 최소한으로 사용하고 MFA를 필수로 활성화
- IAM 사용자에게 권한을 위임하되, MFA 활성화와 최소 권한 원칙을 적용하여 관리
- Access Key 관리는 IAM 사용자에 대해서만 발급
MFA(Multi-Factor Authentication) 인증 앱
- Google Authenticator, Microsoft Authenticator, Authy, Duo Security, LastPass Authenticator
AWS 공동 책임 모델
AWS는 보안 및 규정 중수에 대한 책임을 AWS와 고객이 공유하는 모델을 따른다.
AWS 책임 (Security “OF” the Cloud)
- 데이터센터, 네트웤, 하드웨어의 물리적 보안
- 호스트 운영체제와 가상화 계층 보호
사용자 책임 (Security “IN” the Cloud)
- IAM 설정 및 접근 권한 관리
- 애플리케이션 데이터 암호화 및 네트워크 트래픽 보호
- 운영 체제 및 애플리케이션 패치 관리
S3 (Simple Storage Service)
S3는 AWS의 초기 서비스 중 하나로, 무제한 확장이 가능한 객체 스토리지이다.
주요 특징
- 내구성 : 99.99999999999%
- 가용성 : 99.99
- 정적 웹 호스팅 가능
- 다양한 스토리지 클래스 제공
- 자주 액세스하는 데이터: S3 Standard
- 저빈도 액세스 데이터: S3 Standard-IA, S3 One Zone-IA
- 장기 보관, 드물게 액세스: S3 Glacier, S3 Glacier Deep Archive
- 오래 전 사진은 누르면 모자이크에서 화질이 점점 개선되는데 시간이 오래걸리는 이유
사용 방법
- AWS Management Console
- 자동화 : AWS CLI를 활용하여 Access Key로 접근
- FTP(File Transfer Protocole, 파일전송) 도구 : Filezilla, Cyberduck
CloudFront
CloudFront는 AWS의 CDN(Content Delivery Network) 서비스로, S3를 비롯한 다양한 AWS 서비스와의 통합이 용이하다.
주요 특징
- 분산형 서버 네트워크를 통해 콘텐츠를 사용자에게 빠르게 전달
- 전 세계 엣지 로케이션을 통해 높은 가용성과 안정성을 보장
- 가용성 99.9%
S3 & CloudFront 연동
연동
- S3는 저장, CloudFront는 전송에 특화
- S3는 직접 접근하지 못하도록 설정하고, CloudFront를 통해 Signed URL 또는 Signed Cookie를 활용하여 접근 권한 제어
사용 사례
- 이미지 리사이징 서비스
- S3에 이미지를 저장하고, CloudFront를 통해 PC/모바일에 적합한 이미지 제공
- 대역폭 및 비용 감소 효과
- 정적 파일 제공
- 자주 조회되는 페이지의 이미지를 S3 + CloudFront로 배포하여 속도와 안정성 확보
Serverless
서버리스는 필요한 만큼만 서버를 동적으로 운영하는 방식이다.
주요 특징
- 트래픽 예측이 어려운 경우, 최소단위를 설정하여 안정적으로 운영 가능
- Aurora Serverless와 같은 서버리스 DB 사용시 다운타임 걱정 감소
- 읽기전용 엔드포인트 설정으로 DB 부하를 줄이는대신, 서버리스 DB의 용량만 최적화하면 추가적인 관리 불필요
IaC (Infrastructures as Code)
IaC는 인프라를 코드로 관리하여 구성 자동화와 재사용성을 제공한다.
주요 도구
- Terraform : 멀티 클라우드 지원
- AWS CloudFormation : AWS 전용 IaC 도구
- Ansible : 구성 관리 및 배포 자동화
- Puppet/Chef : 서버 설정 자동화
MSP (Managed Service Provider)
MAP는 기업의 IT 인프라 및 서비스 관리를 전문적으로 지원하는 IT 관리 서비스 제공 업체를 말한다.
MSP의 대상
- 중소기업 : IT 전문가를 고용할 여력이 부족한 경우
- 대기업 : 복잡한 IT 시스템을 효율적으로 운영하려는 경우
- 스타트업 : 빠르게 성장하는 동안 안정적인 IT 인프라가 필요한 경우
대표적인 MSP 기업
- Megazone Cloud : AWS, Azure 등 클라우드 관리 전문
- SCK Cloud : MS 클라우드 서비스 관리
- Rackspace Technology : 글로벌 클라우드 및 IT 인프라 관리
- NTT Data : 글로벌 IT 컨설팅 및 관리