AWS 이해하기 - 이벤트 기반 서비스 및 자격증명 기초편

허준현·2023년 3월 17일
0

AWS

목록 보기
4/4
post-thumbnail

이번에는 AWS 에서 제공하는 이벤트 기반 아키텍쳐에 대해서 간단한 정의에 대해서 알아보겠습니다.

이벤트 기반 아키텍쳐

SNS(Simple Notification Service) : 여러 서비스에 메세지를 전달하기 위해 사용
하나의 메시지를 여러 서비스에서 처리 가능, Subscriber-Publisher 조합, PUSH, Fan Out 기능 제공
애플리케이션 간 및 애플리케이션 - 사용자 간 통신
SNS FIFO Topic : 메시지가 주체에 게시된 정확한 순서로 구독된 SQS FIFO 대기열에 메시지를 전달한다.

SQS(Simple Queue Service) : 특정 작업을 다음 서비스로 넘겨주기 위해 사용
하나의 메세지는 한번만 처리하며 보관 가능, Consumer-Producer 조합, PULL, 디커플링

DLQ(Dead Letter Queue) 배달못한 편지 대기열 : 일반적으로 계속 메세지를 보내면 다른 메세지 처리에 영향을 줌 일정 횟수 이상 시도후 별도의 DLQ로 보관

표시제한시간(Visibility Timeout) : 처리중인 메시저에 대해서 다른 인스턴스에서
소비 못하게 시간을 두는 것
Short Polling , Long Poiing : 소비자가 콜을 했을 떄 큐가 비어있을 때 바로 신호를 보내는게 Short , 대기하는 것이 Long

SES(Simple Email Service) : 이메일을 주고 받을 수 있는 서비스

API Gateway : 개발자가 API생성, 게시, 유지관리 , 모니터링 및 보안 유지를 할 수 있는 서비스 RESTful API 및 WebSocket API 를 지원

Lambda : 코드를 실행하여 동작하는 서버리스 컴퓨팅
EC2는 Auto Scaling 기능을 사용해 서버를 확장하지만 Lambda 는 사용량이 늘어나면 자동으로 용량이 확 장되므로 용량 계획이 필요 없고 확장성이 뛰어남

독립적으로 사용하지 않고 다른 서비스와 결합하여 사용됨

ex) API Gateway, Kinesis, DynamoDB, SNS, SQS, S3, CloudFront

재해 복구 관련

고가용성 : 장애 상황을 해결하고 서비스를 지속할 수 있는 능력 (복구시 오류가 발생할수도있음)
장애 내구성 : 장애상황에도 서비스를 지속할 수 있는 능력
Disaster Recovery Strategies(재해복구 전략) : Backup & Restore -> pilot Light -> Warm standby -> Multi-site active/active

RTO (Recovery Time Objective) : 목표 복구 시간
RPO (Recovery Point Objective) : 감당 가능한 데이터의 양

배포 방식

롤링 배포 : 일반적인 배포방식이며, 구버전에서 신버전으로 서버를 내렸다 올리는 방식을 말한다.
블루 그린 배포 : 동일한 서비스 자원을 생성하여
나란히 트래픽을 분산하여 빠르게 롤백 및 신 버전 테스트 용이
카나리 배포 : 특정 대상자들에게 신버전을 분산하여 A/B 테스트가 가능하게 설정한다.

CloudFront

CloudFront

콘텐츠 전송 네트워크 서비스이며 엣지 로케이션의 콘텐츠 캐싱을 이용해 사용자에게 더 빨리 전송하게 하는 방식
-> 전세게 사용자에게 빠른 서비스를 제공하기 위함과 Origin 서버의 부하를 방지
Origin 그룹을 활용하여 기본 오리진 서버가 내려간 경우에 자동으로 보조 오리진으로 변환

전세계에 분포된 엣지 로케이션을 사용하며 동적인 IP 사용
캐시 가능한 컨텐츠와 HTTP 프로토콜을 처리하는데 적합

Lambda@Edge : CloudFront를 통해 전달되는 콘텐츠를 사용자 지정하는 함수를 실행하게 해주는 컴퓨팅 서비스
OAI(Origin Access Identity) : S3 버킷의 엑세스를 클라우드 프론트를 통해서만 접근하게 하도록 함

특정 국가에서 콘텐츠 에세스를 제한하는 지역 제한 (Geographic Restriction) 기능 제공
WAF 와 Shield 를 결합하여 DDOS 방어 기능을 한다.

신용카드 번호와 같이 데이터 보안이 중요한 데이터를 업로드 하게 해주는 필드 레벨 암호화 기능 제공

Global Accelerator

가장 가까운 위치로 라우팅하여 대기시간을 줄이는 서비스 전세계에 분포된 엣지 로케이션을 사용

혹은 고정 IP가 필요한 HTTP 에 사용된다.

엣지 로케이션을 가장 가까운 리전의 엔드포인트로 최적화된 경로를 찾는데 사용

TCP, UDP 프로토콜을 처리하는데 적합하며 IOT 모바일앱에서 주로 사용

AnyCast 고정IP생성하여 가까운 노드로 전송하는 방식

보안 및 자격 증명

cognito

애플리케이션에 대한 로그인 및 인증을 제공하는 기능
애플,구글,페이스북 계정 통합 기능 제공

AWS Single Sing On(SSO)

중앙에서 관리하는 하나의 계정으로 여러 애플리케이션에 로그인 하는 기능
Office365, DropBox, Slack와 같은 Saas 어플리케이션 로그인도 하나의 계정으로 가능

KMS(Key Management Service)
암호화 키를 생성 및 관리하는 서비스
키를 자동교체 하는 기능 지원
감사를 위해 AWS CloudTrail 과도 통합되어 모든 키 사용에 관한 로그를 제공

고객 관리형 키 (Customer managed keys)
사용자가 생성 , 소유 및 관리하는 AWS 계정의 KMS 키
키 정책 , IAM 정책 및 권한 부여 , 암호화 구성요소 등의 제어 권한을 사용자가 가짐

AWS 관리형 키 (AWS managed keys)
AWS 서비스가 고객의 계정에서 고객 대신 생성 , 관리 및 사용하는 KMS 키
정책 , 키 삭제 등의 제어 권한이 없거나 제한이 있음

AWS의 키 (AWS owned keys)
AWS 서비스가 여러 AWS 계정에서 사용하기 위해 소유하고 관리하는 KMS 키 모음

KMS 다중 리전 키 (Multi Region Keys)

여러 리전에서 동일한 키를 가지고 있는 것 -> 복잡하지 않음
글로벌 DB에 암호화 및 멀티 리전 S3 버킷의 암호화 등에 사용

CloudHSM

AWS 에서 제공하는 하드웨어 암호화 장비를 통한 하드웨어 방식의 암호화

Secrets Manager

보안 정보 자격증명중앙 집중식으로 저장 , 검색 , 액세스 제어 , 교체 , 감사 및 모니터링하는 서비스

보안정보 : DB 자격증명, 리소스 자격 증명, SSH 키 등 포함
자동으로 보안정보를 교체 및 관리가능하며 Lambda 와 함께 시간 설정 가능

AWS Certificate Manager (ACM)

SSL/TLS 인증서를 중앙에서 관리하는 서비스

ELB, CloudFormation,api gateway , EC2 등 다양한 곳에서 사용가능 하다.

Shield

AWS 웹 애플리케이션을 DDoS(Distributed Denial of Service) 공격으로부터 보호

Web Application Firewall(WAF)

웹 애플리케이션을 보호하는 방화벽

Application Load Balancer, API Gateway, CloudFront 에 적용 가능하며 악성 IP차단 및 SQL Injection 방어가능하다.

AWS Firewall Manager

AWS Organizations 의 여러 계정과 애플리케이션의 방화벽 규칙을 중앙에서 구성 및 관리할 수 있는 보안 관리 서비스

GuardDuty

AWS 계정 및 워크로드에서 악의적 활동을 모니터링하고 상세한 보안 결과를 제공하는 위협 탐지 서비스

EX) 인스턴스 침해, 계정 침해, 버킷 침해
CloudWatch와 연동하여 알림 가능

Macie

기계학습을 통한 AWS에서 민감한 데이터를 검색하여 보호

Inspector
EC2 및 컨테이너 워크로드에서 취약성 및 네트워크 노출을 지속적으로 스캔해준다.

사실 지금까지 공부했던 내용은 DevOps 뿐만 아니라 Software Architecture 에서 주로 나오는 서비스를 정리 하였습니다. 이번에 DevOps를 따면서 배웠던 CI/CD, git 연동에 대해서 추후 다루고자 합니다.

profile
best of best

0개의 댓글