[AWS] Certified Solutions Architect - Associate (SAA-C03) 요약 정리
덤프 문제를 기반으로 작성한 정리노트
AWS SAA-C03
덤프 문제를 기반으로 작성한 정리노트 비어있는 개념이 있을 수 있음 (덤프에 관련한 문제가 없었기 때문, 혹은 개념을 정리할 필요를 못느꼈기 때문)
IAM
IAM user (유저) : aws 서비스를 이용하는 사람
IAM group (그룹) : 유저의 집합, 그룹에 속한 유저는 그룹에 부여된 권한 행사
IAM policy (정책) : JSON형식으로 정의
유저, 그룹, 자격이 무엇을 할 수 있는지에 대한 문서
IAM 정책 구조 :
- 버전 : 보통 ‘2012-10-17’ 사용 (정책 언어 버전)
- Effect (효과) : 작업에 대한 허용 또는 거부 지정, Allow or Deny
Action (작업) : 허용되거나 거부되는 작업 지정
ex) s3:GetObject → S3에서 객체를 가져오는 작업
Resource (리소스) : 작업이 수행되는 대상 리소스 지정
ARN(Amazon Resource Name) 형식으로 지정
- Condition (조건) : 고려해야하는 선택적 조건 지정
1
2
3
4
5
6
7
8
9
10
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::example-bucket/*"
}
]
}
IAM role (자격) : aws 리소스에 부여 (EC2등에 부여)
ex) EC2가 S3에 있는 이미지를 가져오고 싶을 때 EC2에 자격 부여
instance profile : EC2와 같은 리소스에 IAM역할을 연결
해당 인스턴스가 AWS 리소스에 액세스할 수 있도록 함.
aws PrincipalOrgID : 해당 organization 내 계정 사용자에게만 접근 제한
교차 리전 복제(CRR) : 다른 리전으로의 버킷 복제
CLI
EC2
EC2 인스턴스에 aws 리소스와의 연결 권한을 정의하기 위해서는 인스턴스 프로필을 생성하여 할당해야함
On-Demand Instance
짧은 워크로드, 예측 가능한 가격, 초당 가격 책정
Reserved
인스턴스를 예약하여 사용 (1년 or 3년) → 긴 워크로드
Savings Plans
긴 워크로드에 대한 예약
유연한 인스턴스 유형 변경 가능
Spot Instances
짧은 워크로드, 싸지만 워크로드 중단 가능성 존재 (reliable x)
Dedicated Hosts
물리적 서버 전체를 예약
Dedicated Instances
특정 하드웨어에 독점적 접근 보장
Capacity Reservations
특정 AZ에서 일정 기간동안 capacity를 예약
Placement Groups
EC2 인스턴스 배치 전략을 제어
- Cluster : 동일 AZ에서 낮은 지연시간
- Spread : 인스턴스를 하드웨어 리소스에 분산 → 고가용성 제공
- Partition : 인스턴스를 AZ내 여러 파티션에 분산 → 대규모 데이터 처리 작업에 적합 (Hadoop, Cassandra, Kafka)
EBS (Elastic Block Store)
클라우드에서 사용하는 가상 하드디스크
인스턴스에 붙어 사용되는 네트워크 드라이브
오직 한번에 하나의 인스턴스에만 마운트 가능
특정 AZ에서만 사용 가능
스냅샷 복원 가능 (복구 시 오래 걸려 RTO 최적 x)
EBS Volume Types
General Purpose SSD
gp2 / gp3 : 넓은 워크로드에서 적당한 가격과 성능을 가진 SSD
Provisioned IOPS SSD
io1 / io2 : 낮은 지연시간과 최고의 성능을 가진 SSD
Hard Disk Drives (HDD)
st1 : 잦은 액세스를 위한 낮은 가격의 HDD (Throughput Oprimized HDD)
sc1 : 액세스 빈도가 적은 낮은 가격의 HDD (Cold HDD)
EFS (Elastic File System)
확장성, 공유성 높은 파일 스토리지 (리눅스용)
EC2 인스턴스간 파일 시스템 공유, 병렬 접근 가능 ⇒ 다수의 인스턴스에서 파일에 동시 접근
리전별 서비스 → 여러 가용 영역에 걸쳐 데이터를 중복 저장 ⇒ 높은 가용성 & 내구성
로컬 캐싱 지원 x
Performance Mode
- General Purpose : 기본 성능 모드 → 일반적인 워크로드
- Max I/O : 대규모 데이터 처리에 적합
Throughput Mode
- Bursting : 가끔 높은 처리량이 필요한 경우 적합
- Provisioned : 스토리지 크기와 관계없이 원하는 처리량 설정 가능 (예측 가능한 처리량에 경우 적합)
- Elastic : Bursting + Provisioned → 자동으로 처리량 조절 (처리량을 예측하기 어려운 경우 적합)
AMI (Amazon Mahcine Image)
EC2 인스턴스의 커스텀
어떤 os, config, sw를 사용할것인지에 대한 템플릿
aws에서 제공하는 AMI (window, linux 등)
사용자 지정 AMI
마켓 AMI (누군가가 판매 목적으로 올려놓은 AMI)
High Availablity and Scaling
ELB (Elastic Load Balancer)
로드밸런서를 관리하는 서비스
다양한 서비스와 통합됨
CLB (Classic Load Balancer)
TCP, HTTP, HTTPS (3계층, 7계층)
하나의 EC2에 적용
ALB (Application Load Balancer)
HTTP, HTTPS, WebSocket 지원(7계층)
redirection 지원
여러 애플리케이션에 적용 가능 → 여러개의 CLB x
마이크로 서비스, 컨테이너 기반 애플리케이션에 적합 (Docker, ECS)
hostname이 fix되어야함
NLB (Network Load Balancer)
TCP, UDP 지원 (4계층)
초당 수백만개의 요청 처리
하나의 정적 IP 사용 (elastic IP)
EC2, IP, ALB에 적용
GWLB (Gateway Load Balancer)
배포, 확장, 타사 네트워크 어플라이언스 관리에 사용 (3rd party)
모든 트래픽이 방화벽을 통과, 침입 방지하도록 함
3계층의 서비스
EC2, IP에 적용
ASG (Auto Scaling Group)
사용량에 따라 EC2를 scale up & down (CPU Utitlization, RequestCountPerTarget, Averge Network In / Out)
사용자 임의 설정 가능
Target Tracking Scaling
제일 간단하고 쉬운 세팅
ex) CPU 사용률을 40%로 유지시키고 싶을 때
Simple / Step Scaling
사용자 지정
CloudWatch alarm이 실행되었을 때(사용자 지정) → unit을 추가하거나 제거하라 (사용자 지정)
Scheduled Actions
패턴을 예상하여 scaling 진행
ex) 금요일 6시부터 10시까지 최소 capacity를 증가시켜라
RDS (Relational Database Service)
db 관리 (Postgres, MySQL, MariaDB, Oracle, Microsoft SQL Server, Aurora)
auto provisioning, 지속적인 백업
모니터링 대시보드
재난을 대비한 다중 AZ
Scaling 가능
복제 가능 (최대 15개, 비동기식 복제)
다른 AZ로 복제할 시 비용 청구
RDS Multi AZ
sync 복제
가용성 증가
failover(자동 장애 조치) 수행 → 자동으로 대체 인스턴스로 트래픽 전환
Aurora
AWS에서 개발한 db
MySQL 및 PostgreSQL과 호환
기본 db보다 5배정도 성능 개선
read에 대한 용량 확장만 지원 (DynamoDB는 읽기/쓰기 모두 확장 지원)
최대 15개의 복제본 생성 가능
기존 RDS보다 20% 비쌈
Global Database
여러 지역에 걸쳐 데이터베이스 복제
failover 지원
RDS Proxy
db 로드 밸런싱 최적화 가능
RDS, Aurora failover time을 66% 감소
VPC내에서 액세스 가능 (public은 불가능)
ElastiCache
인 메모리 db 캐싱 시스템 제공 → 성능 향상
- Redis : 고가용성 지원, 단일 스레드
- Memcached : 고가용성 지원 x, 멀티 스레드
반복되는 요청을 cache에 저장하여 db 읽기 성능 향상
AWS 외부에서 접속 x (RDS와 다름)
key value 값
IAM 지원 X
애플리케이션 코드를 많이 수정해야함
Route 53
aws가 제공하는 DNS (Domain Name System)
Record Type
- A : 호스트명을 IPv4에 연결
- AAAA : 호스트명을 IPv6에 연결
- CNAME : 호스트명을 다른 호스트명에 연결
- NS : 호스팅 존에 대한 Name Server
- Alias : aws 리소스를 DNS 레코드에 직접 매핑
Beanstalk
S3
S3 Standard
보편적으로 사용되는 스토리지 타입
S3 - IA (Infrequent Access)
자주 접근되지 않으나, 접근시 빠른 접근 요구
S3 - One Zone IA
IA와 같지만 하나의 AZ에만 데이터 저장
덜 중요하고 자주 사용되지 않는 데이터 저장
가용영역에 문제가 생길 경우 데이터가 날아감
S3 - Glacier Instant Retrieval
밀리초 단위의 검색시간 (분기당 한 번 액세스에 적합)
자주사용되지 않지만 즉시 액세스 할 수 있어야 하는 데이터용
S3- Glacier Flexible Retrieval
수 분 ~ 몇 시간의 검색 시간 (연간 1 - 2회 액세스에 적합)
S3 - Glacier Deep Archive
12~48시간의 검색 시간, 연 1회 미만 액세스에 적합 (가장 저렴)
S3 Intelligent - Tiering
머신러닝을 통해 자동으로 파일의 티어를 변경
자주 접근하면 standard, 접근 빈도가 낮으면 IA로 옮김
오버헤드 x
S3 - Object Lock
- Compliance Mode : 어떠한 유저도 삭제 or 변경 불가능
- Governance Mode : 권한을 받은 유저를 제외한 어떤 유저도 삭제 or 변경 불가능
Multi-Part upload
5GB 이상인 파일을 S3에 업로드 할 때는 여러개로 나눠서 전송해야함
S3 Transfer Accleration
파일을 aws edge location으로 전송함으로써 전송 속도를 높이는 방법
Multi-Part upload와 호환 가능
CloudFront
전세계에 걸친 Content Delivery Network (CDN)
캐싱을 통해 사용자에게 더 빠른 전송 속도 제공
전세계에 Edge Server를 두고 사용자에게 가장 가까운 Edge Server를 찾음
WAF, Shield와 호환
failover기능 → 데이터의 회복력 수요 지원
Origin Server : 원본 데이터를 가지고 있는 서버 (S3, EC2)
Edge Server : aws에서 제공하는 서버, 캐싱 기능 제공
Global Accelerator
사용자 트래픽을 전송하여 성능 개선(TCP, UDP)
사용자와 가장 가까운 위치의 엔드포인트로 트래픽을 라우팅
2개의 고정 IP 사용
고정IP, EC2, ALB, NLB와 함께 사용
= Delivery gaming content
Snow Family
Amazon FSx
FSx for Lustre
병렬 분산 고가용성 파일 시스템
비디오 프로세싱, 모델링, 디자인
스케일 업 가능
S3와 통합 가능
온프레미스 서버에서 액세스 가능
hot data, cold data를 S3에 저장 가능
FSx for Windows File Server
윈도우 파일 시스템 공유 드라이브 (서버리스)
SMB 프로토콜 지원
스케일 업 가능
매일 S3 백업 업로드
멀티 AZ 구성 (고가용성)
온프레미스 infrastructure로 액세스 가능
FSx for NetApp ONTAP
FSx for OpenZFS
Storage Gateway
온프레미스 데이터와 클라우드 데이터 간의 가교 역할
S3 File Gateway
온프레미스 애플리케이션 서버와 NFS or SMB 프로토콜 사용
S3와는 HTTPS 프로토콜 사용
FSx File Gateway
Amazon FSx for Windows File Server에 자주 접근
자주 액세스되는 데이터에는 로컬 캐시 존재
Volume Gateway
S3에 의해 백업되는 블록 스토리지
캐시된 볼륨 : 낮은 접근 시간
저장된 볼륨 : 모든 데이터는 온프레미스에 존재
Tape Gateway
물리적 테이프를 사용하는 것과 같은 프로세스를 클라우드에서 수행할 수 있도록 함
Transfer Family
FTP 프로토콜을 사용하여 amazon S3나 EFS로 파일을 전송하는 완전 관리 서비스
FTP, FTPS, SFTP 지원
Scalable, Reliable, Highly Available (multi-AZ)
DataSync
데이터를 동기화 (대용량의 데이터를 옮김)
온프레미스 스토리지와 AWS 스토리지 간 대량의 데이터를 복사를 단순화, 자동화, 가속화하는 서비스
모든 스토리지 클래스에 동기화 가능
복제 작업은 기간을 설정하여 실행
파일의 권한, 메타데이터 보존 (NFS, POSIX, SMB etc)
SQS (Simple Queue Service)
서버간 메세지 큐를 제공, 비동기 메세지 서비스
분산 소프트웨어 시스템, 구성 요소를 통합 및 분리 가능
db로 메세지 전송 가능
이벤트 발생 후 동작 프로세스 처리
FIFO : 데이터를 수신하는대로 처리 → 누락 x
메세지 : SQS의 기본 단위
XML, JSON같은 텍스트 형태, 최대 64KB
고유한 ID 부여, 보관 기간이 지나면 자동으로 삭제
큐 : 메세지를 담는 공간
리전 별 생성, HTTP 프로토콜을 사용하여 다른 리전끼리 메세지 전달 가능
담을 수 있는 메세지의 개수는 무제한
FIFO 보장 x
가시성 제한 시간 설정 (Visability timeout)
SQS 메세지가 lambda를 2번 이상 호출하여 발생하는 문제를 해결하는 방법
메세지 수신 후 다른 소비자가 처리하지 못하도록 제한 시간 설정
SNS
이벤트 발생 시 이메일 or 메세지 전송 서비스
db 조작 불가
db로 메세지 전송 x
Kinesis
Kinesis Data Stream
데이터를 받으면 일정 기간 동안 데이터를 저장
데이터 스트림을 분석하는 애플리케이션 개발에 사용
Real Time
스케일링 직접 관리
Kinesis Data Firehose
데이터를 받고 S3, Redshift, ElasticSearch, 3rd party, HTTP로 전송
뒷 단의 목적지로 데이터를 전송하는 목적
DynamoDB에 데이터 저장 불가
Near Real Time
자동 스케일링
Kinesis Data Analytics
SQL을 사용해 데이터 스트림 분석
Data Sream 또는 Data Firehose에 연결 가능
Kinesis Video Streams
분석을 위한 비디오 스트림 캡쳐 및 처리, 저장
MQ
aws 관리형 메세지 브로커 서비스
온프레미스에서 애플리케이션을 오픈 프로토콜(MQTT, AMQP, STOMP 등)을 이용하여 클라우드로 마이그레이션 (SQS, SNS는 aws의 프로토콜 사용)
SQS, SNS만큼 확장되지는 않음 but 멀티AZ 환경에서 실행됨, 장애 조치 제공
SQS, SNS의 기능 제공 → 메세징 패턴 지원
ECS (Elastic Container Service)
확장성이 뛰어난 컨테이너 관리 서비스
오토 스케일링
Cluster : Task를 배포하기 위한 인스턴스의 집합
Container Instance : Task가 배포되는 EC2 인스턴스 (= 쿠버네티스의 worker node)
Task : Task definition에서 정의한 내용으로 배포된 컨테이너
ECS Auto Scaling (task level) ≠ EC2 Auto Scaling (EC2 instance level)
Fargate Auto Scaling : Serverless
ECR (Elastic Container Registry)
AWS에서 도커 이미지를 저장 & 관리
private, public repository
S3에 백업, ECS와 호환
EKS (Elastic Kubernetes Service)
쿠버네티스 클러스터를 관리하는 서비스
프로덕션 시스템이 클라우드에 무관하게 사용 가능
쿠버네티스 : 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링, 관리하는 오픈소스 시스템
Managed Node Groups : EKS가 노드들을 생성 & 관리
각 노드들은 ASG가능
on-demand & spot instance 지원
Self-Managed Nodes : 직접 노드들을 생성, EKS에 등록, ASG가 관리
Fargate
별도로 인스턴스를 생성하지 않고 도커 컨테이너를 실행하는 서비스 (서버리스)
ECS와 EKS에서 작동
App Runner
컨테이너화된 애플리케이션을 쉽게 배포할 수 있도록 지원하는 서비스
웹 애플리케이션을 자동으로 빌드 & 배포
자동으로 스케일링, 고가용성, 로드밸런서, encryption 지원
ex) 웹 앱, APIs. 마이크로서비스 등에서 사용
Lambda
이벤트 기반 서버리스 컴퓨팅 서비스
가상 함수 → 관리할 서버 x
자동 스케일링
수많은 언어, 수많은 AWS 서비스와 호환
CloudWatch를 통한 모니터링 가능
UDP 트리거 불가
Lambda@edge
한번 사용하는 일회용 텍스트 파일을 egde location에서 압축하여 데이터 전송 비용 절약
가용성 x
DynamoDB
key-value NoSQL db (서버리스) (JSON)
높은 성능
HTTP로 통신
primary key나 인덱스로만 쿼리 가능
읽기/쓰기 용량 확장 지원
Backup
Point in Time Recovery (PITR)
최대 35일동안 선택적으로 활성화
백업window 내에서 어떤 포인트로도 복구 가능
복구 작업은 새로운 테이블 생성
on-demand backups
필요할 때마다 백업
삭제 작업을 할 때마다 백업 유지
성능에 영향 주지 않음
AWS Backup에 의해 구성되고 관리됨
복구 작업은 새로운 테이블 생성
Provisioned Mode
사전 예약 → 초당 읽기/쓰기 작업 수를 지정
처리량 미리 계획해야함
On-Demand Mode
요구에 따라 자동으로 확장/축소
처리량을 미리 계획할 필요 x
사용한 만큼 지불
예측불가한 워크로드 or 급격한 증가 있을 때 적합
TTL
지정한 시간 기한이 지나면 자동으로 삭제하도록 함
Global Tables
다중 지역에서 데이터를 동기화하는데 사용 → 높은 응답 시간 & 데이터 지연
DAX (DynamoDB Accelerator)
DynamoDB의 memory cache
캐싱으로 읽기 성능 향상
캐시 데이터에 대한 밀리세컨드 지연
DynamoDB와 탄탄하게 통합
API Gateway
외부에서 aws 서비스에 대한 액세스를 제어 (서버리스)
모든 클라이언트는 각 서비스의 엔드포인트 대신 API Gateway로 요청 전달 (프록시 역할)
REST 및 HTTP 유형의 API 지원
마이크로서비스 기반 애플리케이션에 적합
Step Functions
Cognito
애플리케이션에 대한 로그인, 인증 제공
각 요청을 검증할 수 있도록 API Gateway에서 Cognito사용자 풀 권한 부여자 구성
자격 증명 풀 : 다른 AWS 서비스에 대한 액세스 권한을 부여하기 위한 AWS 자격 증명 제공
DocumentDB
MongoDB 워크로드를 지원하 문서 데이터베이스 서비스
가용성 높고 빠름
스케일링 가능
JSON 데이터 쉽게 저장, 쿼리, 인덱싱 가능
인메모리 데이터베이스 x
Neptune
관계형 데이터셋들을 이용하는 애플리케이션을 쉽게 구축 및 실행할 수 있게 하느 관리형 그래프 db 서비스
고성능 db 엔진으로서 수십억 개의 관계를 저장
밀리 초 단위의 latency로 그래프를 쿼리
가용성 높음 → 읽기전용 replicas, PITR, S3에 대한 연속적인 백업, AZ간 복제 등
HTTPS 연결, 암호화 지
Keyspaces
QLDB
Timestream
Athena
S3의 데이터 분석 쿼리 서비스 (서버리스)
sql문으로 쿼리 작성
CloudTrail에서 로그를 쿼리하여 특정 동작에 대한 API 호출 식별 가능
CSV, JSON, ORC, Avro, Parquet 확장자 지원
(S3의 데이터를 분석할때 사용)
aws 비용 청구서 분석 가능
Redshift
PostgreSQL 기반 db
대규모 데이터셋 저장 및 분석
페타바이트 스케일 데이터 웨어하우스
OLAP 유형의 db → 온라인 분석 처리 (대규모 데이터 분석)
⇒ 분석 & 데이터 웨어하우징 (10배 성능 좋음)
but S3로부터 Redshift로 모든 데이터를 로드해야함
(간단한 쿼리를 실행해도 모든 데이터 필요)
데이터 영구 보관 & 실시간으로 쿼리 가능
Multi-AZ 지원 x → 높은 내구성을 위해선 다른 리전으로 snapshot을 복사해야함
Redshift Spectrum
Redshift에 데이터를 로딩할 필요 없이 S3 안의 파일에서 데이터를 효율적으로 쿼리 및 검색 가능
Redshift 서버에 상주
OpenSearch
검색 및 분석 엔진 (ElasticSearch 기반)
기업의 대량의 데이터를 신속하게 검색 및 분석
DynamoDB, Kinesis Data Firehose, CloudWatch Logs에서 데이터 가져옴
Cognito, IAM, KMS encryption, TLS로 보안 기능 제공
시각화 기능 제공 (Dashboards)
EMR (Elastic MapReduce)
Hadoop clusters (빅데이터) 생성 → 많은 양의 데이터 분석 및 처리
cluster는 수백개의 EC2로 구성
데이터 처리, 머신러닝, 웹 인덱싱, 빅데이터에서 사용
(=Big Data)
QuickSight
datasource(RDS, Aurora, Redshift, Athena, S3 등..)를 통함하여 분석 진행 → 대시보드로 시각화 (서버리스)
데이터 소스로 Kinesis Data Streams 및 Kinesis Data Firehose 지원
DynamoDB에 데이터 저장 가능 (Kinesis Data Firehose와의 차이점)
오토 스케일링 가능
csv, json, xlsx 등의 데이터 소스 호환
QuickSight내에서 유저와 그룹 정의 (IAM x)
애플리케이션 모니터링을 위해 CloudTrail, CloudWatch와 통합
실시간 데이터 처리
Glue
데이터 카탈로그화 & 데이터 ETL(Extract, Transform, Load) 작업 수행
→ 로그 카탈로그화 → EMR 사용하여 sql 쿼리 실행 가능 (오버헤드 o)
북마크 기능 → 이미 진행한 데이터를 다시 진행하는것을 막음
Lake Formation
Data lake : 분석을 목적으로 모든 데이터를 한 곳에 위치한 것
수많은 단계를 자동화함
MSK (Managed Streaming for Apache Kafka)
Amazon Kinesis를 대체할 서비스
완전 관리형 Apache Kafka 서비스
데이터 스트리밍 애플리케이션을 구축 & 운영
고가용성, 확장성 제공
message size가 기본 1MB 최대 10MB
Machine Learning
Rekognition
이미지, 비디오에서 객체 탐지 (사람, 글, 물체 등)
얼굴인식
Transcribe
음성을 텍스트로 변환
PII(Personally Indentifiable Information)을 자동적으로 삭제
다중 언어 기능
Polly
텍스트를 음성으로 변환
lexicons : 특정 단어를 제어
SSML : 비언어적 표현 추가
Translate
자연스럽고 정확한 번역 기능
Lex & Connect
Lex : 음성인식으로 텍스트로 변환 → 이를 이해하여 고객센터에서 활용
Connect : 전화를 받고, 상담원을 대체하는 가상 머신
Comprehend
텍스트를 이해하는 서버리스 시스템
Natural Language Processing (NLP)
SageMaker
개발자에게 제공하는 ML model 생성 서비스
예측 기능 제공
Forecast
예측 기능을 제공하는 서버리스 서비스
Kendra
문서 찾기 서비스
문서를 이해하고 그에 맞는 대답 도출 가능
Personalize
개인 추천 시스템 개발 서비스
기존의 정보 사용(S3, Personalize API)
SMS, applications, email 등으로 전송 가능
Textract
텍스트, 손글씨를 자동으로 스캔하여 문서로 도출하는 서비스
Monitoring
CloudWatch Logs
aws 애플리케이션 로그 저장 & 모니터링
쿼리 기능 x (쿼리를 실행하기 위해선 다른 서비스로 데이터를 이동 → 오버헤드 o)
EventBridge
CloudTrail
aws service가 수행하는 작업(event and API)를 CloudTrail에 기록
이를 S3에 저장 & CloudWatch Logs로 분석 가능
Config
aws 리소스에 대한 규정 준수를 감시하고 변경사항을 로그 기록
삭제 및 쓰기는 추적 x (CloudTrail과의 차이점)
리소스 구성이 규정을 준수하는지 규칙 생성 가능
Security
KMS (Key Management Service)
사용자를 대신하여 암호화 키를 관리
IAM과 통합
Cloud Trail을 이용하여 KMS에 대한 API 호출 관리 가능
비밀 텍스트를 코드 안에 넣어서는 안됨
KMS Multi-Region Keys
KMS는 다중 리전 키를 둘 수 잇음
한 리전에 기본 키를 두면 다른 리전으로 복제됨 (key id는 같음)
한 리전에서 암호화 후, 다른 리전에서 복호화 가능
KMS Multi-Region Keys는 전역으로 사용 불가능
각각 독립적으로 관리됨
SSE-S3
AWS가 소유하고 관리하는 키를 사용해 암호화 진행 (액세스 불가)
SSE-KMS
AWS, S3 서비스가 보유한 키에 의존하지 않음
직접 자신의 키를 관리
SSM Parameter Store
암호를 위한 보안 스토리지 (서버리스)
KMS 서비스를 통해 암호 생성
자동화 x
Secrets Manager
암호화된 보안 정보와 암호화된 데이터 키를 저장 및 유지 관리
n일마다 강제로 암호를 교체 (자동화)
RDS와 통합
KMS 서비스를 통해 암호화
ACM (Amazon Certificate Manager)
SSL/TLS Certificate 발급, 배포, 관리 서비스
ELB, CloudFront, API gateway와 통합
EC2와는 사용 불가능
자동 갱신 지원
가장 비용 효율적인 인증 관리자
외부 인증서의 경우 EventBridge로 알림을 보내서 수동으로 교체해야함
Firewall Manager
방화벽 규칙을 관리
여러 계정의 규칙 동시 관리 가능
보안 규칙의 집합인 보안 정책 설정 (ALB, API Gateway, CloudFront)
여러 계정의 AWS WAF, Shield를 사용 가능
WAF (Web Application Firewall)
애플리케이션 보호 (7계층)
ALB, API Gateway, CloudFront에서 활용 (NLB는 불가)
웹 트래픽 모니터링, 악의적인 행위 탐지 & 차단
Web ACL(보안 규칙) 제공 → SQL 인젝션, XSS, HTTP 헤더 조작, IP 주소 차단 기능 제공
ALB, API Gateway, CloudFront 등에서 배포 가능
cloudfront보다 먼저 IP 검사
웹 기반 공격으로부터 db 보호하기 알맞음
Firewall처럼 필터링 불가
Shield
DDos 공격으로부터 보호
GuardDuty
aws 계정, 워크로드, S3에 저장된 데이터에 대한 지능형 위험 감지 서비스
CloudTrail Event Logs, VPC Flow Logs, DNS Logs, Optional Features 사용
EventBridge rule 설정 가능
Inspector
애플리케이션에 대한 보안 취약점 식별 & 해결방안 제공 (서버리스)
EC2, Container Images, Lambda에 대해서만 가능
Macie
데이터 보안 및 개인정보 보호 서비스 (서버리스)
PII(Personally Identifiable Information)과 같은 민감한 데이터를 식별하고 알림
VPC (Virtual Private Cloud)
CIDR
Subnet
Gateway & Routing Table
Bastion Host
내부, 외부 네트워크 사이에서 게이트 역할을 수행하는 호스트 → 오버헤드 발생
public 서브넷에 위치함 → 다른 모든 private 서브넷과 연결됨
NAT Instance
VPC 내의 프라이빗 서브넷이 인터넷에 액세스 할 수 있게 하는 서비스
포트포워딩 지원
바스티온 서버 지원
보안그룹 연결 가능
NAT Gateway (Network Address Translation Gateway)
VPC 내의 프라이빗 서브넷에 있는 인스턴스들로 하여금 인터넷에 액세스 할 수 있게 하는 서비스
사설 IP주소를 공용 IP주소로 변환
포트포워딩 지원 x
바스티온 서버 지원 x
보안그룹 연결 불가능
NACL & 보안그룹
VPC Peering
VPC Endpoints
VPC Flow Log
VPN
온프레미스와 Amazon VPC간의 연결
VPN 게이트웨이 (가상 사설 게이트웨이) : VPC쪽 엔드포인트
고객 게이트웨이 : 고객쪽 엔드포인트
Direct Connect
온프레미스에서 AWS로 간단하게 전용 네트워크 연결을 지원하는 서비스
프로비저닝에 상당한 시간 걸림 (몇 개월)
일관성 있는 서비스 품질 가능
Traffic Mirroring
VPC 내에서 네트워크 트래픽을 캡쳐하고 점검
다른 VPC간의 트래픽도 가능
내용 점검, 위험 모니터링, 트러블 슈팅에서 사용
IPv6
Network Firewall
전체 VPC를 방화벽으로 보호하는 서비스
계층3에서 계층7까지 보호
VPC간 트래픽, 인바운드 아웃바운드, Direct Connect, Site to Site VPN 연결 포함
내부적으로 Gateway Load Balancer 사용
Recovery
Backup & Restore
RPO / RTO : 시간 단위
데이터 및 애플리케이션을 DR 리전에 백업
재해 복구가 필요한 경우 해당 데이터를 복원
Pilot Light
RPO / RTO : 10분 단위
시스템의 핵심 요소를 항상 실행하는 최소 버전의 환경을 DR 리전에 유지
복구 시 중요한 핵심 요소를 중심으로 전체 프로덕션 환경을 프로비저닝
Warm Standby
RPO / RTO : 분 단위
항상 실행되는 모든 기능을 갖춘 환경의 축소된 버전을 DR 리전에 유지
복구 시 빠르게 확장하여 전체 시스템 복구
Multi-site active/active
RPO / RTO : 초 단위(Real Time)
멀티 AZ에 서비스를 활성화 → 장애 발생 시 다른 지역으로 자동으로 전환하여 서비스 제공
Route53, Global Accelerator, 데이터베이스 복제 등의 AWS 서비스를 통해 지역 간의 트래픽 분산 및 데이터 동기화 수행
Migration
DMS (Database Migration Service)
db간의 migrate 서비스
migration 중 소스 데이터베이스가 완벽하게 운영 → 애플리케이션 불가동 시간 최소화
CDC를 이용하여 지속적인 데이터 복제 가능
EC2 인스턴스로 task 수행
RDS, Aurora Migrations
Backup
다양한 서비스의 데이터를 안전하게 백업하고 복원할 수 있는 관리형 백업 서비스
aws 계정 전반으로 자동으로 백업 진행
스크립트나 프로세스 생성 필요 x
EC2, EBS, S3, RDS, Aurora, DynamoDB, DocumentDB, Neptune, EFS, FSx(Lustre & Windows File Server, Storage Gateway에서 사용 가능
cross-region 백업 지원, cross-account 백업 지원
Backup Plans : 백업 빈도, 백업 윈도우 (크기), 이전, 보유 기간 지정 가능
MGN
VMware Cloud
etc
CloudFormation
리소스 관리 시간을 줄이고 AWS의 애플리케이션에 더 많은 시간을 할당하는 서비스 → 인프라 관리 간소화
JSON, YAML로 인프라에 대한 정보 템플릿 작성 → 인프라 생성됨
다운타임 발생 → CloudFormation은 Auto Scaling Group이 대안이 될 수 없음
SES
단순 Email 서비스
알림을 email로 전송
Pinpoint
Run Command
문서를 실행 (스크립트 or 명령)
여러 인스턴스에서 실행 (EC2)
Agent를 통해 실행 (SSH x)
EventBridge가 실행
실행 결과는 S3 또는 CloudWatch로그로 보내짐
IAM과 통합
SSM Session Manager
Patch Manager
인스턴스 관리 과정 패칭을 자동화함
운영체제, 애플리케이션, 보안 업데이트 적용
EC2, 온프레미스 서버 지원
기간 설정 가능
Batch
AppFlow
SaaS 애플리케이션 간의 데이터를 안전하게 전송하고 자동화하는데 사용
원문: Velog
![[AWS] Certified Solutions Architect - Associate (SAA-C03) 요약 정리](/assets/img/posts/velog/0b0c50cd22e1b7fca404.png)