AWS 글로벌 인프라
여러 리전과 가용 영역(AZ)으로 구성되어 있으며, 데이터의 내구성과 가용성을 높임.
- 리전: AWS 데이터 센터의 물리적 위치로, 여러 개의 가용 영역(AZ)을 포함. 지리적으로 분산되어 있어 데이터 내구성과 가용성을 제공.
- 가용 영역 (AZ): 리전 내의 독립적인 데이터 센터. 각 AZ는 전력, 네트워크, 보안이 분리되어 있어 고가용성을 제공하고 장애 발생 시 다른 AZ에 영향을 주지 않음.
- 엣지 로케이션: 콘텐츠 배포 네트워크(CDN)인 Amazon CloudFront의 데이터 전송 지점. 최종 사용자에게 콘텐츠를 빠르게 제공하기 위해 전 세계 여러 위치에 분산되어 있음.
IAM (Identity and Access Management)
사용자와 리소스의 접근 권한을 관리하며, 역할과 정책을 통해 보안을 강화.
- 사용자: AWS 리소스에 대한 접근 권한을 가진 개별 계정. 비밀번호와 액세스 키를 통해 인증됨.
- 그룹: 여러 사용자를 하나의 단위로 묶어 공통 권한을 부여할 수 있는 컨테이너. 그룹에 정책을 적용하면 구성원 모두에 권한이 적용됨.
- 역할: 특정 권한을 가진 IAM 엔터티로, 사용자가 아닌 다른 AWS 서비스나 외부 사용자(예: EC2 인스턴스)에 일시적으로 권한을 부여할 때 사용.
- 정책: AWS 리소스에 대한 접근 권한을 정의하는 JSON 형식의 문서. 사용자, 그룹, 역할에 연결되어 권한을 부여함.
- MFA (Multi-Factor Authentication): 추가적인 보안 계층으로, 사용자 인증 시 두 가지 이상의 방법(예: 비밀번호 + 인증 앱)을 요구함. 보안을 강화하는 데 중요한 역할을 함.
S3 (Simple Storage Service)
객체 스토리지 서비스로, 데이터를 버킷에 저장하고 다양한 저장 클래스를 지원.
- 버킷: S3에서 파일(오브젝트)을 저장하는 컨테이너로, 전 세계에서 고유한 이름을 가져야 하며, 데이터의 계층적 구조는 없음.
- 오브젝트: S3에 저장되는 기본 데이터 단위로, 파일과 메타데이터를 포함. 각 오브젝트는 고유한 키를 통해 식별됨.
- 저장 클래스: S3에서 오브젝트를 저장하는 방법을 정의하며, 비용과 내구성, 접근 빈도에 따라 여러 종류(예: S3 Standard, S3 Intelligent-Tiering)로 제공됨.
- 접근 제어: 버킷과 오브젝트에 대한 접근 권한을 관리하는 방법으로, IAM 정책, 버킷 정책 및 ACL(Access Control List)을 통해 설정됨.
EC2 (Elastic Compute Cloud)
가상 서버를 제공하며, 인스턴스 유형과 보안 그룹으로 유연한 컴퓨팅 환경을 구성.
- 인스턴스: 객체지향 프로그래밍에서 특정 클래스를 구현한 객체. 클래스가 틀이라면 인스턴스는 그 틀로 찍어낸 모형. ‘사용자’라는 테이블이 존재하고, ‘이름’, ‘이메일’ 등의 필드가 정의되어 있으면 인스턴스는 그 테이블에 저장된 실제 데이터. (예: “홍길동”, “hong@example.com”)
- 인스턴스 유형: EC2에서 제공하는 가상 서버의 사양을 정의하며, CPU, 메모리, 스토리지, 네트워크 성능에 따라 여러 유형이 존재. 필요에 따라 적절한 인스턴스 유형을 선택하여 애플리케이션을 실행.
- AMI (Amazon Machine Image): EC2 인스턴스를 시작하기 위한 템플릿으로, 운영 체제, 애플리케이션 서버 및 애플리케이션 소프트웨어를 포함. 다양한 미리 설정된 AMI를 사용하거나 사용자 정의 AMI를 생성 가능.
- 보안 그룹: EC2 인스턴스에 대한 가상 방화벽으로, 인바운드 및 아웃바운드 트래픽 규칙을 설정하여 접근을 제어. IP 주소나 포트에 기반한 규칙을 정의하여 보안을 강화.
- 키 페어: EC2 인스턴스에 안전하게 접근하기 위해 사용하는 공개/개인 키 쌍. 인스턴스를 시작할 때 키 페어를 생성하고, 개인 키를 사용하여 SSH를 통해 인스턴스에 접속.
VPC (Virtual Private Cloud)
사용자 정의 가상 네트워크를 생성하여 서브넷, 라우팅 및 보안을 관리.
- 서브넷: VPC 내의 IP 주소 범위를 나눈 논리적 구획. 퍼블릭 서브넷은 인터넷과 연결되고, 프라이빗 서브넷은 외부와 격리되어 있어 보안을 강화.
- 라우팅: VPC 내의 트래픽 흐름을 제어하는 방법으로, 라우팅 테이블을 사용하여 서브넷과 인터넷 간의 경로를 정의. 각 서브넷에 대해 기본 라우팅 규칙을 설정 가능.
- 인터넷 게이트웨이: VPC와 인터넷 간의 연결을 제공하는 리소스. 퍼블릭 서브넷의 인스턴스가 인터넷에 접근할 수 있도록 해주며, 이게 없으면 인터넷 연결이 불가능.
- NAT 게이트웨이: 프라이빗 서브넷의 인스턴스가 인터넷에 접근할 수 있게 해주는 리소스. 인스턴스는 외부와 직접 연결되지 않고 NAT 게이트웨이를 통해 인터넷에 접근하여 보안을 강화.
RDS (Relational Database Service)
관리형 데이터베이스 서비스로, 여러 데이터베이스 엔진을 지원하며 자동 백업 및 복원 기능 제공.
- 데이터베이스 엔진: RDS에서 지원하는 다양한 관계형 데이터베이스 시스템으로, MySQL, PostgreSQL, Oracle, SQL Server, Amazon Aurora 등이 있음. 각 엔진은 특정 기능과 최적화를 제공.
- 스냅샷: RDS 인스턴스의 백업으로, 특정 시점의 데이터베이스 상태를 저장. 자동 스냅샷과 수동 스냅샷이 있으며, 이를 통해 데이터 복원 및 관리가 가능.
- 마이그레이션: 기존 데이터베이스를 AWS RDS로 이동하는 과정. AWS Database Migration Service(DMS)를 사용하여 데이터베이스를 손쉽게 이전하고, 최소한의 다운타임으로 마이그레이션을 수행 가능.
CloudFormation
인프라를 코드로 정의하여 배포 및 관리할 수 있는 서비스. 이를 통해 AWS 리소스를 모델링, 프로비저닝, 업데이트 가능.
- 템플릿 기반: JSON 또는 YAML 형식의 템플릿 파일을 사용.
- 리소스 관리: EC2 인스턴스, S3 버킷, RDS 데이터베이스 등 다양한 AWS 리소스를 정의하고 배포. 리소스 간의 종속성을 자동으로 처리.
- 버전 관리: 인프라 변경 사항을 버전 관리하고, 이전 상태로 롤백 가능.
- 스택(Stack): 리소스 그룹을 "스택"으로 관리.
- 변수 및 매개변수: 변수와 매개변수를 사용하여 재사용성을 높이고, 배포 시 동적으로 값을 설정 가능.
- 조건부 리소스 생성: 특정 조건에 따라 리소스를 생성하거나 건너뛸 수 있어 유연한 배포.
Lambda
서버리스 컴퓨팅 서비스로, 이벤트에 반응하여 코드를 실행하며 자동으로 확장됨.
- 서버리스 컴퓨팅
서개발자가 서버 인프라를 관리하지 않고도 애플리케이션을 실행할 수 있게 해주는 클라우드 컴퓨팅 모델.
예시 서비스: AWS Lambda, Azure Functions, Google Cloud Functions 등. - 이벤트 기반 실행
특정 이벤트가 발생했을 때 자동으로 작업이 수행되는 아키텍처 스타일. 이러한 이벤트는 데이터 변경, API 호출, 일정 시간 경과 등 다양한 형태로 발생.
예시: AWS에서는 S3에 파일이 업로드될 때 Lambda 함수를 트리거하거나, DynamoDB 테이블의 데이터 변경 시 트리거되는 이벤트 등.
CloudWatch
AWS 리소스와 애플리케이션의 모니터링 및 로그 관리를 제공, 알림 기능도 포함.
- 모니터링
시스템, 애플리케이션, 리소스의 성능과 상태를 지속적으로 관찰. 이는 시스템의 정상 작동을 보장하고 문제를 조기에 감지하는 데 도움. 지표를 실시간으로 추적. - 로그 관리
시스템에서 생성되는 로그 데이터를 수집, 저장, 분석하여 애플리케이션의 동작 및 문제를 이해하는 과정.
Amazon CloudWatch Logs: 로그 데이터를 수집하고 모니터링하는 서비스. 애플리케이션 로그, 시스템 로그, AWS 서비스 로그 등을 수집하여 분석 및 디버깅에 활용.
AWS CloudTrail: AWS 계정의 API 호출 및 리소스 변경을 기록하여 보안 감사 및 문제 해결을 지원. - 알림 설정
특정 조건이나 이벤트가 발생했을 때 사용자에게 통지를 보내는 설정. 이는 시스템의 이상 징후나 특정 임계값 초과 등을 즉시 알리는 데 유용.
Amazon CloudWatch Alarms: 특정 메트릭이 정의된 임계값을 초과하거나 미달할 때 알림을 전송하는 기능. SNS와 연동하여 이메일이나 SMS로 알림.
AWS SNS (Simple Notification Service): 다양한 알림을 전송할 수 있는 서비스로, CloudWatch와 통합하여 알림을 사용자에게 전달.
Elastic Load Balancing (ELB)
트래픽을 여러 인스턴스에 분산시켜 애플리케이션의 가용성을 높임.
- 트래픽 분산
클라우드 환경에서 들어오는 요청을 여러 서버(인스턴스)로 균등하게 나누어 처리. 이를 통해 단일 서버에 부하가 집중되는 것을 방지하고, 전반적인 성능과 안정성을 향상.
Elastic Load Balancing (ELB): AWS에서 제공하는 로드 밸런싱 서비스로, HTTP/HTTPS 트래픽 또는 TCP 트래픽을 효과적으로 분산. 사용자의 요청을 자동으로 인스턴스에 분산하여 고가용성과 안정성을 제공. - 자동 확장(ASG)
애플리케이션의 수요에 따라 EC2 인스턴스의 수를 자동으로 조정. 트래픽이 증가하면 인스턴스를 추가하고, 감소하면 인스턴스를 줄여 비용 효율성을 높임.
Auto Scaling Group (ASG): 설정한 정책에 따라 CPU 사용률, 네트워크 트래픽 등을 모니터링하여 자동으로 인스턴스를 관리.
스케일링 정책: 고정된 스케일링 정책(예: 특정 CPU 사용률 이상일 때 인스턴스 추가) 또는 동적 스케일링 정책(예: 특정 조건에 따라 인스턴스 수 조정)을 설정하여 유연한 리소스 관리를 지원.
'AWS > SAA-C03' 카테고리의 다른 글
[SAA-C03] VPC 기본 정리 & 기출문제 (2) | 2024.11.22 |
---|---|
[SAA-C03] AWS 메시지 관리 정리 & 기출문제 (0) | 2024.11.12 |
[SAA-C03] Amazon EC2 기본 정리 & 기출문제 (4) | 2024.11.09 |
[SAA-C03] AWS S3 기본 정리 & 기출 문제 풀이 (0) | 2024.11.08 |
[AWS] AWS 자격증 챌린지 (ft. 50% 할인) (0) | 2024.09.26 |