AWS SAA-C03 - 정리
AWS(Amazon Web services)
- 온디맨드 방식으로 쉽게 확장할 수 있는 서버, 서비스 제공
 
Regions
- 데이터 센터의 집합
 
리전 선택 영향 요인
- 법률 준수
    
- 프랑스 데이터는 프랑스에서만 있어야 됌
 
 - 지연시간
    
- 지역이 가까울 수록 지연시간이 줄어듬
 
 - 모든 리전이 모든 서비스를 가지고 있지 않음
 - 요금
 
AWS Avaliablity zones
- 가용영역은 리전 안에서만 존재
 - 리전은 많은 가용 영역을 가질 수 있음
 - 보통 3, 최소 2, 최대 6개까지
 - 재난에 대비해 서로 단절되어 있음
 
IAM(Identity and Access Management)
- 사용자를 생성
 - 그룹에 배치
 - 사용자들을 그룹으로 묶어서 관리할 수 있다.
 - 한 사용자가 다른 여러 그룹에 속할 수 있다.
 
패스워드정책
- 패스워드 변경 정책
 - MFA
    
- 사용자의 디바이스와 같이 인증
 
 
EC2(Elastic Compute Cloud)
- 온디맨드 인스턴스
    
- 사용한 만큼 금액 지불
 
 - 정기 예약 인스턴스
    
- 1년이나 3년주기로 계약
 - 선불 혹은 달마다
 
 - 전환형 예약 인스턴스
    
- 예약 후 인스턴스 유형을 변경 할 수 있다.
 
 - 스팟 인스턴스
    
- 설정한 가격에 맞을 경우 인스턴스를 실행
 - 인스턴스가 파괴될 수 있음
 - 온디맨드와 비교해서 최대 90% 할인가능
 
 
spot instance and spot fleet
스팟블록
- 특정기간 동안 인스턴스를 차단하는 기능
 - 2022년 12월 31일자로 서비스 종료
 
스팟요청
- 일회성 요청
    
- 일회성 요청으로 스팟 요청이 완료된 후 요청은 사라진다.
 
 - 지속적인 요청
    
- 지속적으로 스팟을 요청하게 되며, 생성 후에도 스팟 요청이 남아있다.
 
 
스팟을 지우기 위해서는 스팟 요청을 삭제 후 인스턴스를 종료시켜야된다.
스팟집합(spot fleet)
한 세트의 스팟 인스턴스에다가 선택적으로 온디맨드 인스턴스를 조합해 사용하는 방식
정해진 예산이나 정해진 용량이 도달하면 인스턴스 실행을 멈춤
할당 전략
lowestPrice
- 가장 적은 비용을 가진 풀에서부터 인스턴스를 실행
 - 아주 짧은 워크로드에 적합
 
diversified
- 모든 풀에 거쳐 분산이 됨
 - 한 풀이 종료되더라도 다른 풀에서 가동 됨
 
capacity optimized
- 인스턴스의 개수에 따라서 최적용량으로 실행이 되고 적절한 풀을 찾아주는 옵션
 
Network
public
공용 아이피
private
사설 아이피
Elastic IPs
- 
    
인스턴스가 재시작되어도 유지되는 public IP
 - 
    
계정 당 5개
 
탄력적 아이피보단 임의의 공용 IP를 써서 DNS이름을 할당하는 것이 좋음. 또는 로드밸런서를 사용
Placement Groups(배치그룹)
EC2 인스턴스가 AWS인프라에 배치되는 방식을 제어하고자 할 때 사용
3가지 배치 전략
cluster
- 단일 가용 영역 내에서 지연시간이 짧은 하드웨어 설정
 - 동일한 랙에 구성 됨(동일한 가용영역)
 - 10Gbps
 - 하드웨어가 고장나면 ec2인스턴스가 다 종료 됨
 - 극히 짧은 지연시간, 고속의 네트워크
 
spread
- 인스턴스가 다른 하드웨어(랙, 가용영역)에 분산
 - 배치그룹 당 
7개의 EC2인스턴스만 가짐 - 동시 실패의 위험 감소
 
partition
- 여러 파티션에 인스턴스를 분할
 - 파티션은 다운 오류 파티션과 격리됨
 - 가용영역당 
7개 파티션 - 각 파티션은 랙을 말함
 - 랙 실패로부터 안전함
 - HDFS, HBase, Kafka, Cassndra
 
ENI(Elastic Network Interfaces)
- 
    
VPC의 논리적 구성요서이며 가상 네트워크 카드를 나타냄(NIC)
 - 
    
인스턴스가 네트워크에 엑세스 할 수 있게 해줌
 
속성
- 
    
주요 사설 IPv4와 하나 이상의 보조 IPv4를 가질 수 있음
 - ENI에 하나이상의 보안 그룹을 연결 할 수 있음
 - 인스턴스와 독립적으로 ENI를 생성하여 즉시 연결하거나 장애 조치를 위해 EC2인스턴스에서 이동시킬 수 있음
 
EC2 Hibernate(절전모드)
- 절전모드가 되면 램에 있던 인 메모리 상태는 보존 됨
 - EBS 볼륨에 기록되어 있음
 - 빠르게 재 부팅하거나 RAM상태를 저장하고 싶을 때
 - 베어메탈 인스턴스 적용 X
 - 루트 볼륨, 즉 EBS에만 저장이 가능
 - 암호화가 필요
 - 절전 모드는 최대 60일이 최대 기간
 
절전 순서
- 인스턴스를 절전모드로 설정
 - 인스턴스의 메모리는 EBS에 기록
 - 인스턴스 중지 시 RAM은 제거
 - EBS의 기록된 RAM dump를 가지고 부팅
 
EC2 인스턴스 스토리지
EBS(Elastic Block Store)
- 네트워크 드라이버
 - USB와 같다 생각하면 됨
 - 인스턴스가 종료된 후에도 데이터를 지속 가능
    
- 하나의 인스턴스에 하나의 EBS(CCP Level)
 - 어소시에이트 레벨: 일부 EBS 다중연결
 
 - 가용영역에 종속적임
    
- 다른 가용영역이나 다른 지역으로 볼륨을 이동시킬려면 스냅샷을 사용해야됨
 
 - 종료시 삭제 기능을 Enable/Disable로 EC2인스턴스가 종료시 root볼륨을 유지할 수 있다
 
EBS Snapshot
- EBS볼륨의 특정시점에 대한 백업
 - 다른 가용영역이나 다른 리전에도 복사할 수 있음
 
스냅샷 종류
EBS Snapshot Archive
- 최대 75%까지 저렴한 아카이브 티어로 스냅샷을 옮길 수 있는 기능
 - 아카이브를 복원하는데 24시간에서 최대 72시간까지 걸림
 - 즉시 복원 X
 
Recycle Bin for EBS Snapshot
- EBS 스냅샷을 영구 삭제 하는 대신 휴지통에 넣음
 - 기간을 1일에서 1년까지 지정 가능
 
Fast Snapshot Restore(FSR)
- 스냅샷을 완전 초기화해 지연시간을 없애는 기능
 - 인스턴스를 빠르게 초기화할때 유용
 - 비용이 많이 듬
 
AMI(Amazon Machin Image)
사용자 지정 인스턴스를 나타냄
AMI 종류
- Public AMI
    
- AWS 제공
 
 - Your Own AMI
    
- 사용자 제작
 
 - An AWS Marketplace
    
- 다른사람이 만든 공식이미지
 
 
ECS Instance Store
EC2 인스턴스는 가상 머신이지만 실제로 하드웨어 서버에 연결되어 있다.
물리적으로 연결된 디스크 공간을 EC2인스턴스 스토어라고 부른다
- 향상된 디스크 성능
 - ec2인스턴스를 종료하면 손실된다.
 - 임시 스토리지
 - 버퍼, 캐시를 저장하는 임시콘텐츠를 사용하는 경우
 - 장기 스토리지는 EBS가 적합
 - 백업 및 복제는 사용자의 책임
 
EBS 볼륨 유형
범용 SSD(gp2/gp3)
- 다양한 워크로드에 대해 가격과 성능의 절충안이 되어줌
 - 부팅볼륨으로 사용될 수 있음
 - 1GB ~ 16GB 까지 다양함
 - 개발, 테스트, 가상데스크톱
 - gp2는 예전 버전
    
3000-16000 IOPS- 3IOPS는 5,334GB
 
 - gp3는 최신 세대 볼륨
    
- 
3000 IOPS와 초당125MB의 처리량을 제공 - 16000IOPS 이상
 
 - 
 
프로비저닝 된 IOPS (io1/io2)
- 최고 성능을 자랑함
 - 
    
부팅 볼륨으로 사용할 수 있음
 - 16000 IOPS성능 이상 유지할 필요가 있는 애플리케이션
 - 데이터베이스 워크로드
    
- io1/io2(4GiB - 16Tib)
        
- Max PIOPS: 64000 for Nitro EC2
 - 
Nitro EC2인스턴스가 아닐경우 32000IOPS - io2는 4GB ~ 64TB
 
 - io2 Block Expree(4GiB - 64TiB)
        
- 256,000 IOPS
 
 
 - io1/io2(4GiB - 16Tib)
        
 
st1(HDD)
- 
    
저비용의 HDD볼륨으로 잦은 접근과 처리량이 많은 워크로드에 사용
 - 125GiB - 16TiB
 - 빅 데이터, 로그, 데이터 웨어하우스
 - 최대 500MIB - 500 IOPS
 
콜드 HDD sc1(HDD)
- 가장 비용이 적게 드는 HDD볼륨으로 접근 빈도가 낮은 워크로드에 사용
 - chleo 250MIB - 250 IOPS
 
EBS 다중 연결(io1/io2)
다중 연결 기능은 하나의 EBS 볼륨을 같은 가용영역에 있는 여러 EC2인스턴스에 연결 할 수 있게 해줌
- io1, io2만 가능
 - 같은 가용영역내에서만 사용 할 수 있다.
 - 16개의 EC2인스턴스만 같은 볼륨에 연결 할 수 있다
 
EBS 암호화
- 볼륨간 데이터 및 저장되는 볼륨 역시 암호화 된다.
 - 비 암호화 스냅샷을 암호화 시킬 수 있음
 - KMS(AES-256)
 
비암호화 EBS를 암호화시키는방법
- 비암호화 된 EBS를 암호화를 킨 상태로 스냅샷
 - 그 후 스냅샷 된 EBS를 가지고 EBS를 만듬
 - EBS를 EC2에 부착
 
EFS(Elastic File System)
- 관리형 NFS(Network File System)
 - 여러 EC2인스턴스에 마운트 될 수 있음
 - EC2인스턴스는 여러 가용 영역에 있을 수 있다.
 - 가용성이 높고 확장성도 높다
 - 그만큼 가격이 비쌈
 - WIndow가 아닌 
Linux AMI와 호환 됨 - 파일 시스템이 자동으로 확장되고 사용량에 따라 요금을 지불
 - 따라서 용량 계획하지 않아도 됨
 - 웹서버, 데이터 공유 word Press에 사용
 - 처리량은 초당 10GB
 - 교차 AZ - 100개의 인스턴스
 
성능모드
범용모드
- 
    
기본 설정으로 민감한 웹 서버
 - 최대 IO
    
- 처리량을 높이고 싶다면 사용
 
 - 미디어 처리 작업이 있을 때 유용
 
처리량 모드
- 
    
버스팅모드가 기본값 - 초당 50MiB ~ 초당 100Mib까지 버스트 할 수 있음
 - 프로비저닝 모드에서는 크기에 상관없이 처리량을 설정 할 수 있다.
 
로드밸런서
로드밸런서 역할
- Health Check
 - 균일한 분배
 - 앱의 단일 지점
 - 분산 처리
 - SSL Termination
 - High Availability
 - public, private 트래픽 분리
 
로드밸런서 종류
CLB(Classic Loadbalancer)
- 만료됐음
 - HTTP, HTTPS, TLS, SSL
 
ALB(Application Loadbalancer)
- L7
 - path, query, header.. 등으로 다른 타겟그룹으로 라우팅 할 수 있음
 - HTTP, HTTPS, HTTP/2, Web Socket
 - 400ms
 - 타겟그룹
    
- EC2 Instance
 - EC2 Tasks
 - Lambda function
 - IP Address
 
 
NLB(Network Loadbalancer)
- L4
 - 
    
100ms
 - TCP, TLS, UDP
 - 고성능
 - EIP
 - 타겟그룹
    
- EC2 Instances
 - IP Address
 - Application Load Balancer
 
 - 상태확인
    
- TCP, HTTP, HTTPS
 
 
GWLB(Gateway Load Balancer)
- 
    
L3
 - 인그레스 게이트웨이처럼 들어오는 트래픽을 가지고 검증을 한 후 애플리케이션에 분배
 - 
GENEVE6081 포트를 사용 - 타겟 그룹
    
- EC2 instance
 - IP Address - must be private IPs
 
 
Sticky Sessions (Session Affinity)
쿠키에 데이터를 심어 처음 연결된 인스턴스와 연결 시켜줌. ALB & CLB만 사용가능
- Application Based Coookies
    
- Custom Cookie
        
- 
AWSALB,WWSALBAPP,AWSALBTG사용하면 안됨 
 - 
 - Application Cookie
        
- Generate by load balancer
 
 
 - Custom Cookie
        
 - Duration-based Cookie
    
- Generate by load balancer
 - Cookie Name: 
AWSALB,AWSELB 
 
Cross Zone Load Balancing
다른 가용영역안에 인스턴스들에게 동일한 트래픽을 분배함
Application LoadBalancer
- 항상 켜져 있음
 - 끌 수 없다
 - 돈을 지불하지 않음
 
Network LoadBalancer & Gateway Load Balancer
- 기본 값 꺼져있음
 - 키면 돈을 지불함
 
Classic Load Balancer
- 기본 값 꺼져있음
 - 켜도 돈을 지불하지 않음
 
SSL 인증서
- 
ACM(AWS Certificate Manager)를 통해 SSL인증서를 관리할 수 있음 - x509 인증 방식 사용
 - 사용자 인증서로 교체 가능
 
SNI(sever Name Indication)
- 최신 프로토콜
 - 대상 서버의 호스트 이름을 지정하여야 됨
 - ALB, NLB 같은 최신 로드밸런서에서 사용가능
 - 서로 다른 인증서를 사용하여 다른 웹사이트로 연결되는 다수의 대상그룹을 가질 수 있음
    
- CLB는 하나의 인증서만
 - NLB, ALB는 다수의 인증서와 SNI를 지원
 
 
Connection Draining
- 연결드레이닝 = 등록 취소 지연
 - 인스턴스가 등록 취소, 혹은 비정상적인 상태에 있을 때 어느정도 시간을 주어 활성 요청을 완료할 수 있는 기능
 - 1 - 3600초 (기본은 300초)
 - 끌 수 도 있음
 
Auto Scaling Group(ASG)
- 스케일 인 / 스케일 아웃 할 때 사용
 - 최소 및 최대 갯수, 목표 개수 설정 가능
 - 로드 밸런서에 묶어서 사용할 수 있음
 - 최소 개수의 인스턴스 실행을 보장한다.
 - 상태가 비정상이면 EC2인스턴스를 재 생성한다.
 - 비용은 무료
 - 
ASG Launch Template으로 생성 - 
Cloud Watch에 경보를 통해 ASG를 컨트롤(ex 평균 CPU 사용량) 
Group Attribute
- 
    
Launch Configuration은 만료됐음
 - Launch Template를 사용
    
- AMI + Instance Type
 - EC2 User Data
 - EBS Volumes
 - Security Group
 - SSH Key pair
 - IAM Role
 - Load Balancer Infomation
 
 - Min / Max / Init Capacity
 - Scaling Policies
 
Cloud Watch Alarms & Scaling
- Cloud Watch 알람을 통해 스케일 업/다운
 - Average CPU or custom metric
 
Dynamic Scaling Polices
- Target Tracking Scaling
    
- 대상 추적 스케일링
 - 가장 단순하고 설정하기 쉬움
 - 평균 CPU 사용량처럼 기준 선을 세워두고 사용
 
 - Smple/step scaling
    
- Cloud Watch 경보를 설정하고 인스턴스를 추가하거나 삭제
 
 - Sheduled Action
    
- 사용패턴을 바탕으로 스케일링을 예상
 - 5시에 행사가 있을 때 해당 시간에 인스턴스 수를 늘림
 
 - Predictive Scaling
    
- 시간에 걸쳐 과거 로드를 분석하여 인스턴스 수를 조정
 - 머신러닝 기반
 
 
Good Metrics to sclae on
- CPUUtilzation: CPU 평균
 - RequestCountPerTarget: EC2 인스턴스에 request 사용량
 - Average Network In / out: 네트워크 병목 현상 기준으로
 - Any: 
CloudWatch에서 커스텀하여 직접 설정할 수 있음 
Scaling Cooldowns
스케일링이 작업이 끝날 떄마다 인스턴스의 추가 또는 삭제를 막론하고 5분 혹은 300초의 휴식 기간을 갖는것
휴식기간에는 추가인스턴스를 실행 또는 종료 할 수 없다.
RDS
종류
- PostgreSQL
 - MySQL
 - maria
 - oracle
 - microsoft sql server
 - aurora
 
특징
- 자동 프로비저닝, OS 패치
 - 지속적인 백업 및 복원
 - 모니터링 대시보드
 - 읽기전용 복제본
 - 다중 가용영역, DR
 - 윈도우 업그레이드
 - 스케일링
 - Storage backged by EBS(gp2 or io1)
 - SSH로 접속불가
 
Storage Auto Scaling
- 오토 스케일링이 활성화 되어 있으면 자동으로 스토리지를 확장해줌
 - IOPS 임계값 확인
 - 확장할 최대치 정하기
 - 예측이 어려울 떄 사용
 - 모든 RDS 데이터베이스 엔진에서 지원
 
읽기전용 복제본과 다중 AZ
읽기전용복제본
- 읽기 인스턴스를 스케일링 함
 - 최대 다섯개까지 생성할 수 있음
 - 동일한 AZ 또는 리전을 걸쳐서 생성될 수 있음
 - 비동기식 복제
 - Only For 
SELECT - 동일한 리전이면 비용이 부과 되지 않으나, 다른 리전이면 비용이 부과 됨
 
다중 AZ
- 재해 복구에 사용
 - 마스터 - 슬레이브
 - 가용성
 - 동기식 복제
 - 비용은 무료
 - 재해 복구를 위해 읽기전용 복제본을 다중 AZ로 설정 가능
 
시험에 나오는 문제
- 단일 AZ에서 다중 AZ로 전환 시 데이터베이스를 중지 할 필요가 없음
 - AZ기능을 활성화 시키면 됨
 - 스냅 샷으로 동기화
 
RDS Custom
- 기존 데이터베이스와 OS에 엑세스 할 수 있음
 - 오라클 및 MS SQL Server만 관리할 수 있음
 
Amazon Aurora
- aws의 고유 기술
 - Postgres, Mysql과 호환
 - 클라우드에 최적화
 - Mysql 5배, postgres 3배 높은 성능
 - 스토리지 자동 확장 10GB -> 128TB
 - 읽기 전용 복제본 15개까지 가능
 - 전체적으로 다 빠름
 - 비용은 20% 정도 높음
 - 높은 가용성과 읽기 스케일링
 - 6개의 사본을 저장함 (이중 4개만 있어도 괜찮음)
 - Failover가 30초도 안걸림
 - 수백개의 볼륨 사용
 - 매우 빠른 장애 조치
 - 쓰기 엔드포인터(마스터 인스턴스와 연결됨)
 - 리더 엔드포인터(읽기전용복제본과 연결됨) - 로드벨런싱
 - 백트랙 (과거시점으로 데이터 복원)
 - 크로스 리전 지원
 
Aurora 고급개념
복제본 자동 스케일링
- 읽기요청이 매우 많을 경우 오토스켈링을 설정하면 확장 됨
 - 리드 엔드포인터도 같이 확장됨
 
사용자지정 엔드포인트
- 사용자지정엔드포인터를 통해서 특정 인스턴스로 요청 가능
 - 특정 서브넷으로만 가도록 지정할 수 있음
 
서버리스기능
- 실제 사용량에 기반한 자동 데이터베이스 인스터화
 - 자동 스케일링
 - 인스턴스당 매 초당 비용을 지불
 - 비용 면에서 효율적
 
멀티마스터
- 높은 가용성을 주기 위해서 멀티마스터 기능을 사용할 수 있음
 - 모든 노드에서 읽기 및 쓰기가 가능함
 - 즉각적인 장애 조치가 가능함(리더선출 지연시간이 없음)
 
Global Aurora
- 리전 간 복제
 - 재해 복구
 - 최근에 Global 데이터베이스로 만드는 것을 권장
 - 리전 최대 5개까지 지정가능
 - 읽기전용 복제본 16개까지 사용가능
 - RTO(Recovery Time Objective/복구목표시간) 1분 미만
 
머신러닝
- 
    
ML 경험이 없어도 됨
 - SagaMaker: 어떤 머신 러닝 모델이라도 사용할 수 있게 해줌
 - Amazon Comprehend: 감정분석
 
백업과 모니터링
자동백업
- 매일 정해진 시간에 데이터베이스를 전체를 백업
 - 5분마다 트랜잭션 로그도 백업
 - 5분전 어떤 시점으로라도 복구가 가능
 - 자동 백업 보유기간은 1 - 35일
 - 기간이 지나면 사라짐
 
수동 DB 스냅샷
- 사용자가 수동으로 트리거
 - 원하는만큼 오랫동안 보유할수 있다.
 
비용 측면에서는 2시간 사용 후 스냅샷을 만들고 데이터베이스를 삭제하면 더 저렴하게 사용할수 있다
aurora 백업
- 1 - 35일
 - 비활성화는 불가능함
 - 지정시간 복구기능
 - 원하는 기간 보유가 가능
 
RDS & Aurora Restore Option
- 스냅샷
 - Restoring MySQL RDS database from S3
    
- Create Backup of your on-premises database
 - store it on amazon s3
 - Restore the backup file onto a New RDS Instance
 
 - Restoring MySQL Aurora Cluster from S3
    
- 온프레미스 데이터베이스를 
Percona XtraBackup을 사용하여 s3로 백업 
 - 온프레미스 데이터베이스를 
 
Aurora Database Cloning
- 기존 데이터베이스로 부터 새로운 Aurora DB 클러스터를 만들 수 있음.
 - 빠른 스냅샷 및 복구
 - 
production데이터베이스에서staging데이터베이스로 영향없이 복사 가능 
Security
- 데이터 암호화
 - KMS를 사용해 모든 데이터를 암호화함
 - 마스터를 암호화 하지 않았으면 읽기전용도 암호화 되지 않음
 - 사용자 이름이나 패스워드나 IAM Role
 - 보안 그룹을 통해 특정 접근을 차단 할 수 있음
 
proxy
- 프록시를 사용하면 데이터베이스 연결 풀을 형성하고 공유할 수 있음
 - 완전한 서버리스
 - 오토 스케일링이 가능함
 - 다중 AZ지원
 - 장애조치시간을 66%까지 줄일 수 있음
 - Mysql, PostgresQL, Maria and Aurora
 - Lamda
 
Elastic Cache
- RDS 앞에 놓인 캐시서버
 - Redis, MemCache등 캐시 기술을 관리
 - 인메모리 데이터베이스
 - 무상태 앱을 만드는데 도움
 - AWS가 OS, patching, setup, configuation 등 다 관리해줌
 - 앱에서 코드를 많이 바꿔야됨
 - 성능을 향상 시킴
 
redis vs Memcache
- 
    
redis(고가용성)
- 
        
redis 는 다중 AZ 가능
 - 
        
읽기전용 인스턴스 확장이 가능
 - 
        
가용성이 높음
 - 
        
백업 복원 기능
 
 - 
        
 - 
    
Memcache(단순 분산 캐시)
- 샤딩
 - 데이터 분할 다중 노드
 - 가용성이 높지 않음
 - 복제도 없고, 백업, 복원 기능도 없음
 - 멀티쓰레드
 
 
Cache Security
Redis Auth
- IAM 지원하지 않음
 - API 레벨에서만 IAM을 지원
 - 클러스터 생성시 비밀번호/토큰을 설정가능
 - SSL 보안을 지원할 수 있음
 
Memcached
- SASL based authentication
 
캐시 사용 패턴
- Lazy Loading
    
- 모든 읽기 데이터를 캐시(캐시 히트가 없을때 디비에서 가져옴)
 
 - Write Through
    
- 디비에 쓸 때 캐시를 업데이트함
 
 - Session Store
    
- 세션 데이터를 임시로 저장(TTL사용)
 
 
Route 53
DNS
사람이 읽을 수 있는 주소
Amazon Route 53
- 고가용성, 확장성, AWS에 의해 관리됨
 - 도메인 등록
 - 리소스 상태체크
 - 100% SLA 제공
 
Record
- Domain/Subdomain
    
- example.com
 
 - Record Type
    
- A, AAAA, CNAME, NS…
 
 - Value
    
- 12.34.56.78]
 
 - Routping Policy
 - TTL
 
Hosted Zone
호스트 구역당 $0.50달러 지불
- public
    
- internet으로 접근 가능
 
 - private
    
- 하나 이상의 VPC
 
 
Records TTL
- 
    
TTL 만큼 캐시됨
 - 
    
TTL 이 지나지 않으면 연결 된 주소를 갱신하지 않음
 
CNAME VS Alias
- 
    
CNAME은 루트도메인 이름이 아닌 경우에만 동작 - 
    
alias는 루트 도메인 및 비루트도메인 모두 동작- 비용 무료
 - 상태체크
 
 
Alias Records
| RecordName | Type | Value | 
|---|---|---|
| example.com | A | MYALB….. | 
- A / AAAA for AWS resource
 - TTL을 사용할 수 없음
 - 레코드 지정
    
- Eleastic Load Balancer
 - CloudFront Distributions
 - API Gateway
 - Elastic Beanstalk
 - S3 Website
 - VPC Interface Endpoint
 - Global Accelerator
 - 같은 호스트 존 Route 53
 
 
Alias는 EC2 DNS Name은 지정할 수 없다
Route Policies
유형
- Simple
    
- 물리적인 싱글 리소스로 라우팅
 - Single / Multiple Value
        
- A 111.22.33.44
 - A 55.66.77.88
 
 - 멀티 일 경우 랜덤으로 하나가 지정됨
 - 상태체크와 연결 시킬 수 없다.
 
 - Weighted
    
- 가중치
 - 70:20:10의 비율로 분배가능
 - 가중치는 100이 아니여도 된다
 - 0으로 지정할 경우 보내지 않음
        
- 모두가 0이면 같은 비율로 리턴
 
 
 - Failover
    
- 상태 체크를 하여 primary/secondary 전환
 
 - Lantency based
    
- user와 aws 리전 간 최적의 라우팅
 
 - Geolocation
    
- 유저의 지역에 따라 라우팅 함
 
 - Multi-Value Answer
    
- 여러 리소스에 라우팅 할 떄 사용
 - 헬스 체크와 같이 사용할 수 있음
 
 - GeoProximity
    
- 
bias를 두어 유저의 위치와 가중치를 비교하여 높은bias기준으로 라우팅 
 - 
 
상태체크
- 퍼블릭 리소스에 한해 체크함
 - 헬스체크는 CW Metrics과 통합됨
 - 200 ~ 300은 정상
 - 5120 bytes on response
 - 프라이빗의 경우는 
CloudWatch Metric과CloudWatch Alarm을 통해 상태체크를 진행 
Elastic Beanstalk
- 개발자가 인프라를 신경 쓰지 않게 자동으로 구성해줌
 - 오토 스케일링, 프로비저닝, 앱 모니터링
 - 개발자는 코드만 작성하면 됨
 - WebServer Tier
    
- ELB + ASG
 
 - Worker Tier
    
- SQS + ASG
 
 
S3
용도
- 백업 및 저장
 - DR(Disaster Recovery)
 - 기록 저장소
 - 하이브리드 클라우드 스토리지
 - 앱 호스팅
 - 미디어 호스팅
 - 빅데이터 분석
 - 앱 전송
 - 정적 웹사이트
 
Buckets
- 전세계적으로 이름은 유니크 해야된다.
 - 지역별로 생성
 
Object
- prefix + objectname
 - 
/를 이용해 구분 - MAX 5TB
 - 5GB이상은 
멀티업로드기능을 사용해야함 
100MB이상이면 멀티업로드 기능 권장
security
- User Based
    
- IAM
 
 - Resource-Based
    
- Buckey Polices
 - Object ACL
 - Bucket ACL
 
 - 암호화
 
Statica Website Hosting
- 정적 웹사이트를 올릴 수 있다.
 - URL은 지역에 종속적임
 - 403 Fobidden error가 뜬다면 bucket 정책 확인 필요
 
Version
- 버킷에서 버전관리를 활성화
 - 버전 관리 전 파일은 
null로 버전 아이디가 지정됨 - 파일을 삭제 하지 않게 도와줌
 - Delete Marker를 구성
 
Replication
- Cross-Region Replication(CRR)
 - Same-Region Replication(SRR)
 - 비동기 적 복사
 - A->B->C로 복사 안 되며, A -> B, A -> C로 복사시켜야 됨
 
Storage Classes
- S3 Standard - General Purpose
    
- 99.99 Avaliability
 - 자주 접근되는 데이터
 - 짧은 지연시간, 고성능
 - 빅데이터, 모바일 앱…
 
 - S3 Standard - Infrequent Access(IA)
    
- 조금 덜 접근하는 데이터이지만 빠르게 접근이 가능해야될때
 - Standard 보다 조금 더 저렴
 - 99.9 Avaliability
 - Diaster Recovery, backup
 - 최소 30일
 
 - S3 One Zone - Infrequent Access
    
- 99.999999999%
 - Single AZ
 - 99.5 Avaliability
 - Copy On-premises data
 - 최소 30일
 
 - S3 Glacier Instant Retrieval
    
- 최소 90일
 - 분기에 한번 엑세스 하는 데이터에 적합
 - 밀리초 검색
 
 - S3 Glacier Flexible Retrieval
    
- 정책
        
- Expeited(1 - 5 minutes)
 - Standard(3 - 5 hours)
 - Bulk(5 - 12 hours)
 
 - 최소 90일
 
 - 정책
        
 - S3 Glacier Deep Archive
    
- 정책
        
- Standard(12 hours)
 - Bulk(48 hours)
 
 - 최소 180일
 
 - 정책
        
 - S3 Inteligent Tiering
    
- 사용 패턴에 따라 엑세스 티어간 객체를 이동할수 있게 해줌
 - 자동으로 이동 시켜줌
 - 검색 비용이 없음
        
- Frequent Access tier (automatic): default tier
 - Infrequent Access tier (automatic): objects not accessed for 30 days
 - Archive Instant Access tier (automatic): objects not accessed for 90 days
 - Archive Access tier (optional): configurable from 90 days to 700+ days
 - Deep Archive Access tier (optional): config. from 180 days to 700+ days
 
 
 
Lifecycle Rules
특정 이름만 가진 객체로 분리하여도 사용가능
시험 단골 문제
Transition Action
- 다른 스토리지 클래스로 객체를 이동 시키도록 구성
 
Expiration action
- 일정 시간이 지나면 데이터를 삭제하도록 구성
 - 완료되지 않은 멀티파트 업로드를 삭제하도록도 구성 가능
 
Analytics - Storage Class Analysis
- 최적의 기간을 뽑을 때 사용
 - Onezone IA or Glacier는 사용하지 않음
 - Stand Stand IA만 사용
 - 매일 기록들을 업데이트함
 - 24 - 48 시간 분석
 
Requester Pays
대부분 S3에 사용자가 돈을 지불하지만 S3데이터를 요청한 인가된 사용자에게 요금을 지불 할 수 있음
Event Notifications
- SNS, SQS, Lamda Function으로 S3이벤트들을 전달 할 수 있음
 - 몇 초 혹은 몇 분이 걸릴 수도 있음
 - 
Amazon EventBridge를 사용하여bucket에 이벤트를 전달 할 수 있음- 필터링
 - 다중 목적지 전달(kinesis, Firehose…)
 
 
Baseline Perfomance
- 요청이 많을 때 자동으로 확장 됨
 - 지연시간 100 - 200ms
 - 접두사당 초당 3500개의 
put/copy/post/delete처리 - 접두사당 초당 5500개의 
GET/HEAD처리 - 버킷 내 접두사에 제한이 없음
 
Perfomace
Multi Upload
- 100MB 이상이면 사용하도록 권장
 - 최대 5GB
 - 병렬처리로 빠름
 
S3 Transfer Accelation
- 파일을 AWS 엣지 로케이션으로 전송해서 전송 속도를 올려줌
 - 멀티파트와 같이 사용할 수 있음
 
Select & Glacier Select
- s3 파일을 검색할 때 쉽게 질의할 수 있게 사용 가능
 - 서버측 필터링
 
Batch Operation
- 단일요청으로 대량 요청을 진행 할 떄 사용
 - 배치 작업으로 s3버킷간 객체 복사
 - 암호화 되지 않은 객체를 암호화 시킬 수 있음
 - 많은 객체를 복사 할 수 있음
 - 사용자 지정작업도 가능
 
Security
객체암호화
- 서버사이드 암호화(SSE)
    
- SSE-S3
        
- AWS가 전적으로 관리
 - AES-256
 x-amz-server-side-encryption: AES256
 - SSE-KMS
        
- AWS에서 암호화가 일어나고 AWS가 암호화키를 관리하게 되지만 암호화키의 교체 정책은 당사자가 관리
 x-amz-server-side-encryption: aws:kms
 - SSE-C
        
- AWS에서 암호화가 일어나지만 당사자가 암호화키를 전적으로 관리
 - HTTPS만 사용
 
 
 - SSE-S3
        
 - 클라이언트 암호화
 
CORS
- Cross-Origin Resource Sharing
 - 
origin과 비교하여 틀릴경우 에러가 발생함 - 
Access-Control-Allow-Origin을 사용하여 허용 가능 
MFA Delete
- 객체 삭제 시 MFA 인증 활성화 가능
 
Access Log
- 
    
엑세스 로그를 활성화하여 s3 요청 메시지를 로그 s3로 이동 가능
 - 
    
같은 리전이여야 함
 
Pre signed URL
- s3 console, aws cli, sdk로 생성 가능
    
- S3 Console (1 - 720min)
 - AWS CLI (기본:3600초, max:168hours)
 
 
Glacier Valut Lock
- Valut를 사용하여 객체 락
 - 객체는 삭제 되지 않음
 
EC2 Instance Metadata
- http://169.254.169.254/latest/meta-data
 - curl을 통해 메타 정보를 가져 올 수 있음
 
Global Infrastructure
Cloud Front
- CDN(Content Dlivery Network)
 - 읽기 성능을 향상 시키며 엣지에 캐시
 - DDOS를 막을 수 있다(With Shield, With Web Application Firewall)
 
origins
s3 bucket
- OAI를 통해 보안을 강화할 수 있음
 - ingress를 사용한다(upload file to s3)
 
custom origin(http)
- ALB
 - EC2 Instance
 - S3 Website
 - Any HTTP Backend
 
CloudFront VS S3 Cross Region Replications
CloudFont
- Global Edge network
 - 파일 캐시, TTL
 - 정적인 컨텐츠에 적합
 
S3 Cross Region Replication
- 각 지역에서 앱 설치
 - 실시간으로 업데이트
 - 읽기 전용
 
Geo Restriction
- Allow List
 - BlockList
 
Global Accelerator
- EIP, EC2 Instance, ALB, NLB, public or private
 - UDP, TCP, VOIP
 - 고정 아이피 필요
 - 동시성 향상
    
- 낮은 지연시간
 
 - 상태 체크
 - 보안
    
- DDos 보호 (With AWS Shield)
 
 
Advanced Storage on AWS
Snow Family
오프라인 장치에 데이터를 이전하는데 사용
광산이나 배 또한 트럭 이런 곳에서 사용
스노우볼은 Glacier에 직접적으로 임포트 할수 없으며 S3를 통해야 됨
- Data migration
    
- snowcone
 - snowball Edge
 - snow mobile
 
 - Edge Computing
    
- snowcone
 - sonwball Edge
 
 
Snowball Edge
- move TBs or PBs of data AWS
 - 전송 job에 따라 돈을 지불
 - 80 TBs
 - 옵션
    
- Snowball Edge Storage Optimized
        
- 80TB of HDD Capacity
 - 40 vCPU
 
 - Snowball Edge Compute Optimized
        
- 42TB of HDD Capacity
 - 52 vCPU, 208 GiB
 
 
 - Snowball Edge Storage Optimized
        
 
Snowcone
- 작고 가볍다
 - 2 CPU, 4GB of Memory
 - 8TBs of Usable Storage
 - 베터리와 케이블을 제공해야됨
 - 
AWS DataSync로 전송 
Snowmobile
- 트럭임…
 - 1EP를 전송하는데 사용(1000PB)
 - 100PB 이상이면…
 
Amazon FSx
Amazon FSx for windows
- fully manage
 - SMP protocol & NTFS
 - Linux EC2 인스턴스에 마운트 가능
 - DFS(Distributed File System) 지원
 
Amazon FSx for Lustre
- HPC(High Performance Computing)
 - Scaled up to 100s GB/s
 - Seamless intefration With S3
 - 온프레미스 서버에서 사용가능(Aws VPN, AWS Direct Connect)
 hotdata
Amazon FSx for NetApp ONTAP
- 
    
NetApp OnTAP
 - NFS, SMB, ISCSi Protocol
 - Linux, window, mac, VMWare
 - testing Network
 
Amazon FSx for OpenZFS
- NFS
 - 1,000,000 IOPS
 
Hybrid Cloud for Storage
- 온프레미스 머신과 같이 사용
 - AWS Storage GateWay를 사용함
 
AWS Storage Gateway
- 
    
온프레미스 데이터와 클라우드 데이터사이에 브릿지
 - 
    
온프레미스 - Storage Gateway - aws
 - 
    
백업 및 복구
 - 
    
온프레미스 캐쉬
 - 
    
종류
- S3 File Gateway
        
- NFS, SMB
 - 가장 최근에 사용된 사용자 데이터를 캐시함
 - Glacier를 사용할려면 S3에 LifeCycle Policy를 적용
 - IAM Role for each File Gateway
 - S3, Glacier
 
 - FSx File Gateway
        
- Window File Server
 - 자주 접근되는 데이터를 캐시함
 - SMB, NTFS, Active Diretory
 S3
 - Volume GateWay
        
- iSCSi Protocol
 - S3 버킷을 통해 
EBS Snapshot백업 - 캐시 볼륨
 - S3에 예약 백업
 
 - Tape Gateway
        
- Vrtiaul Tape Library(VTL)
 - S3 To 
Glacier - 물리적인 테이프
 
 
 - S3 File Gateway
        
 
AWS Transfer Faimily
- FTP
 - FTPS
 - SFTP
 
AWS Data Sync
- 온프레미스나 다른 클라우드의 경우 에이전트가 필요하다
 - 파일권한과 파일 메타데이터는 보존된다.
 - 복제는 시간, 일, 주로 구성할 수 있음
 - 복제 목적지
    
- S3(including Glacier)
 - EFS
 - FSX
 
 
AWS Integration & Messaging
SQS - Standrad Queue Service
- 10년 전부터 사용
 - 디커플링
 - 기본 유지기간: 4일, 최대유지기간 14일
 - 낮은 지연시간(<10ms)
 - Limit 256KB
 - Unlimit number of message
 
producing message
- sdk를 통해 메시지 발행
 - 컨슈머가 삭제를 해줘야됨
 
comsuming messaging
- polling message
 - 메시지 처리 후 삭제 요청 해야됨
 - 제 시간안에 메시지를 처리하지 못하면 중복으로 처리 될수 있음(Message Visibility Timeout)
    
- 기본 30초
 - 
ChangeMessageVisibility를 사용하여 시간 연장 가능 
 
security
암호화
- HTTPS API
 
Access Controls
- IAM Role
 
SQS Access Policies
- Cross account
 - SNS, S3와 연동하여 사용
 
Long Polling
- 자주 엑세스하기보다 롱 폴링 시간을 두어 성능을 향상시킴
 
FIFO Queue
- 선입 선출
 - 이름이 
fifo로 끝나야됨- queue.fifo
 
 - 묶음이 아닐경우 초당 300개, 묶음이면 초당 3000개까지 처리가능
 
SQS With ASG
SQS Queue에 CloudWatch Metric - QueueLength설정을 한 후 CloudWatch Alarm이 울리면 스케일링함
RDS서비스들에 직접적으로 접근을 하게 되면 부하가 일어나서 장애가 발생할 수 있음
따라서 앞에 큐를 넣어서 처리하여 오버로드 조정
SNS - Simple Notify Service
- pub / sub
 - SNS topic에 이벤트가 발생했을 때 전달하는 역할
 - 100,000 토픽까지 제한이 있음
 - 초당 12,500,000 토픽 구독 가능
 - 구독대상
    
- SQS
 - Lambda
 - Kinesis Data Firehose
 - SMS Mobile Notification
 - HTTPS
 
 
How to Pulibsh
- SDK
 
Security
암호화
- HTTPS API
 - KMS Keys
 - Client-side Encrytion사용가능
 
Access Controls
- IAM Role
 
SNS Access Polices
SNS + SQS - Fanout
 * SNS -> SQS Topic
S3 Events to Multiple queues
- S3 -> SNS -> SQS QUEUE
 
SNS to Amazon S3 Through Kinesis
- SNS -> Kinesis Data Firehose -> S3
 
FIFO TOPIC
- 메시지 그룹아이디로 오더링
 - 콘텐츠 기반 중복 제거
 - SQS FIFO 큐만 구독 가능
 
Message Filtering
- 메시지를 필터링 하여 전달 가능
 
Kinesis
- 실시간 스트리밍 데이터를 수집하고 처리하고 분석하는데 사용
 - 
    
Application Log, Website click, IOT Telemetry data
 - 종류
    
- Kinesis Data Stream
        
- 캡처, 처리, 저장
 
 - Kinesis Data Firehose
        
- AWS 저장데이터에서 스트림 데이터 로드
 
 - Kinesis Data Analytics
        
- 분석(SQL, Apache Flink)
 
 - Kinesis Video Stream
 
 - Kinesis Data Stream
        
 
Kinesis Data Stream
- 1 ~ 365일 동안 유지할 수 있음
 - 메시지를 재 발행 할 수 있음
 - 데이터가 저장되면 지울 수 있음
 - 같은 파티션으로 샤딩됨
 - AWS 카프카 버전
 - 프로듀서
    
- SDK, Kinesis Producer Library, Kinesis Agent
 
 - 컨슈머
    
- Kinesis Consumer Library, AWS SDK
 - AWS Lambda, kinesis Data Firehose, Kinesis Data Analytics
 
 
Kinesis Data Stream - Capacity Modes
Provisioned Mode
- 미리 지정
 - IN 1MB / out 2MB
 - 시간당 비용 지불
 
Ondemaend Mode
- 사용한 만큼 돈을 지불
 - 초당 4000 레코당 4MB
 - 최근 30일을 최대치를 통해 자동으로 확장
 - 시간당 비용 및 in/out per GB
 
Kinesis Data Streams Security
- Using IAM Role
 - HTTPS Endpoint
 - KMS
 - CVPC Endpoint for Kinesis
 - Monitor API use Cloud Trail
 - Realtime
 
Kinesis Data Firehose
- Full managed Serviece
 - 데이터 양에 따라 지불
 - Near Realtime
    
- 지연시간은 최대 60초
 
 - 처리에 실패하거나 처리된 모든 데이터를 S3 백업 버킷에 보낼수도 있음
 
Amazon MQ
- MQTT, AMQP, STOMP, Openwire등 온프레미스 프로토콜
 - Rabbit MQ, Active MQ를 관리함
 - Slae up 불가능
 - Multi AZ, Failover사용
 
Container
CPU사용량에 따라 돈을 지불하며 EFS를 통해 데이터 공유가능
- 
    
Amazon Elastic Container Service(ECS)
 - 
    
Amazon Elastic Kubernetes Service(EKS)
- 노드타입
        
- Managed Node Group
 - Self Manages Nodes
 - Fargate
 
 - 데이터볼륨(CSI)
        
- EBS
 - EFS
 - FSx For Lustre
 - FSx For NetApp ONTAP
 
 
 - 노드타입
        
 - 
    
AWS Fargate
- 서버리스 컨테이너 서비스
 - ECS와 EKS와 같이 동작
 
 - 
    
AWS ECR(Elastic Container Registry)
 
Serverless
Function Of Service
서버가 없다는 소리가 아니라 서버를 관리할 필요가 없단 뜻
- AWS Lambda
 - Dynamo DB
 - AWS Cognito
 - AWS API Gateway
 - AWS S3
 - AWS SNS & SQS
 - AWS Kinesis Data Firehose
 - Aurora Serverless
 - Step Functions
 - Fargate
 
AWS Lambda
- Virtual Function
 - Limited By Time
 - 온디맨드
 - 스케일링 자동화
 
장점
- requst 및 compute time에 따라 돈을 지불
 - 많은 프로그래밍 언어지원
 - 
AWS CloudWatch를 통한 쉬운 모니터링 - 10GB of RAM
 
default
- 람다는 내 VPI에서 실행 됨
 - 따로 접근권한을 설정 할 필요없음
 
Lambda in VPC
- 람다를 실행 할 서브넷을 지정하여 private에 접근 가능
 - 디비에 직접 접근할려면 
RDS Proxy를 사용하여야 됨- RDS Proxy = 데이터베이스 연결 풀
 - 장애 조치 시간 감소
 - IAM 인증 강제화
 
 - RDS 프록시는 퍼블렉 엑세스가 불가능함으로 데이터베이스 접근을 위해선 람다를 VPC에서 동작하여야함
 
Edge
- 
    
edge를 사용하면 서버를 관리할 필요가 없다
 - Customized the CDN Content
 - 사용한 만큼 지불
 - 웹사이트 보안
 - 동적 웹 애플리케이션
 - Search Engine Optimizaion(SEO)
 
CloudFront Functions
- 자바스크립트로 경량화 됨
 - 뷰어 요청, 뷰어 응답
 - 확장성이 높고 지연시간에 민감한데 사용
 - 시작시간은 1ms미만
 - 응답을 보내기전 수정가능
 - 코드 CloudFront에서 관리
 - 초당 수백만게
 - 사용처
    
- 캐시키 정규화
 - 헤더 조작
 - URL Rewrite
 - JWT
 
 
Lamda@Edge
- 노드js, 파이썬
 - 초당 천개 요청 처리
 - 뷰어와 오리진 요청 둘다 작동함
 - Cloud Front에 비해 느림
 - 
us-east-1리전에만 작성 가능 - 모든 로케이션에 해당 함수를 복사
 - 사용처
    
- 타사 라이브러리에 코드 종속 시킬수있음
 - 외부서비스에 적급 가능
 - 파일 시스템이나 HTTP요청 본문에도 접근 가능
 
 
Amazon DynamoDB
- No SQL Database
 - Full manages
 - 다중가용역역 복제
 - 스케일
 - 빠른 퍼포먼스
 - IAM for Security
 - 오토 스케일링
 - Maximum size item 400KB
 - 기본키 조합
 - 데이터타입
    
- Scalar
        
- String, Number
 
 - Document
        
- List, Map
 
 - Set
        
- string Set
 
 
 - Scalar
        
 - 기본키는 Partition Key + Sort Key
    
- SortKey는 지정하지 않아도 됨
 
 
Provision Mode
- RCU/WCU 토대로 오토스케일링 함
 
OnDemand Mode
- 예측하기 힘들 때 사용
 
DynamoDB Accelerator(DAX)
- RDS에 ElasticCache가 있다면 NoSQL에는 DAX가 있다
 - 캐시 기능을 지원함
 - TTL
 
Dynamo DB Stream
- 실시간 분석
 - 24시간 유지
 - 컨슈머 제한
 - 람다 트리거, 키네시스 스트림 어댑터
 - 키네시스 보다 느리고 NoSQL에 변화를 전달 할 수 있음
 
Global Tables
- 성능 향상
 - 다중 지역
 - Active - Active 복제
 - READ / WRITE 어떤지역에서도 가능함
 - 사용전에 DynamoDB Stream을 켜야됨
 
AWS Gateway
- AWS Lambda + API Gateway
 - Websocket Protocol 지원
 - 버전관리 지원
 - 다른 환경구성
 - swagger지원
 - 캐시 API response
 
Endpoint Type
- Edge Optimized
 - Regional
 - Private
 
security
사용자 인증
- IAMRole
 - Cognito
 - Custom Authorizer
 
사용자 도메인
AWS Database
- 
RDBS: RDS, Aurora - 
NoSQL: DymonoDB, Elastic Cache, Neptune(Graph), Document DB(for MongoDB), Keyspaces(for Apache Cassandra) - 
Object Storage: S3 / Glacier - 
Data Warehouse: Redshift - 
Search: Open Search - 
Graphs: Amazon Neptune- 유저의 친구는 몇명인가?
 - 게시물은 댓글이 몇개인가?
 
 - 
Ledger: Amazon Quantum Ledger Database- 블록체인
 - 퀀트 투자
 
 - 
Time series: Amazon Timestream 
Data & Analytics
Amazon Athena
- 서버리스
 - bucket query
 - CSV, JSON, ORC, Avro and Parquet 지원
 - $5달러/TB 데이터 스캔
 - S3 분석
 
perfomance 향상
- Columnar data (검색 열을 지정하여 좁힘)
 - 압축(bzip2, gzip)
 - 파티션 처리
 - 128MB 보다 큰 파일
 
Federated Query
- S3뿐만 아니라 어떤 곳의 데이터도 쿼리 할 수 있음
 - 데이터 원본 커넥터를 사용하여 온프레미스 데이터도 쿼리할 수 있음
 - 연합 쿼리
 - 쿼리 결과는 S3 버킷에 저장할 수 있음
 
RedShift
- postgreSQL 기반
 - OLAP(online Analytical Processing)
 - Athena보다 빠름
 - 데이터웨어하우스
 - PB 규모
 - 병렬 쿼리 엔진
 - 프로비저닝한 인스턴스에 대해 지불
 - Amazon Quicksight or Tableau 와 통합하여 사용할 수 있음
 - 쿼리가 복잡하면 Redshift
 - 비용 절약을 위해 예약 인스턴스사용
    
- 리더노드
 - 컴퓨트 노드
 
 
Snapshot & DR
- Multi AZ 모드가 없다
 - 새로운 클러스터에 스냅샷을 통해 복구할 수 있음
 - 보존기간 설정
 - 클러스터의 스냅샷을 다른 AWS리전에 자동으로 복사하여 재해복구를 가능하게 함
 
데이터를 넣는방법
- Kinesis Data Firehose
 - S3 Useing Copy Command
 - E2c Instance JDBC Driver
 
Redsifht Spectrum
- Redshift를 사용해 분석은 하지만 Redsift에 로드는 하지 않는다.
 - Redshift클러스터가 있어야됨
 - 컴퓨팅 노드에 데이터 분석 요청을 제출
 - Redsifht로 데이터를 로드하지 않아도 사용할 수 있음
 - 과거데이터 분석이라던가
 
OpenSearch
- ELK 스택
 - 어떤 필드는 검색 할 수 있음
 
EMR
- Elastic MapReduce
 - Hadoop
 - Bic Data
 - 노드 타입
    
- 마스터
 - 코어
 - Task(option)
 
 
Amazon QuickSight
- 비즈니스 인텔리전스 서비스
 - 대화형 대시보드
 - 오토스케일링 가능
 - 
    
세션당 비용 지불
 - 서버리스 머신러닝 통합 대시보드 지원
 - In Memory Computation use SPICE
    
- Spice 엔진을 통해 데이터를 가져올 때 사용
 
 - Column Level Security (CLS)
 
Glue
- 추출과 변환(ETL 서비스)
 - 분석을 위해 데이터를 변환 할 때 사용
 - 서버리스
 
Lake Formation
- 데이터 분석을 위해 모든 데이터를 한곳으로 모아두는 중앙집중저장소
 - 수개월씩 걸리는 작업을 빠르게 작업할수 있음
 - 데이터 검색, 정제 변환, 주입을 도움
 - 
중앙화된 권한
    
- 보안을 관리할 곳이 많아지는데 Lake Formation을 사용하면 엑세스 제어기능과 행 열 보안을 사용할 수 있음
 
 
Kinesis Data analytics for apache Flink
Amazon Managed Streaming for Apache Kafka
- Kafka를 AWS에서 관리
 - 서버리스
 
Machine Learing
Amazon Rekogition
- 기계학습을 통해 객체, 사람, 문자, 이미지, 비디오를 찾음
 - 얼굴 분석 비교 사용자 확인
 - 금융 분석
 - 
콘텐츠조정기술
    
- 불쾌한 콘텐츠들을 사전 차단 하는 기능
 - 신뢰도 임계값을 지정하여 차단할수 있음
 
 - 사용사례
    
- 얼굴탐지 분석
 - 표정 분석
 - 유명인 얼굴 인식
 
 
Transcribe
- 음성을 텍스트로 전환(STT)
 - 자동음성처리(ASR)
 
Polly
- 텍스트를 음성으로 변환해줌
 - SSML
 - 발음 어휘 목록
 
Translate
- 언어 번역기능
 
Lex + connect
- Alexa 장치 구현
 - 시리, 빅스비 같은 것
 - 대화형 인터페이스
 
Comprehend
- 자연어를 처리하는 NLP 서비스
 - 분석 텍스트를 통해 감정분석
 
Comprehend Medical
- 의사소견서
 - 개인건강정보 탐색
 
SagaMaker
- 어떤 머신러닝 모델이라도 사용가능
 
Forecast
- 예측을 도와주는 기능
 
Kendra
- 완전 관리형 문서 검색 서비스
 
Personalize
- 실시간 맞춤화 추천
 - 쇼핑, 사용자 경험에 따른 추천
 
Texttract
- 텍스트를 추출
 - 주민등록증이나 운전면허증에서 번호 추출
 
AWS 모니터링 및 감사
Cloud Watch
- aws의 모든 서비스에 대한 지표를 제공
 - 
Metric은 모니터링 할 변수 - 서비스당 
namespace는 하나 - 
Demension측정 기준 - 
Metric당Demension최대 10개 - 
Metric은timestamps를 가짐 - 지표가 많아지면 대시보드를 사용하여 볼 수 있음
 - 사용자 지표를 추가 하여 볼 수 있음
 
Cloud watch metric stream
- 외부로 스트리밍 할 수 있음
 - 거의 실시간으로 동작함
 - 원하는 대상으로 스트리밍
    
- Amazon Kinesis Data Firehose
 - 3rd Party: DataDog…
 
 
CloudWatch log
- aws 로그를 저장하는 최고의 저장소
 - 로그그룹
    
- 애플리케이션이름으로 지정
 - 로그 스트림
        
- 애플리케이션
 - 로그파일
 - 컨테이너
 
 
 - 로그 만료일(영원히 만료되지 않게하거나 30일, 그리고 기타)
 - Send
    
- s3
 - kinesis Data stream
 - kinesis Data Firehose
 - lambda
 - eleastic search
 
 
CloudTrail
- 
    
AWS 계정의 거버넌스, 감사 및 규정 준수를 도움
 - 
    
기본적으로 활성화
 - 
    
AWS 계정 내의 모든 이벤트 및 API 호출 기록을 가져올 수 있음
 - 
    
CloudTrail로그를 CloudWatch Logs나 S3로 이동시킬 수 있음
 - 
    
누군가가 aws에서 무언가를 삭제 했을 떄 대처 할 수 있음
누군가가 EC2인스턴스를 삭제했다?
그러면 Cloudtrail을 봐야된다
 - 
    
모든 리전에 걸친 이벤트를 한 곳에 모을 수 있음(글로벌 서비스)
 
AWS Config
- config는 aws내 리소스에 대한 감사와 규정준수 여부를 확인
 - 기록할 수 있다.
 - 예시
    
- 보안그룹에 제한되지 않은 SSH 접근이 있나?
 - 버킷에 공용엑세스가 있나
 - 시간이 지나며 변화한 ALB 설정이 있나
 
 - 
    
알람을 받을 수 있다(SNS Notification)
 - 리전 별 서비스이기에 모든 리전별로 구성해야됨
 - 리전과 계정 간 데이터를 통합 할 수 있음
 - S3에 저장후 차후 분석 가능(Athena…)
 
config Rule
- 75가지의 룰
 - AWS Lambda를 통해 config rule설정
 - 규정 준수를 위한 것임으로 차단같은 개념을 지정할수 없음
 - 비용이 비쌈
 - 
config를 차단할 수 없지만 SSM 문서를 통해 규칙을 수정할 수 있음 
재해복구 및 마이그레이션
- 온프레미스
 - 하이브리드
 - 
    
AWS
 - 
RPO(Recovery Point Objective)
    
- 복구 시점 목표
 - 재해가 일어났을 때 복구 될 수 있는 지점
 - 데이터 손실을 얼마나 감수할 것인가
 
 - 
RTP(recovery Time Ojbective)
    
- 복구 시간 목표
 - 복구에 걸리는 시간
 - 애플리케이션 다운 타임
 
 
재해복구 전략
- Backup And Resotre
    
- snow ball을 사용하면 RPO 7일
 - 스냅샷에 따라 RPO가 달라짐
 - 데이터 복구가 오래 걸림
 - 값이 저렴함
 - 인프라 재생산
 
 - Pilot Light
    
- 크리티컬 코어 보존
 - 크리티컬 시스템이 작동하고 있을 떄 크리티컬 데이터베이스만 복제 해주면 문제가 해결
 - Route 53로 Failover
 
 - Warm Standby
    
- 시스템 전체를 실행 하되 최소한의 규모로 가동해서 대기하는 방법
 - 재해 발생하면 프로덕션 로드로 확장 가능
 - Route 53를 통해 Failover
 - RDS Slave
 - 비용이 많이 듬
        
- ELB, EC2 오토스케일링이 동시에 실행
 
 
 - Hot Site / Multi Site Approach
    
- 비용이 많이 비쌈
 - AWS와 온프로미세에 완전 프로덕션 스케일을 가지게 됨
 - 데이터 복제를 동시에 진행
 - 액티브 - 액티브
 
 
Faster RTO
--------------------------Faster RTO ------------------>
Backup & Restore | Pilot Light | Warm standby | HotSite
<--------------------------AWS Multi Region ----------
Database Migration Service
- 온프레미스 시스템에서 AWS로 데이터를 옮길 때 사용
 - 복원성이 좋고 자가 복구 가능
 - 이동 중 소스 데이터베이스도 사용 가능
 - EC2인스턴스를 생성해 복제를 처리하도록 해야됨
 
지속적인 복제 설정
Schema Conversion Tool(SCT)
데이터베이스 스키마를 다른 데이터 베이스 타입으로 변환하여 줌
같은 엔진을 쓰는 데이터베이스는 사용하지 않음
기타 서비스
- Cloud Formation
    
- 테라폼 같은 거
 - Infrastructure as Code
 
 
      
댓글남기기