🔷 아마존에서 제공하는 클라우드 기반 IT 인프라 서비스 브랜드
2006년 첫 서비스를 시작했으며, 현재 200개 이상의 완전 관리형 서비스를 제공
AWS를 통해 기업, 정부 및 개인은 물리적 서버를 직접 구매하거나 관리하지 않고, 인터넷을 통해 필요에 따라 서버, 저장소, 데이터베이스, 네트워크, 머신러닝, 빅데이터 분석 등 다양한 IT 리소스를 온디맨드, 종량제 방식으로 사용할 수 있음
🔷 특징
확장성: 필요에 따라 신속하게 자원 증설 및 축소 가능
유연한 과금: 사용한 만큼만 비용을 지불하는 종량제(Pay-as-you-go) 방식
글로벌 인프라: 전 세계 30여 개 지역, 100여 개 가용 영역에 데이터센터 보유
높은 신뢰성 및 보안: 다양한 보안 인증 획득, 다중 백업, 강력한 모니터링 제공
🔷 컴퓨팅
Amazon EC2: 가상 서버를 손쉽게 생성, 관리할 수 있는 서비스
AWS Lambda: 서버를 직접 관리할 필요 없이 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스
Lightsail: 초보자가 웹 사이트 및 웹 애플리케이션을 쉽게 구축하고 관리할 수 있도록 간편한 가상 서버 제공
ECS, EKS
🔷 스토리지
Amazon S3: 대용량 객체 저장소로, 이미지, 동영상, 백업 데이터 등을 저장·관리할 수 있음
Amazon EBS: EC2에 연결되는 블록 스토리지 서비스
Amazon Glacier: 저렴한 비용의 장기 보관용 스토리지
🔷 데이터베이스
Amazon RDS: 관계형 데이터베이스를 클라우드에서 손쉽게 운영할 수 있게 해주는 서비스
Amazon DynamoDB: 빠르고 확장성이 뛰어난 NoSQL 데이터베이스 서비스
Amazon Aurora: MySQL
및 PostgreSQL
과 호환되는 고성능 관계형 데이터베이스, 기존 데이터베이스보다 최대 5배 빠른 성능 제공
🔷 네트워크
Amazon VPC: AWS 클라우드 내에 사용자의 격리된 네트워크 환경을 구축하는 서비스
Route 53: 가용성과 확장성이 뛰어난 DNS (Domain Name System) 서비스
AWS CloudFront: CDN(콘텐츠 전송 네트워크) 서비스
🔷 보안 및 관리
AWS IAM: 사용자 및 접근 권한을 관리하는 서비스
AWS CloudTrail: AWS 계정 내 활동을 추적 및 기록하는 서비스
AWS CloudWatch: 모니터링 및 로그 관리 서비스
CloudFormation: 인프라를 코드로 관리할 수 있는 서비스
🔷 복잡한 시스템이나 구조를 잘 설계해서 요소들이 조화롭게 작동하도록 만드는 청사진
컴퓨터, 소프트웨어, 네트워크, 클라우드 등 다양한 IT 시스템에서 각 구성요소들이 어떻게 배치되고 상호작용하는지, 전체 구조를 설계하는 방식
컴퓨터 아키텍처(프로세서, 메모리 등 하드웨어 요소의 구조),
소프트웨어 아키텍처(프로그램 모듈 및 데이터 흐름 설계)
🔷 클라우드 아키텍처
클라우드 컴퓨팅 환경에서 IT 리소스(서버, 스토리지, 네트워크, 데이터베이스, 애플리케이션 등)를 효과적으로 설계, 구축, 운영, 관리하기 위한 기술적 구조와 설계 방식을 말함
전통적인 온프레미스 인프라와 달리, 인터넷을 통해 제공되는 유연한 IT 환경을 구현하기 위한 논리적, 물리적 구성 요소와 이들의 상호작용을 정의
🔷 클라우드 아키텍처 구성요소
프론트엔드: 사용자가 직접 보고, 상호작용하는 시스템 외부의 화면과 기능을 담당하는 부분
백엔드: 사용자가 직접 볼 수 없는 시스템의 내부에서 데이터 처리, 저장, 관리, 비즈니스 로직(규칙), 서버 관리 등을 담당하는 부분
클라우드 서비스: IaaS, PaaS, SaaS
오케스트레이션 및 자동화: 인프라와 애플리케이션 배포, 확장, 복구 등을 자동으로 처리
보안 및 관리: 인증/인가 시스템, 로깅 및 모니터링, 네트워크 보안
API 및 서비스 통합: API Gateway, 서비스 아키텍처, 마이크로서비스 등의 활용
🔷 클라우드 아키텍처 패턴
멀티티어 아키텍처: 프레젠테이션, 로직, 데이터 계층을 분리하여 확장성과 보안, 유지관리성 강화
마이크로서비스 아키텍처: 기능별로 작은 서비스 단위로 분리하여 배포 및 확장, 변경에 유연하게 대응, 독립적으로 개발/운영 가능
서버리스 아키텍처: 서버 인프라 관리 없이 함수 단위로 코드 실행, 이벤트 기반 처리, 비용 효율성 극대화
컨테이너 기반 아키텍처: 애플리케이션을 컨테이너에 패키징하여 이식성과 확장성
🔷 필요한 IT 자원을 준비하고 할당하여, 사용자가 바로 쓸 수 있도록 만드는 모든 과정
서버, 저장공간, 네트워크, 소프트웨어, 계정 등 필요한 것들을 자동 또는 수작업으로 미리 준비해서 제공해 주는 것
특히 클라우드 시대에는 이것을 자동화하는 것이 매우 중요
🔷 프로비저닝 주요단계
자원 할당: CPU, 메모리, 저장소, 네트워크 등 필요한 자원을 정하고 할당
설정: 운영체제 설치, 네트워크 주소 할당, 보안 설정 등
소프트웨어 설치: 필요한 패키지, 애플리케이션, 백신 등 설치
사용자·권한 세팅: 계정 생성, 접근 권한 설정
자동화 포인트: 클라우드에서는 이 모든 과정을 코드나 도구로 자동화
하는 경우가 많음
🔷 프로비저닝 유형
자동 프로비저닝: 소프트웨어 도구를 사용하여 자원 할당 및 관리 자동화
장점: 효율성 증대, 신속한 배포, 오류 감소
예) AWS CloudFormation, Terraform, Ansible
수동 프로비저닝: 관리자가 수동으로 자원을 할당하고 설정
장점: 세부 설정 가능, 특정 요구사항에 대한 맞춤형 구성
단점: 시간 소모, 오류 발생 가능성 증가
🔷 리전 (Region)
AWS 데이터 센터가 위치한 지리적 구역 의미
AWS는 전 세계에 여러 리전을 운영
각 리전은 서로 독립적으로 운영되어 높은 가용성과 내결함성 제공
🔷 지리적 분산: 각 리전은 물리적으로 떨어진 위치에 분산되어 있음
🔷 독립성: 리전 간의 데이터 전송은 인터넷을 통해 이루어지며, 리전 간 문제가 발생해도 다른 리전에는 영향을 미치지 않음
🔷 서비스 가용성: 일부 AWS 서비스는 특정 리전에서만 제공될 수 있음
🔷 가용 영역 (Availability Zone, AZ)
리전 내에서 독립적으로 운영되는 하나 이상의 데이터 센터 의미
각 AZ는 물리적으로 분리되어 있으며, 고가용성과 내결함성을 보장하기 위해 설계됨
🔷 물리적 분리: 각 AZ는 물리적으로 떨어져 있어 자연 재해 등의 영향 최소화
🔷 고속 연결: AZ 간에 저지연, 고속 네트워크로 연결되어 있음
🔷 독립된 전원 및 네트워크: 각 AZ는 독립된 전원 공급 및 네트워크 연결로 구성
특성 | 글로벌 서비스 (Global Services) | 리전 서비스 (Regional Services) |
---|---|---|
제공 범위 | 전 세계 모든 리전에서 사용 가능 | 특정 리전에 종속 |
관리 인터페이스 | 단일 콘솔 및 API | 리전별 독립적인 콘솔 및 API |
데이터 접근 | 전 세계적으로 동기화된 데이터 접근 | 리전 내에서만 데이터 접근 |
지연 시간 | 글로벌 엣지 로케이션 사용으로 지연 최소화 | 리전 선택에 따라 지연 시간 최적화 |
고가용성 | 글로벌 인프라 기반 | 리전 내 여러 가용 영역 활용 |
데이터 주권 | 글로벌 정책 적용 | 리전 선택을 통해 데이터 주권 관리 가능 |
🔷 신규 사용자가 AWS 서비스를 무료로 체험할 수 있도록 다양한 혜택 제공
12개월 무료: 계정 생성 후 12개월 동안 무료로 사용할 수 있는 서비스
항상 무료: 계정 생성 후에도 계속해서 무료로 사용할 수 있는 서비스
단기 평가판: 특정 서비스에 대해 단기간 무료로 제공되는 평가판
❗ AWS 프리티어 주의사항
사용량 제한: Free Tier 혜택은 일정 사용량 내에서만 무료로 제공되므로, 사용량을 초과하면 추가 비용이 발생할 수 있음
기간 제한: 12개월 무료 혜택은 계정 생성 후 12개월 동안만 유효,
이후에는 표준 요금 부과
서비스 제한: 일부 서비스는 특정 리전에서만 프리티어 혜택을 받을 수 있음
🔷 AWS에서 제공하는 클라우드 컴퓨팅 서비스
쉽게 말해, 인터넷을 통해 컴퓨터를 빌려 쓰는 서비스
마치, 컴퓨터를 직접 구매하는 대신, 필요할 때만 빌려서 사용
EC2는 필요할 때만 서버를 생성하고 제거할 수 있는 유연성 제공
이를 통해 비용 효율적으로 애플리케이션 배포 및 관리
🔷 가상 서버
물리적인 서버 대신, 가상화 기술을 이용하여 여러 개의 가상 서버를 생성하고 사용할 수 있음
탄력적인 확장성
다양한 운영체제 및 소프트웨어 지원
🔷 AWS EC2 주요개념
인스턴스 (Instance)
AMI (Amazon Machine Image)
인스턴스 유형 (Instance Type)
키 페어 (Key Pair)
보안 그룹 (Security Group)
🔷 AWS Identity and Access Management(IAM)
AWS 서비스와 리소스에 대한 액세스를 안전하게 관리하기 위한 수단
또한, AWS 사용자 및 그룹을 만들고 관리하며 AWS 리소스에 대한 액세스를 허용 및 거부할 수 있음
🔷 주요 기능
AWS 어카운트 관리 및 리소스/사용자/서비스의 권한 제어
임시 권한 부여
서비스 사용을 위한 인증 정보 부여
사용자의 생성, 관리, 계정의 보안
Multi-factor Authentication
사용자의 패스워드 정책 관리
다른 계정과의 리소스 공유
Identity Federation (Facebook 로그인, 구글 로그인 등)
🔷 Root 사용자
계정을 생성할 때 같이 생성되는 사용자
계정의 모든 권한을 가지고 있으며 계정 권한을 제한할 방법이 없음
MFA
필수자격증명 부여 가능
🔷 Root 사용자만 가능한 작업
AWS 계정 설정 변경 (메인 이메일 주소, 계정 이름, 연락처 정보 등)
요금 관련 설정 (IAM 유저에게 위임 가능)
AWS Support Plan (지원 플랜) 구독, 변경, 취소
AWS 계정 삭제
🔷 IAM 사용자
IAM (Identity and Access Management)을 통해 생성한 사용자
생성 시 권한이 따로 부여되어 있지 않으며, 정책 혹은 그룹을 통해 권한을 부여받아 활동
자격증명 부여 가능 (Optional)
콘솔 로그인 가능 (Optional)
사람뿐만 아니라 어플리케이션 같은 다른 주체도 대표 가능
🔷 그룹
IAM 사용자의 집합
그룹에 정책을 부여하여 그룹에 속한 모든 사용자에게 해당 정책에 따른 권한 부여 가능
🔷 Factor(요소)
보안에서 사용자를 인증하기 위한 정보 혹은 행위, 일반적으로 5가지 종류
지식 기반 Factor: 내가 알고 있는 것으로 인증
소유 기반 Factor: 내가 가지고 있는 것으로 인증
존재 기반 Factor: 내가 가진 고유 속성으로 인증
위치 기반 Factor: 나의 물리적 혹은 가상의 위치로 인증
행위 기반 Factor: 나의 행동으로 인증