Solutions Architect Associate 자격증 취득
기출 문제 풀고 문제에서 나오는 개념들을 정리하여 aws 전체적인 흐름을 익혔다.
흐름을 익힌 채로 기출 문제를 반복해서 풀었더니 첫 번째 시험에서 운 좋게 합격할 수 있었다.
AWS 개념 총 정리
AWS 글로벌 인프라의 이해
리전 가용 영역
리전은 서울 리전 홍콩 리전 같은 데이터 센터를 클러스팅 하는 물리적 위치를 의미한다.
가용 영역은 하나의 리전 안에 여러 개별 데이터 센터를 의미한다. 1개의 리전에 보통 3~4개의 가용 영역으로 구성된다. 가용 영역끼리는 고속 네트워크로 연결되어 있다.
AWS Identity and Access Management(IAM)
AWS 계정 및 권한 관리 서비스, (AWS의 서비스와 리소스에 대한 액세스 관리)
- 액세스 관리
1사용자(사람,ID,계정) - 2그룹(사용자의 모음, 재무팀 등등) - 3역할(AWS 리소스에서 사용하는 자격증 명 - S3 RDS 같은 리소스에 액세스하는 권한)
그리고 4정책(사용자 그룹 역할에 정책을 연결해서, AWS 리소스 액세스 권한을 정의한다. 어떤 것을 할 수 있고, 어떤 것을 할 수 없는지 JSON 문서 형식으로 구성)
- IAM - 역할
AWS 리소스에서 사용하는 자격증명 - 특정 서비스가 다른 서비스에 액세스하여 작업을 수행할 때 필요한 권한
- 권한 경계
IAM 사용자 또는 역할에 최대 권한을 제한하는 기능
예를 들어 전체 권한을 가지고 있어도 권한 경계에 대한 권한 범위로 축소되어 적용할 때 사용!
- 역할 (신뢰 정책)
AWS 계정간 액세스 권한을 위임하는 기능
EC2
ec2는 클라우드 컴퓨팅 시스템이다. 인스턴스라고 부른다.
배치그룹
인스턴스 배치를 구성하는 방법
- 클러스터
고성능 네트워크 연결
짧은 대기시간이 필요한 고성능 컴퓨팅에 적합
전용 호스트로 시작 → 하드웨어 공유 안함
전용 인스턴스로 시작 → 다른 인스턴스와 하드웨어 공유
- 파티션
하드웨어를 공유하지 않는 파티션 단위로 분할
빅데이터 분산처리 시스템에 사용
- 분산형
인스턴스 그룹을 별개의 서버랙 단위로 분할
고가용성 장애 발생시 안전
구매옵션
- 온디맨드
약정 없이 초당 사용
- 스팟 인스턴스
사용안하는 것 경매 방식, 도중에 끊길 수 있다.
- 예약 인스턴스
1년 또는 3년 기간을 약정
- Saving Plan
1년 또는 3년 기간의 사용량 약정하여 시간당 요금으로 인스턴스를 사용 람다 파게이트와 잘어울린다 사용량 약정이 때문에
- 전용 호스트 인스턴스
전용 물리적 서버 할당
탄력적 IP
인스턴스 생성시 자동으로 할당 받은 퍼블릭 아이피 재 시작하면 재할당 받아서 변하는데, 탄력적 아이피는 고정적인 퍼블릭 아이피 제공한다.
EC2 스토리지
EFS
리눅스 EC2인스턴스 위한 파일 스토리지, NFS 프로토콜 지원, 여러 가용 영역 연결 가능, 고가용성이 특징이다.
- Infrequent Access 스토리 클래스 로 수명주기 정책 사용하면 잘 안쓰는 데이터 저장해서 비용 절감 가능
Instance Store
블록 수준 임시 굉장히 빠른 물리적 SSD이다.
인스턴스 종료되면 스토리지 리셋된다.
Elastic Block Store(EBS)
EC2와 블록 스토리지 역할을 한다 여러 인스턴스와 연결 불가능하다.
- 스냅샷 기능
빠른 스냅샷 복원기능으로 지연시간 최소화 하여 빠르게 스냅샷으로부터 EBS 볼륨 복원 가능
EC2 Auto Scaling
설정한 최소 최대 용량안에서 자동으로 확장 축소하는 기능
트래픽이 몰렸을 때 처리시간 줄일 수 있음 용량이 늘어나기 때문에
구성요소
- 오토스케일링그룹 - EC2인스턴스의 그룹
- 시작 템플릿 - 인스턴스 서버 시작하기 위한 AMI 인스턴스 유형 정보를 가진 템플릿
- 조정 옵션 - 오토 스케일링 시작하기 위한 조건
기본 조정 정책
- 현재 인스턴스 수준 유지
- 수동조절(최대 최소 용량 변경 사항만 지정)
- 일정 기반 조정
- 온디맨드 기반 - 수요 변화에 맞춰서 예를 들어 CPU 50%기준 등등
- 예측 조정 사용 - 머신러닝 데이터 기반 용량 필요량 예측
동적 조정(Dynamic Scailing)
- 대상 추적 조정
- 지정한 목표 값(예 CPU 50프로) 초과할 때 Auto Saciling 그룹을 확장
- 단계 조정
CloudWatch Alarm 지표 기반으로 조정 (이것도 알람이 주는 cpu 정보 같은 것으로 조정)
크기조정 활동 또는 확인 교체가 진행중인 동안에도 정책이 추가 경보에 계속 응답
- 단순조정
단계 조정과 내용 같다.
다만, 크기 조정 후 휴지기간 끝난 다음에 추가 경보에 응답한다는 차이
- SQS기반 조정이
SQS 대기열 시스템 로드에 따라 조정
수명 주기 후크
수명 주기 후크를 사용하여 인스턴스 시작 및 종료(이벤트 인식) 감사 시스템에 데이터를 보내는 사용자 지정 스크립트 실행이 가능하다.
Elastic Load Balancing
트래픽 분산 서비스이다.
Application Load Balancer
HTTP, HTTPS 요청을 로드 밸런싱
전송 보안을 위해 HTTPS 프로토콜 사용시 SSL/TLS 인증성 배포 필요(ACM에서 사용이나, 클라이언트 인증 사용)
리스너 규칙으로 라우팅 설정 가능
- Path나 method, 에 따라서 라우팅 처리 가능
- Source IP 각 요청의 IP주고 기반으로 라우팅도 가능
Network Load Balancer
TCP, UDP, TLS 요청을 로드 밸런싱 처리할 때 적합
게임 같은 고도의 성능 필요할 때 사용
고정 IP 주소 할당이 가능하다(방화벽에 해당 IP 주소 허용할 때 ALB가 아니라 NLB 사용 필요)
데이터 보안 전송위해 TLS 프로토콜 사용 가능한데 ALB와 같이 SSL/TLS 인증서 필요(TLS 리스너 구성해서)
클라이언트 주소 IP 전달 가능
리스너 규칙은 설정할 수 없음
기타 스토리지
Storage Gateway
온프레스 데이터 센터의 데이터와 AWS 클라우드 스토리지 연결 서비스 (지속적 연결) 마이그레이션도 맞다 (데이터 전송을 하니깐 )
이렇게 설정하면 온프레미스 인프라 + 클라우드 인프라 두개 다 이용하는 것이다. 단순히 데이터 완전히 보내버리는 게 아니라.
스토리지게이트웨이와 온프레미스 데이터 센터간에 로컬 캐시를 두어서 짧은 지연 시간 연결(자주 사용 교환되는 데이터에 사용)
많이 나오는 문장 온프레미스 NFS 공유 대신 스토리지게이트웨이에 데이터를 복사하도록 스크립수정(짧은 지연 백업 파일 액세스 위해서)
- S3 파일 게이트 웨이
S3와 파일 단위 연결
NFS, SMB 프로토콜 이용
- Fsx 파일 게이트 웨이
Fsx for window file server와 파일 단위 연결
SMB 프로토콜 이용
- 볼륨 게이트 웨이
- 테이프 게이트 웨이
온프레미스 테이프 백업 어플리케이션과 S3간 전송을 위한 게이트웨이.
기존 온프레미스 백업 장치 구성 변경 없이 가능하다.
- 하드웨어 어플라이언스
온프레미스에 저장 장치나 인프라 없는경우
FSx
- FSx for Lustre(러스터)
리눅스 환경을 위한 고성능 병렬 스토리지 - 분산 파일 시스템 - 고성능 컴퓨팅에 사용
온프레미스 서버에서 액세스 가능
- FSx for Windows File Server
EFS는 리눅스 이고 이것은 윈도우 서버 구축되는 파일 공유 서비스
SMB 프로토콜을 이용하기에 윈도우 리눅스 OS에서 액세스 가능
온프레미스 서버에서 액세스 가능
DataSync
온프레미스 -AWS 또는 AWS-AWS간 데이터 복제 전송 자동화 서비스(일제 따라 자동화)
SMB나 NFS 프로토콜 → S3, EFS, Fsx for Window로 전송
데이터 무결성 및 암호화 가능하다.
Snow Family
네트워크가 아닌 물리적 장치에 저장하여 전송할 수 있는 디바이스
1회 성 전송할 때 사용한다.
S3 Glacier로 바로 전달 불가 S3로 보낸 후 수명 주기 정책으로 보내야 한다.
snowcone → ball → moblie(컨테이너)
모빌은 페터바이트이다. 테라바이트는 스노우 볼 이용
애플리케이션 통합 서버리스 컴퓨팅
API Gateway
어떤 규모든 개발자가 API 손 쉽게 생성 유지 관리 모니터링 할 수 있는 자동 관리해준다.
Lambda
Ec2와 달리 aws에서 관리해주는 코드를 실행하여 동작하는 컴퓨팅(auto scailling 필요 없이 자동 확장)
사용 요청 할 때만 비용부과하는 온디맨드 방식사용
그러나 함수실행당 15분 동시 실행 건수 1000건 제한이 있음
Beanstalk
사용자가 인프라 구성 필요 없이 코드만 업로하면, 알아서 로드 밸런싱, 오토 스케일링, 모니터링, 배포까지 AWS에서 자동으로 처리해주는 서비스
S3
오브젝트라는 개별 유닛에 데이터 저장 - 키,데이터 옵션 메타 데이가 함께 저장되어 있다. 키가 있어서 어디에 저장되어 있든 데이터 찾을 수 있다.
Csv파일 페타바이트 파일 저장에 최적
특징
-최소 3개 가용영역 데이터 저장해서 가용성 내구성 성능 확장성이 높다.
-버킷이라는 공간에 오브젝트 저장 버킷은 리전단위로 생성한다. 버킷 자체가 S3를 나타낸다.
-가장 비용 효율적인 스토리지
S3 버킷 정책
- 버킷 정책
JSON 형식으로 특정 조건에 따라 액세스 권한 부여 또는 제한하는 기능
예를 들어 다른 AWS 계정에 버킷 액세스 권한 부여(교차 계정 액세스 권한)
- 퍼블릭 액세스 차단
퍼블릭 액세스를 차단하거나 허용하는 기능
- ACL(액세스 제어 목록)
AWS 계정에 버킷 객체 읽기/쓰기 권한을 부여하는 기능
버킷 또는 객체 레벨 두 단위에서 ACL 적용 가능
스토리지 클래스
- Standard
짧은 지연시간 많은 처리가능
최소 스토리지 기간 없음
- Intelligetnt-Tiering 지능형 계층화
자주 액세스 하지 않는 객체 저렴한 클래스로 이동
최소 스토리지 기간 없음
- Standard-IA(빈번하지 않은 액세스용)
자주는 아니고 그래도 빠르게
30일 최소기한있음.
- Onezone IA
단일 가용. 자주는 아니어도 그래도 빠르게
30일 최소기한 있음
- Gracier
최소 90일
신속1-5분 평균3-5시간 대략 5-12시간
- Gracier Deep Archive
최소 180일
평균 검색시간 12시간.
기타 기능
- S3 AcessPoint
특정 그룹 사용자만 S3 데이터 액세스 하도록 설정
- Batch Operation(배치작업)
단일 요청으로 많은 수의 S3객체 처리하는 기능
- S3 Transfer Accelation
S3 객체를 사용자에게 빨리 전송
세계 곳곳 엣지로케이션 사용
- 멀티 파트 업로드
대용량 파일 분할 병령 업로드 방식
불완전한 멀티파트를 삭제해서 데이터 적게 유지할 수 있음
- Transfer for SFTP
S3 버킷을 저장소로 하는 SFTP(보안 파일 전송 프로토콜) 서비스
- 요청자 지불 버킷
다운로드 업록드 한느 비용 요청자가 내는 서비스
- 미리 서명된 URL
제한된 시간 동안만 객체를 공유 업로드하는 만료 시간을 설정한다.
- 이벤트 알림
객체 생성 복제 삭제 복원 마다 알려주는 기능이다.
S3 복제 규칙
버킷 간에 객체를 자동으로 복제하는 기능
버킷 복제를 위해서 원본과 대상 버킷 모두 버전 관리!!가 활성화 되어 있어야 한다.
다른 계정 버킷으로 복제도 가능
- 교차 리전 복제
재해 복구 목적으로 다른 리전 버킷으로 객체를 복사
- 동일 리전 복제
테스테 버킷 만들 때 법적 준수 사항으로 같은 리전안에 데이터 복사본 만들 때 사용
객체 암호화
- 서버측 암호화 - 데이터가 서버 저장 되기 전에 객체 암호화
- Sse-s3 - s3에서 관리 하는 암호화
- Sse-kms -kms에서 관리하는 암호화
- Sse-c - 사용자가 관리하는 암호화 데이터 전송 시 반드시 https 사용 필요
- 클라이언트 측 암호화 - 데이터를 전송하기 전에 클라이언트 사이드에서 암호화
- 전송 중 암호회 - SSL/TLS 프로토콜 사용해서 전송 암호화
S3 Object Lock(객체 잠금)
덮어쓰거나 삭제 없이 읽기만 가능
버전관리가 활성화 되어 있어야 한다.
- 거버넌스 모드 - 일부 사용자에게 변경 삭제 권한 준다!!
- 규정준수모드 - 모든 사용자 금지한다.
버전 관리
한 객체가 여러 버전 가질 수 있어서 이전 버전으로 복구 가능
MFA Delete 옵션 함께 사용해 실수로 객체 지워지는 것을 막을 수 있다
관리 및 커버넌스
AWS Organizations
여러 AWS 계정을 중앙에서 관리 리전단위가 아닌 글로벌 서비스이다.
관리계정(전체 계정 관리) - 멤버계정(그외)
조직 관리를 위해 OU이라는 조직 단위로 그룹화하여 관리
그룹마다 SCP을 적용해서 액세스 제한하는 서비스를 제어 가능
그룹 뿐만아니라 계정에다가도 SCP 지정 가능
CloudWatch
AWS 리소스와 애플리케이션 모니터링 서비스 - 로그 파일 수집 모니터링하고 경보 설정을 한다.
리소스 사용율 애플리키에션 성능, 운영 상태 파악을 할 수 있다.
- 지표(Metrics)
CPU 사용량 같은 측정 값 모니터링
- 대시보드
지표 하눈에 볼 수 있게 대시보드 기능
- 로그
로그 수집 기능
- 경보
지표값에 대한 알림을 생성한다.
생성된 알림을 오토 스케일링 실행하도록 경보 설정 하는 예시가 있다.
CloudTrail
Aws 계정 수행하는 작업 로그 기록 서비스
CloudWatch Logs 또는 S3 버킷에 저장
예시, s3에서 객체 잘못 삭제한 사람 정보 제공해야 한다→ athena(로그 분석 서비스) cloudtrail logs 쿼리하여 s3 버킷 대한 정보 식별하기
무결성 검사로 데이터가 그대로 전달되었는 지 확인 가능
KMS 사용하여 암호화 가능
- CloudTrail insight 사용하여 aws 계정 비정상적인 활동 감지
Config
계정이 아닌리소스 구성 변경 사항 로그 기록 서비스
규칙을 설정해서, 이상하게 리소스 변경이 된 것 없나 모니터링 가능!!
예를 들어 버킷 액세스 변경 보안 그룹 설정 변경 ALB 설정 변경 등을 기록
네트워크 -VPC
VPC란 AWS의 가상 네트워크이다.
가상 네트워크란 동일한 IP를 서브네팅(사이더)하여 작은 그룹으로 분할하는 것(그래서 하나의 IP로 여러개 네트워크 구성 가능) 그래서 VPC는 프라이빗 네트워크 아이피 사용한다.
AWS계정을 생성하면 기본 VPC 네트워크 생성된다.
VPC는 인터넷과 연결 그리고 인스턴스들은 VPC와 연결되어 있음 VPC안에 여러 가용 영역 존재
하나의 VPC에 퍼블릭 서브넷 프라이빗 서브넷 존재 각 서브넷 마다 방어보안그룹 네트워크ACL 있다. 라우팅 테이블도 각각 가지고 있고. 인터넷 게이트웨이는 퍼블릭 라우팅테이블에만 연결되어 있다.
서브넷은 하나의 가용영역 지정한다.
인터넷 게이트 웨이는 퍼블릿 아이피가 할당된 인스턴스와 1대1 NAT(네트워크 주소 변환)수행
사이더 주소 부족하면 보조 사이더 블록을 VPC에 추가한다.
VPC 피어링
VPC 간에 기본적으로 네트워크 통신 불가하다
인터넷이 아닌 프라이빗 IP 주소를 사용해서 VPC 간 네트워크 연결 서비스
같은 리전 또는 다른 리전 다른 계정간에도 가능하다. 같은 리전도 가능!!
라우팅 테이블에 피어링추가해서 연결하는 방식이다!
1:1 연결만 가능하다.
VPN(site to site VPN 포함) & Direct Connect
VPN
인터넷 이용 가상 네트워크 구성
VPN은 기본적으로 VPN프로토콜로 보호된다.(TLS)
- Clinet VPN
클라이언트 PC와 연결 서비스
- Site -to - Site VPN(AWS manged VPN)
IPsec 암호화 프로토콜 사용하여 VPC와 온프레미스간 프라이빗 네트워크 구성
Direct Connect
AWS와 온프레미스 간 전용선 통한 프라이빗 네트워크 구성
속도 빠르나, 물리적 설치가 필요
인터넷을 사용하는 VPN보다는 안전하다
Transit Gateway
VPC끼리 원래 1대1 피어링 구성 가능한데 트랜짓 게이트웨이 사용해서 각 VPC 또는 VPN까지 모든 트래픽 라우팅 가능하다.
NACL & Security Groups
- NACL
서브넷 내부와 외부의 트래픽을 제어하는 방화벽
서브넷 레벨의 연결 방화벽 각 리소스를 위한 보안 정책아님!
허용 거부 규칙모두 설정 가능
하나의 NACL은 여러 서브넷과 연결가능 하나의 서버넷은 하나의 NACL과 연결 가능
- 보안그룹
인스턴스에 대한 방화벽역할
서브넷이 아닌 인스턴스 수준(EC2)에서 연결
허용 규칙만 지정가능
PrivateLink(엔드포인트)
VPC 서비스 간 프라이빗 연결
VPC엔드 포인트 설정을 통해서 가능
- 게이트웨이엔드포인트
S3 퍼블릭 아이피 사용하여 액세스
온프레미스 연결 안된다.
다른 리전에서 액세스 허용안함
무료
- 인터페이스 엔드포인트
VPC 프라이빗 아이피 사용
온프레미스 다른 리전 액세스 허용
비용 발생
Nat Instance, Nat Gateway
퍼블릭서브넷에 개설하고 프라이빗 라우팅 테이블 연결점 설정하면 외부 인터넷 연결 가능
Ipv6는 송신 정용 인터넷 게이트웨이를 써야한다.
- Nat Instance
사용자가 직접 EC2 개설 더 많은 기능 지원 가능
- Nat Gateway
AWS가 제공 관리하는 더 많은 트래픽!! 고가용성 서비스이다.
애플리케이션 통합
Simple Queue Service(SQS)
에플리케이션 간 느슨한 결합위해 메세지 큐 제공
FIFO대기열은 메세지 들어온 순서대로 처리
표준 대기열은 순서와 상관 없이 전달 처리
Simple Notification Service(SNS)
애플리케이션 간 애플리케이션- 사용자 간 메시지 전송 서비스
SNS 토픽 생성 그리고 SQS가 해당 토픽 구독해서 정확한 순서로 메세지 전달하는 방식 많이 쓴다.
Kinesis
실시간 스트리밍 데이터 수집 처리 분석 서비스
데이터가 수집된 후에 처리하는 게 아니라 수신되는 대로 처리 분석한다.
- Data Streams - 데이터 스트림을 수집 및 처리!! 실시간 데이터를 순서대로 처리할 때 쓰인다!!
데이터를 다른 곳으로 보내거나 본인 데이터 스토리지에 최대 1년간 보관 가능
- Data Firehose - 데이터 스트림을 AWS 데이터 스토어나 분석 도구에 로드
스트리밍 데이터 갭쳐 변환 후에 S3나 Redshift 등으로 보내 인텔리전스 도구 및 대시보드를 통해 실시간 분석 가능
개인 스토리지가 없음 전송만
- Data Analystics - SQL 또는 Aphache Flink로 데이터 스트림 분석!
Data stremas나 Data Firehose로부터 데이터 수집해서 변환 분석 가능
- Video Streams - 비디오 스트림을 수집 저장 처리
AppFlow
Saas 어플리케이션(슬랙 같은)과 aws간의 안전하게 데이터를 전송할 수 있게해주는 서비스
네트워크 -Route53
AWS dns서비스 (도메인 이름을 컴퓨터가 읽을 수 있는 IP주소로 변견하는 시스템)
역할
- 퍼블릭 도메인 구매 또는 이전
- 내부 VPC에서만 사용할 수 있는 프라이빗 도메인 생성
- 라우팅 정책단순 변환 작업 뿐만아니라 라우팅도 한다.!!
- 쿼리로깅기능으로 DNS 응답을 로깅하는 기능
라우팅 정책
- 단순 라우팅-랜덤하게
- 가중치 기반 - 서버마다 가중치 부과해서 트래픽 분산
- 지연시간 - 짧은 지연시간 제공하는 리전으로 라우팅
- 지리적위치
- 상태검사 - 서버의 상태 모니터링해서 좋은 곳으로 라우팅
- 장애조치 - 기본 라우팅이 실패하면 보조로 자동 라우팅 되는 방식
- 다중값응답 -리소스 상태를 확인하여 정상인 셩우만 IP주소 전달
글로벌 전송
Cloudfront
오리진에서 엣지 로케이션에 콘텐츠 캐싱하여 글로벌 사용자에게 빨리 배포되도록하는 서비스
특징
-HTTP 프로토콜 처리에 적합하다.
-비디오 콘텐츠 등 실시간 스트리밍 배포
-오리진에서 cloudfront 전송 비용 없어서 비용절감 효과
-요청값(디바이스 위치 언어)에 따라 다른 버전 콘텐츠 제공 가능
기능
-Orifin Access Identity(OAI)를 통해서 S3 버킷 액세스를 클라우드 프론트 통해서만 하게 하기.
-SighedURL,Cookie 통해서 서명된 URL통해서만 콘텐츠 접속기능(유료 회원만 도영상보게하기)
-지역제한 특정 국가 액세스 제한
-WAF, Shield 결합해서 DDoS 방어
-필드레벨 암호화, 보안이 필요한 데이터 오리진으로 안전하게 전달함 많이나온다 이것.
-lamda@edge CloudFrong로 통해 전달되는 컨테츠를 사용자 지정함수 실행(압축같은 것) ㅅ진행
Global Accelerator
엣지 로케이션로 트래픽 전송 AWS 전용 네트워크 사용해서 고속 라우팅 서비스
TCP UDP 고속 전송 서비스
글로벌 액셀레이터는 2개의 퍼블릭 고정 IP가 생성된다. - ALB를 가속기 등록해서 그렇게 생긴 고정 아이피로 방화벽 규칙 이용 가능해진다
ALB, NLB 엔드 포인트와 연결해서 사용가능
헬스 체크 기능으로 하나 서버 장애시 다른 서버로 라우팅 가능 !! 이런 좋은 기능이!
보안 및 자격증명
Secrets Manager
보안정보(자격증명)을 중앙 집중 저장 관리 교체 감사 모니터링 서비스 ( 자동 교체 기능 있다)
AWS System Manager Parameter Storesms 자격증명 저장하지만 자동 교체 기능이 없다.
Key Mangement Service(KMS)
암호화 키 생성 및 관리 서비스
암호화 세가지
- 전송 중 암호화 - 네트워크 전송을 암호화
- 서버측 암호화 - 서버에 저장된 데이터를 암호화
- 클라이언트 암호화 - 서버에 보내기 전에 암호화
S3에는 고객 관리형이 없다는 사실 KMS만 존재 (사용자 원하는 대로 액세스 지정 가능)
키 자동 교체 기능 지원한다.
추가, CloudHSM은 AWS 제공하는 하드웨어 암호화 장비를 통한 암호화 - 장비를 가지고 사용자가 직접 관리해야함 KMS는 소프트웨어적 암호화 서비스이다.
- KMS 다중 리전 키 - 여러 리전에서 동일한 키를 가지고 있어서 다른 리전의 데이터를 서로 다른 키로 다시 암호화 할 필요가 없다.
AWS certificate Manager(ACM)
SSL/TLS(전송 보안) 인증서를 중앙에서 관리하는 서비스, 인증서 사용할 때 가장 빠르고 저렴한 솔루션이다.
↔ 자격증은 특정 서비스 리소스 사용 할 때 필요한 것.
Shiled & WAF
- shiled
Ddos 공격 보호
스탠다드모드(무료)와 어드밴스드(ec2, elb cloudfront, route53에서 정교한 ddos보호)
NLB와도 연결가능 WAF는 웹관련된 것만 가능한 것에 비해
- Web Applcation FireWall(WAF)
웹 애플리케이션 보호 방화벽(ACL은 서브넷 단위 방어)
ALB, API Gateway, CloudFront에서 적용 가능
(악성 아이피차단
특정국가 액세스 차단 !!
SQL 인젝션 Cross site scripts 방어
속도위반규칙으로 ddos방어)
- AWS Filrewall Manger
WAF , Shield 방화벽 규칙 한곳에서 관리
GuardDuty, Macie, Inpector
-GuardDuty
AWS 계정 워크로드에 악의적 활동 모니터링 위협 탐지, 그 결과 보고 서비스
-Amazon Macie
데이터 보안을 위해서, 기계 학습 패턴 일치를 통해 민감한 검색 보호( 저장소에 카드 번호 개인 식별정보(PII) 를 발견하고 잘 보호 되고 있는 지 확인)
-Inspect
Ec2 같은 컨테이너, 소프트웨어 네트워크 취약성 스캔과 관리 서비스
데이터 분석 서비스
AWS Athena
표준 SQL 이용 S3데이터 로드 필요 없이 직접 사용 분석하는 서비스
Redshift
데이터 웨어 하우스 서비스 - 여러 소스로부터 구조화 비구조화 대량의 데이터 중앙으로 모아 분석하여 비지니스 통찰력 토출하여 의사결정 개선하는 서비스
데이터를 영구적 보관하고 거의 실시간으로 쿼리가 가능하다 .
Glue
데이터 분석을 위한 추출 변환 로드 정리 서비스
EMR(Elstic MapReduce)
빅데이터 플랫폼을 위해 분산 병렬 처리 컴퓨팅 서비스를 제공한다.
즉 빅데이터 플랫폼 Hadoop 클러스터를 손쉽게 생성해주는 서비스
AWS QuickSight
비지니스 인텔리전스 도구
대시보드 그래프 시각화 데이터 분석을 통해 의사 결정을 도와주는 서비스
데이터 베이스
Amazin Relational Database Service(RDS)
관계형 데이터 베이스이다. AWS에서 제공하는 RDS 엔진 제공
DB 다운 타입 없이 스토리지 용량만큼 자동 확장 가능(Storage Auto Scailing)
- RDS 백업
특정 시점으로 복구 또는 스냅샷 복구 작업을 수행하면 새로운 엔드 포인트를 가진 새 DB 인스턴스 생성
자동 백업과 스냅샷 모두 S3에 보관
1 자동백업 - 5분마다 백업하므로 5분 전까지 시점 복구 가능(원하는 특정 시점 복구 가능), 1일부터 35일 보존 기간 설정 가능
2 데이터베이스 스냅샷 - 사용자가 수동으로 스냅샷 생성 백업 방식, 보존기간을 제한 없이 사용자가 정할 수 있다.
- RDS 보안
SSL/TLS이용해서 어플리케이션 DB간 전송 암호화 가능
KMS통해 관리 하는 키로 DB저장 중 암호화 가능
IAM 사용자 및 역할을 통해 데이터베이스 인증 적용 가능
RDS Audit Logs 기능 로그 저장 가능
암호화되지 않는 DB인스턴스 암호 방법(스냅샷 생성→ 암호화된 스냅샷 복사본 생성→암호화된 스냅샷으로 RDS복원)
- RDS 읽기 전용 복제본
리소스 고갈 문제 해결가능하다 기존 것 인스턴스 부하 줄여주니깐
읽기만 가능한 DB 복제본 여러개 만들어서 성능을 향상 - 읽기 트래픽을 분산
읽기전용 복제본이 작동하려면, 백업이 활성화된 상태가 유지되어야 한다.
대규모 쿼리 때 사용하기 좋다.
- RDS 다중 AZ
다운 타임 가장 적게 여러 가용 영역 배치해 내구성 가용성 향상
한 곳의 장애가 났을 때 다른 곳 자동연결 설정해 장애조치 수행도 한다.
읽기 트래픽 분산 불가!
다운타임없이 단일 실패지점을 제거하는 고가용성 솔류션!!
- RDS Proxy
연결 풀링을 제공(커넥션 풀 제공)
성능이 증가한다(매번 커넥션 안맺어도 되니, 연결 수 제어해서 너무 부하 많아지면 연결을 거부할 수 있어서)
연결수 제한으로 연결 시간 초과 문제 해결이 가능하다!!이게 핵심!!
Aurora
RDS제공하는 위에 기능 모두 사용가능하고 RDS 기능 호환 가능한 관계형 DB
AWS에서 만든 서비스 RDS보다 저렴하고 성능 뛰어남
설정 패치 백업 관리 자동화된다.
개별 DB인스턴스 기반이 아닌 여러 인스턴스를 하나로 운영하는 클러스터 DB기반으로 구성
- Aurora DB 클러스터
읽기 쓰기 하는 기본 인스턴스와 읽기 작업만하는 복제본 인스턴스로 구성
- 복제본(Replica)
3개의 가용영역 6개의 데이터 사본 저장해서 고 가용성
읽기 분산할 수 있어서 성능 증가!!이게중요!!!!
마스터 DB발생시 최대 30초 이네 복제본하나가 기본 인스턴스 역할로 변경
- Aurora 글로벌데이터베이스
다른 리전으로 복제하는 기능
1초 미만의 대기시간(RPO)으로 최대 5개의 보조 리전에 복제
보조 리전 DB 1분이내 승격 가능(RTO)
오로라가 이 기능이 있다는 것이 중요
- Aurora Database Clonning
스냅샷 으로 복원하는 것보다 빠르고 비용 저렴하게 복제 가능
테스트 개발 용도 생성할 때 많이 사용
- Aurora Machine Learning
쿼리를 사용해 쇼핑기록 카탈로그 데이터 sageMaker 모델로 전달하여 학습 후 권장 사항 데이터 가져옴
- Aurora 멀티 마스터 클러스터
모든 DB 쓰기 작업 가능 으로 만들어 준다!!
장애 났을 때 지연 없음 다른 DB가 역할 이미 수행하고 있기 때문에
- Aurora Severless
AWS 가 대신 관리 사용량에 따라 확장 축소해준다.
ElastiCache
인메모리 데이터 스토어
코드 변경이 필요한 빠른 응답 성능 제공
Redis와 Memcached 두 가지 버전이 있다.
DynomoDB
NoSQL 데이터 베이스
서버리스이고 초당 수백만개 요청 처리 가능한 빠른 데이터 베이스 이다.
- 백업 복구
특점 시점으로 복구를 사용해, 45일 이내 원하는 시점으로 테이블 복원가능
- 글로벌 테이블
리전간에 데이터베이스 복제 기능
모든 리전에 읽기 쓰기가 가능하고, 변경사항은 1초 이내에 복제된다.
- 읽기 쓰기 용량 모드
온디맨드모드 - 트래픽이 예측 불가능한 경우, 처리량에 따라서 자동 조정
프로비전 모드 - 트래픽 예층 가능해서 수동으로 용량 조절
- DAX
인메모리 캐시를 사용하는 서비스
- TTL
타임스탬프를 이용해서 일정 기간 지난 데이터 자동으로 삭제하는 기능
- 읽기 일관성
최종적 일관된 읽기 - 최근 완료한 쓰기 결과 반영 못할 수 있음
강력한 일관된 읽기 - 지연시간 용량 많이 쓰지만, 모든 쓰기 결과 반영한 결과 반환
- 트리거 기능으로 테이블 변경 때 이벤트 알림 생성 가능
컨테이너 서비스
애플리케이션 구성 라이브를 패키지 묶어서 컨테이너 엔진 위에서 실행하는 것
OS 환경이 바뀌어도 동작하며 각각의 컨테이너가 독립적이다.
대표적인 플랫폼이 Docker와 kubernates가 있다.
큰서비스를 작은 서비스 조합으로 운영하는 마이크로 서비스를 배포하는데 사용
Contatiner Service(ECS)
Docker 컨테이너를 배포 관리하는 서비스
고가용성 서비스이다.
Kubernetes Service(EKS)
AWS에서 Kubernetes 실행하는 서비스
AWS뿐만 아니라 다른 클라우스 시스템에서도 사용 가능하다는 특징이 있다.
AWS Fargate
서버리스 컨테이너 서비스로 ECS와 EKS 모두 Fargate통해 프로비저닝 컨테이너를 사용하여 자동으로 컨테이너 조정과 로드 밸런싱 가능하게 한다.
Elastice Container Registry(ECR)
컨테이너 이미지(저장 파일) 공유 배포 서비스
해당 이미지를 사용하여 ECS EKS에서 컨테이너 구성