본문 바로가기
Develop+㈜/- S.Develop+

아마존 AWS Certified Solutions Architect - Associate Study(SAA-C03) 자료1

by JoyKim 2026. 6. 4.
반응형

 

 

EC2 - 서버를 제공하는 IaaS 서비스임, OS와 host제공함 -> 사용자는 Virtual Machine 사용함

AMI - Amazon Machine Image로 일정의 템플릿임 다양한 선택가능한 OS

인스턴스 타입 EC2에 컴퓨팅에 대한 유형, 문자열별 의미가 다름 M5.large(첫음은 인스턴스 타입, 두번째음은 타입)

 

EC2에 프라이싱 플랜

On demand - 철저히 이용 기반

Reserved - 1~3년간 예약 기반 최대 72% 할인 - 인스턴스 패밀리와 사이즈 선택

- Saving plan도 1~3년 미리 지불 최대 72%할인 - 다양한 서비스 선택 가능

Spot - 갑자기 정지될 수 있는 인스턴스로 최대 90% 할인

Dedicated - 컴플라이언스나 시큐리티가 중요한 인스턴스로 다른 사용자에게 공유되지 않음

 

Auto Scaling - 서버 추가 및 제거를 자동으로 진행함 서버를 추가하는것을 Scale out, 제거를 Scale in

CPU사용률에 맞춰 추가 자동 추가 가능 AIM와 조건 목표 사용율, 사용자 접속자 수, 특정 시간때, 장애 대비 동작하지 않을때 사용가능

기능은 무료고, 증가한 인스턴스 비용만 지불하면됨

 

AWS Batch - 컴퓨팅 서비스로 필요한 시점에 동적으로 최적의 컴퓨팅 리소스를 제공함 크롬잡을 AWS로 제공하는 것과 비슷함

Elastic Beanstalk - 용량 로드벨런싱 스케일링을 자동화해주는 컴퓨팅 리소스임 (PasS)타입, EC2와 비교했을때 컴퓨그레이션 리소스를 줄일 수 있다. 소규모 회사에 유리

AWS Outposts - 사용자가 온프레미스 환경에서 AWS와 같은 서비스를 제공하는 서비스, 데이터 센터에 설치해 AWS에 AZ 온프레미스 서버를 이용할 수 있음

VMware cloud - VMware migration을 위한 컨테이너와 서버리스로의 이동을 지원함

AWS Wavelength - 5G의 edge 컴퓨팅 서비스로 초 저지연을 위한 솔루션 

 

Container - 어떤 응용프로그램을 실행할지 미리 정해놓은 것, 도커라는 솔루션이 유명함

                     서버 가상화보다 훨씬 가벼움, 응용프로그램을 실행하는 의존성 프로그램만 필요함

                     컨테이너는 사라지면 안에 작업 내용이 삭제되어 저장 디렉터리가 별도 필요함

AWS Container - 3가지가 있음

ECS(Elastic Container Service) - 도커 컨테이너에 실행 중지 및 관리를 단순화한 완전 관리형 컨테이너 오케스트레이션 서비스임

EKS(Elastic Kubernetes Service) - 쿠버네틱스를 쉽게 실행할 수 있는 관리형임

ECR(Elastic Container Registry) - 개발자가 컨테이너 저장 배포하기 쉽게 해주는 완전 관리형 도커 컨테이너 저장소

컨테이너 오케스트레이션 - MSA와 같은 여러 컨테이너를 유기적으로 사용하는 서비스가 많은데 오케스트레이션 도구는 운영 부하를 줄임

쿠버네틱스 - 이 오케스트레이션을 담당하는 오픈소스 솔루션임

 

ECS와 EKS의 차이는 컨테이너 오케스트레이션 기능을 AWS가 담당하는지 쿠버네틱스가 담당하는지 차이임

각 컨테이너는 노드에 귀속되고 노드는 콘테이너를 실행하는 서버임

 

Serverless - AWS에서 논리서버와 서버관련 인프라를 관리함으로 사용자의 관리가 필요 없음, 

- AWS Lambda - 서버를 프로비져닝이나 관리하지 않아도 대부분의 어플리케이션을 실행함, 람다가 제공하는 runtime 중 하나로 실행하면됨(파이썬, C샵, 자바 등), 람다는 이벤트에의해 자동으로 실행하는 트리거를 사용함

- Fargate - 서버리스 서비스, 로드로 활용하면 EC2를 사용하는 것보다 ECS, EKS를 조금더 편하게 사용함 (비용은 파게이트웨어가 높음)

- Appsync - 서버리스 완전관리형 그래프싱크 서비스임, 클라이언트 어플리케이션과 서버사이에 통신을 간편해짐 GraphQL 클라이언트가 필요한 데이터만 한번에 요청하고 받을 수 있는 커리 언어임, 이를 서버리스로 관리해주는 서비스가 앱싱크임

 

Elastic Cache - DB

 

02-02 Stroage

File Storage - Data를 파일단위로 관리 저장 사용성은 좋으나 대규모 처리 어려움

Block Sotrage - 데이터를 고정된 크기에 블록에 저장하며 각 블록은 고유 식별자가 있음 높은 확장성과 빠른 접근 가능(데이터를 쪼개서 보관하여 관리는 어려움)

Object Storage - 데이터를 오프젝트 단위로 저장하며 오브젝트에 식별자 보관, 무한에 가까운 확장성 제공, 클라우드에 적합, 지연시간 긴게 단점, 업데이트 비효율적(S3)

 

S3는 오브젝트 스토리지로 실제로는 폴더 구조가 아니지만 구분자를 통해 폴더처럼 보임, 3개 구역에 저장됨, 1개에 5TB가 한계임

- 키, 오브젝트, 버킷 3개로 구성됨

S3 이용 빈도에 따라 유형이 나눠짐(스토리지 클레스), S3 Stadard 가장 기본이며 잦은 오브젝트 엑세스가 이뤄날때 3개 AZ에 보관됨

Standard-IA - 이용 빈도가 스탠다드보다는 적음, 3개 AZ보관

One Zone-IA - 이용 빈도가 적음, 1개 AZ보관

Intelligent - Tiering - 이용빈도를 고려해 자동으로 스토리지를 변경해줌 (3개 보관)

 

Glacier Storage Class - 잘 사용하지 않는 오브젝트를 아카이빙함

instant Retrieval - 조회가 바로 되야함

Flexible Retrival - 조회시 약간 지연 발생

Deep Archive - 몇시간 이상 지연 발생

 

S3는 수명주기 설정이 가능함

1개 오브젝트가 처음에는 사용빈도가 늘다가 시간이 지나면 빈도가 주는 경우 수명주기 설정이 가능하여 저비용 스토리지로 이동가능함

(다만 원복은 불가능함)

S3 Versioning - 오브젝트가 변경된 이력을 모두 추적 가능함 S3버킷 단위로 가능함

 

S3 복제(Replication)

SRR(Same Region Replication)

CRR(Cross Region Replication)

 

S3 Access Conrol

IAM Policy - 사용자나 그룹에 대한 권한 부여

Bucket Policy - Json다큐멘트로 정책이 담겨 있음

Block Public Access - S3에 대한 공용 노출을 막아줌(설정이 잘못되어 Public으로 엑세스가될 수 있는데 차단해줌)

Pre-Signed URLs - 특정 S3에 접근을 허용하는 임시 URL제공 가능

 

S3 Data Encryption

From Server

SSE-S3에서 암호를 보관함

SSE-KMS

SSE-C - 클라이언트 키를 서버에 전송함(Https)

 

From Client

클라이언트에서 수명주기를 관리해 키는 전달하지 않고 암호화해 전달

 

Hosting Static - url로 aws에 DB에 접속할 수 있게 제공 가능

 

EBS - EC2와 함께 사용하는 하드 디스크, EC2가 중단되도 데이터가 저장되어 비용이 계속 발생됨, EC2 어플리케이션 로그와 구성 정보를 제공함, 스냅샷과 백업 기능도 제공함

EFS(Elastic File System) - 파일 스토리지, NFSv4 Protocol 사용 99.99%보증

FSx - FSx for Windows File Server - SMB프로토콜을 사용해서 

FSx for Lustre - Lustre file System (고성능 컴퓨팅 환경에 적합)

 

AWS Backup은 AWS EBS, Dynamo DB같은 데이터를 백업하는 서비스로 규칙을 설정하면 S3에 자동으로 백업함

AWS에 Organization을 통해 중앙에서 통제할 수 있음

 

Storage Gateway - 온프레미스에서 클라우드에 스토리지에 접근할 수 있게 하는 서비스, 자주 접근하는 서비스를 온프레미스에서 캐시하여 저지연 성능 제공, 변경된 데이터만 수정 압축할 수도 있음

 

02-03 Database

RDB(Relation Datbase) - Amazon RDS, Aurora 테이블간 조인을 통해 데이터를 결합해 볼 수 있음

NoSQL - 스키마가 조금 더 유연함 Document(Json, XML을 그대로 DB로 활용, Document DB),

Graph(관계 기반 SNS에서 많이 사용, Naptune),

Key-value(고속 처리, DynamoDB, ElastiCache),

Wide-Column(행별로 컬럼이 다름, Keyspaces)

Ledger Database - 원장 DB로 저널이 있어 들어오고 나가는 이력을 추적할 수 있고 삭제할 수 없음(은행 많이 사용, Amazon Quantum Ledger Database)

DW(Datawarehouse) - 여러가지 데이터 소스들에서 오늘 정보를 모은 저장소 Amazon Redshift

 

Amazon RDS - relational databases를 지원하며 EC2를 지원하며 러닝타임에 따라 비용이 발생함, 고가용성을 위해 멀티 AZ 배포를 지원함 하나의 리전에 기존DB(primary)를 다른 가용 영역에 복제(Fail Over) DB(Standby)를 생성할 수 있음(장애시 자동으로 스위칭됨), 단 Standard에서는 Read나 write를 제공 안함 , 엔진 제공

Cluster복제 방식 - 프라이머리 인스턴스 하나에 복제본 2개를 두는데, 프라이머리에서는 리드와 라이트가 되지만 스텐다드에서는 리드만 가능함 (My SQL, PostgreSQL엔진에서만 제공함), 비동기적 복제 

RDS는 읽기 성능을 향상하기 위해 Read Replica를 제공함 최대5개까지 복제 가능함, 다른 AZ나 크로스 리전도 가능함, 프라이머리는 라이트 리드, 다른 복제는 리드만 가능 비동기적 복제

RDS Backup - 7일이 자동 보관, 특정 시점 기준 복구 가능, 35일까지 보관, 비용 효율을 위해 S3저장 추천, 더 길면 AWS 백업 서비스 사용 

 

Amazon Aurora - 알DB, Relational DB 지원, AWS에서 직접 구축, My SQL, PostgreSQL그대로 사용, 6개에 카피를 3개에 AZ에 보관

 

Amazon Aurora는 멀티 Primary와 멀티 마스터 제공, 리드 레플리카 15개까지 가질 수 있음, 자동으로 Fail-over될 수 있음, 다른 리전의 경우 프라이머리 둘 수 없고, 리드만 가능

 

Aurora Read Replica - 15개에 리플리카를를 가질 수 있음, Read는 다른 리전에 복제될 수 있으나, 프라이버리는 리전 방출이 안됨 

 

Aurora Backup - 3개에 Az에 걸쳐서 복제되어 있음 최대 5분 전까지 저장하고 있어 5분 전으로 복구 가능

 

Aurora Serverless - 서버리스 형태로 사용하는 사용량을 당장은 모를때 사용함, 인스턴스 사이즈를 지정해놓지 않아도 됨 

 

NoSQL서비스 

Document DB - Json 같이 반정형 파일을 데이터 베이스로 사용가능함 몽고 DB도 호환됨

Amazon Neptune - Graph database는 관계를 기반으로 데이터 베이스가 쌓임

Nodes는 사물, relation 그들의 관계 properties는 정의되어 있는 컬럼들

 

DynamoDB - Keyvalue DB서비스임, 람다 같은 이벤트 서비스랑 연결해서 사용함 파티션들이 가용성을 위해 3개에 AZ에 복제가 되는 형태임

Partition key - 1개만 있으면 Primary Key로 사용 해쉬 값으로 인덱싱되고 정렬이 안됨

Sort key - Partition Key와 결합되어 유니크하게 사용 가능, 소트 기능 지원함

 

Capacity Unit - 과금에 단위, 1 Rcu - Read 1초당 4KB할 수 있다., 1 WCU는 1초에 Write 1KB할 수 있는거

 

사용량을 알면 Provisioned과금체계를 쓰고(조금 더 저렴), 모르면 On-demand

 

Amazon DynamoDB - Dax- 조금 더 빠르게 캐싱하여 사용 EC2서버에 DAX Client를 쓰면 미리 캐싱해서 조금 더 빠름

 

Elasticache - 하드디스크까지 가지 않고 메모리에 올려 조금 더 빠르게 사용함, 단점은 인스턴스가 내려가면 메모리는 휘발성이라 데이터가 삭제됨, 지속적인 데이터 저장이 필요없는 설계에만 적합함, Redis와 호환

 

Keyspaces 서비스는 Apache Cassandra DB를 지원함 NoSQL서비스  한 행별로 각각에 다른 컬럼을 만들 수 있음, 유연한 스키마 , 서버리스 형태로 아파치 카산드라를 제공

 

Amazon Quantum Ledger Database(퀀텀 렛져 데이터베이스) - 이력을 추적하는 원장 기반에 DB임 Sha256암호화로 간결한 변경기록을 저장하는 Journal(다이제스트) 은행, 같은데서 많이 사용

 

Amazone Redshift - Data warehouse service를 제공하는데 창고처럼 데이터를 저장해 분석용으로 사용함, S3나 RDS에 저장된 것도 사용 가능하고 컬럼을 사용함 

 

My SQL - RDS 혹은 Aurora 사용 가능 근데 오로라가 더 고가용성임

싱글 에이지보다는 멀티 AZ가 가용성이 높음

Soclal Media - Amazon Neptune 관계형을 떠올려야함

오퍼레이션 오버해드는 Process Chager로 1개로 운영 하는게 좋음 중복은 올라감

Clickstream data는 분석은 Redshift를 사용함

Kinesis Data Streams은 실시간 데이터에 사용함

 

02-04 Networking and Content Delivery

IP - 0~255까지 가짐 IPV4는 43억개 정도됨, 8bit X 4개 임 198. 168. 1. 0, 11111111,10101000,000000,00000,0000000

CIDR 표기범  - 네트워크에 접두사를 /16 같이 표현함 

Host 0000000 - 네트워크 어드래스, 11111111 - 브로드케스트를 의미하는 예약된 주소임

DNS는 도메인 시스템에 약자로 IP를 영문으로 변경해줌

 

네트워크에 방화벽 - 들어오고 나가는 규칙을 설정해 무단 진입을 막아줌, 특정 IP/Port로부터 데이터 전속을 막음

라우터 - 컴퓨터 네트워크 간에 데이터 패킷을 전달함, 라우터는 출발지에서 목적지까지 최적 경로를 설정함, 라우팅 테이블을 만듬

라우팅 테이블 - 라우터 네 데이터 테이블로 라우터의 목적지까지의 경로와 메트릭을 저장하고 있음, 목적지 IP와 인터페이스 저장됨

다음은 로드벨런서 Load Balancer - 많은 트래픽을 분산해 서버에 과부하를 감소시킴

 

Region - VPC(Virtual private cloud, Internet Gateway) - AZ(subnet, Nat gateway, Instance) 

 

Region 33개가 있음, 여러개에 가용역이 있음

리전 안에 AZ(Availability Zones) - 물리적으로 떨어져있고 전력원도 다름, 고속 네트워킹이 되어 있고, 데이터는 암호화되어 전송됨, 1개 이상 데이터 센터가 있음

VPC(Virtual Private Cloude) - 가상 사설 네트워크이고, 클라우드 환경에서 프라이빗 네트워크를 구성하는거임 CIDR을 활용하여 계정당 5개의 VPC를 생성 가능

Subnet - 특정 리전 내 생성하고, VPC내 CIDR Block내 생성, VPC보다 네트워크를 더 분활하여 사용하게 하며, 각 서브넷에서는 5개의 IP주소가 예약되어 사용됨(0,1,2,3,255) 예약된 IP주소는 운영과 관리에 사용됨

Internet Gate - VPC가 인터넷에 연결할 수 있게 해줌 퍼블릭 서브넷 라우팅 경로에는 인터넷과 연결될 필요가 있음

Nat Gateway - EC2 인스턴스는 인터넷과 직접 통신할 수 없음, 인터넷에 접근하려면 Nat Gateway를 사용함, 프라이빗 서브넷이 인터넷을 연결해야할때 간접적으로 사용함(외부로 IP유출 한함)

 

Security Group - Stateful firewall은 인바운트 트래픽을 기억했다가 아웃바운드는 자동으로 허용해줌 시큐리티 그룹은 스테터스풀 방화벽임, 차단은 없고 허용만 존재함, 모든 인바운드는 트래픽이 차단되고 아웃바운드는 모두 허용됨 

 

인바운드(외부에서 내부로 들어오는 데이터)와 특정 IP/Port를 허용하려면 별도 오픈 규칙을 지정해야함, 아웃바운드는 데스티네이션을 다른 시큐리티로 보낼 수도 있음 

 

NACL(Network Access Control List) VPC와 서브넷을 보호하기 위한 네트워크에 있는 서버리스 방화벽임

NACL은 인바운드 규칙을 가지고 있다. NACL은 허용과 거부 규칙을 모두 적용하고, 낮은 번호부터 순차적으로 적용되어 규칙에 순서가 중요함

EIP - Elastic IP EIP는 고정 퍼블릭 주소로 EC2인스턴스에 할당 가능, 고정된 퍼블릭 IP를 제공할때 사용함, 다시 재 할당도됨

ENI Elastic Network Interface - 가상 네트워크 인터페이스 카드, EC2와 연결할 수 있다. 앤드포인트로 사용가능함 네트워크 트래픽을 분리하거나

AWS WAF는 Web application firewall으로 HTTP HTTPS를 모니터링하고 방화벽을 제공함 SQL인젝션과 크로스사이트 스큅팀 공격으로 부터 보호함, SQL인젝션은 악성 SQL커리를 주입해서 데이터베이스를 조작, 크로스사이트 스크립팅은 악성 코드를 주입에 사용자 스크립트 실행시 공격당함 특정 IP주소나 패턴 접근을 막을 수 있음

 

AWS Shield - Ddos방어 시스템으로 트래픽을 실시간 모니터링해 비정상적인 트래픽을 감지함

ELB- 트래픽을 여러 IP에 분배함

ALB - HTTP, HTTPS OSI 7계층에서 동작함

NLB - TCP, UDP, SSL, TLS 4계층에서 동작함 IP와 TCP기반 동작함

 

네트워크간에 커넥팅은 VPC Peering으로 통신을 도와줌, VPC끼리 1:1 커넥션 제공함, CIDR이 오버랩 되면 안됨

많은 VPC에는 VPC Peering을 추천하진 않음

AWS Direct Connect 는 AWS와 on-Premises를 연결하는 서비스로 AWS와 On-premises로 전용선을 연결하는 서비스임

VIF(Virtual Interface for Communication)를 통해 연결 필요

AWS Transit Gateway - VPC를 5000개까지 연결이 가능함, VPCs, VPN, Direct Connect도 연결 가능

VPC Endpoint - AWS내 연결에 사용(인터넷X), S3는 공짜

 

Gateway Endpoint - 서로다른 2개의 VPC간 연결시 사용(라우팅 테이블을 통해 게이트웨이 엔드포인트를 통해 다른 VPC를 연결함)

Interface Endpoint - ENI와 같이 사용해야며, AWS PrivateLINK를 통해 다른 ELB를 통해 연결 

 

VPN은 다이랙트 커넥트와 비교됨

VPN은 전용선을 설치하지 않고 전용선 처럼 쓸 수 있는 버츄얼 네트워크를 제공함

On-Premises와 AWS를 인터넷 망에서 연결시켜줌

Site-Site VPN - 계속 연결 (다이렉트 커넥트가 안될때도 사용)

Client VPN - 임시 연결

 

Amazon Route 53 - DNS역할 외에도 리전레벨에 고가용성 제공, 헬스 체크 제공, 라우팅 타입 다양

- Simple Routing - DNS와 IP가 1개 맵핑

- Weighted Routing - 미리 선정한 가중치에 따라 많은 ELB에 분배함

- Geolocation Routing - 요청한 유저에 지역에 따라 라우팅을 제공함

- Latency Based Routing - 지연 시간을 고려해 지연이 짧은대 분배함

- Failover Routing - 장애를 대비해서 프라이머리와 스탠바이를 나눠서 평소에 프라이머리를 쓰다 장애나면 스탠바이에 분배함

- Multi Value Answer Routing - ELB없이 랜덤으로 연결된 IP로 배부함(헬스체크를 하기 때문에 고가용을 높일 수도 있음)

 

Amazon CloudFront - CDN서비스(Content Delivery Network)로 400개가 넘는 엣지 로케이션에서 사용자에게 빠르게 전달함

Shield와 WAF를 제공함, 특정 국가에만 캐싱된 데이터도 보여줄 수 있음, 객체 무효화(캐쉬된 콘텐츠를 업데이트하는 과정, 해더를 사용 변경된 내용만 업데이트)

오리진 서버가 있어 원본 콘텐츠를 호스팅함- 클라우드 프론트는 오리진 서버에 내용을 캐싱해 빠르게 서비스 제공함, 캐시 미스일대 오리진 서에서 다시 다운로드 받음

AWS Global Accelerator - 요청할 서버가 거리적으로 멀리 있을때 네트워크 장비를 최소화함, 고정 IP주소를 할당해줄 수 있음, 응답 속도도 빠름

 

CIDR block 생성시 겹치면 안됨 192.168.0.0/24 라면 /24는 고정임, 192.168.0.0은 다른 걸로 봐뀌어야함 

가능한 답은 10.0.1.0/24

 

EC2와 RDS database를 연결하려면 방화벽을 생각해야하는데 인스턴스 수준에서 방화벽을 설정하려면 Security group만 가능함, Security group은 allow만 가능함

 

온프레미스로 AWS를 연결하려면 Direct connect와 VPN을 사용해야하는데 VPN은 인터넷을 연결해야하는데, 만약 사용안하려면

다이랙트 커넥트를 써야함

 

위에 정리는 아래 공개되어 있는 영상을 기반으로 제작했습니다.

 

https://youtu.be/zBwikdaBqGA?si=Ofnhpge1ZX-Vid9y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형