이 영역을 누르면 첫 페이지로 이동
천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

페이지 맨 위로 올라가기

천천히 꾸준히 조용히

천천히 꾸준히 조용히.. i3months 블로그

[AWS] SAA-C03 오답노트 (1)

  • 2026.07.25 15:11
  • DevOps/Cloud Service
반응형

 

 

 

S3에 쿼리하는건 AWS Athena. JSON 쿼리 가능. SQL을 사용해서 S3에 있는 데이터를 간편하게 분석할 수 있는 서비스이다.

 

복제가 효과적으로 작동하려면 각 읽기 전용 복제본에 원본 DB 인스턴스에 동일한 양의 컴퓨팅 및 스토리지 리소스가 있어야 함.

 

AWS EBS는 가상 하드디스크를 의미함. SSD랑 똑같다. 단일 EC2 인스턴스에 마운트됨.

 

EFS는 여러 EC2가 마운트되고 사용할 수 있음.

 

DataSync는 데이터 전송 및 마이그레이션에 사용된다. 

 

SnowBall Edge는 대용량 데이터를 네트워크를 안타고 하드웨어 디바이스로 AWS로 이관함

 

다중 MSA 환경에서는 메세지 수신을 위해 SNS가 필요함. 메세지 폭증에도 안전하게 처리하려면 SQS 필요.

 

기존 환경을 AWS 클라우드로 현대화하려면 결합도를 낮추고 확장할 수 있어야 함. 기본 서버 대신 SQS를 사용한다. EC2 Auto Scaling이 인스턴스 수를 조작해준다.

 

S3는 SMB를 그대로 지원한다. 버킷에 수명 주기 정책 적용하면 S3 Glacier Deep Archive로 자동 전환해 저장 비용 극대화해서 절감 가능.

 

주문이 접수된 대로 처리하려면 SQL FIFO 대기열을 사용한다. 이후 Lambda 함수 호출로 처리. 그냥 SNS는 순서 보장 없는 구독 방식이다.

 

데이터베이스 자격 증명 관리와 운영 최적화를 위해 Secret Manager를 사용함. Secret Manager는 기본 빌트인 자동 회전 기능을 제공한다. 그러니 자주 교체해야 하면 Secret Manager를 사용. 

 

글로벌 사용자 대기시간 줄이기 + 정적 동적 데이터 성능 개선을 위해 CloudFront 배포를 생성한다. CloudFront는 여러 오리진을 지원하니 배포 하나에서 정적은 S3로 동적은 ALB로 라우팅 가능. ALB에서 EC2와 S3로 직접 분기하는건 불가능하다. ALB의 타겟 그룹은 EC2, IP주소, Lambda 뿐임. Cloudfront는 CDN이다. CDN은 캐싱 가능함.

 

Global Accelerator는 캐싱 없이 비 HTTP 트래픽 (TCP/UDP) 을 고정 IP로 가속한다.

 

Aurora는 MySQL과 호환되는 맞춤형 DB 엔진으로 RDS MySQL보다 성능도 좋음. Aurora Auto Scaling 정책을 설정하면 Aurora 읽기 전용 복제본을 동적으로 조작해준다. 다중 AZ로 고가용성 확보. 다중 AZ 가 성능을 올려주지는 않는다. 

 

VPC(Virtual Private Cloud)로 들어오고 나가는 트래픽에 대한 검사를 위해 Network Firewall을 사용한다. 온프레미스에서의 검사 서버 역할을 그대로 쓸 수 있음.

 

VPC는 클라우드 안에 만드는 나만의 격리된 가상 네트워크를 의미한다. 10.0.0.0/16 같이 IP 주소를 정하고 그 안에서 네트워크를 구성한다. VPC를 더 작게 쪼갠 구역은 서브넷으로, 퍼블릭 서브넷은 인터넷과 직접 연결되는 구역이고 프라이빗 서브넷은 외부에 노출되면 안 되는 자원을 배치한다. IGW는 VPC를 인터넷과 연결해 주는 출입문으로 퍼블릭 서브넷의 자원이 인터넷과 통신하려면 이게 필요함. 실제 서버 라우터 케이블 등 물리적인 작업은 AWS가 알아서 해주고, 프라이빗 서브넷에 어떤걸 둘지, 방화벽 규칙을 어떻게 설정할지는 내가 직접 설계해야 한다. 

 

QuickSight는 RDS S3에 직접 연결해 데이터를 통합하고 시각화 할 수 있음. 대시보드 공유 및 엑세스 제어는 IAM이 아니라 QuickSight 내부의 사용자 및 그룹을 기반으로 관리된다.

 

EC2 인스턴스가 S3 버킷에 접근할 수 있으려면 IAM 생성 후 EC2 인스턴스에 연결해야 한다. IAM 정책은 JSON 문서일 뿐이니 EC2 인스턴스에 직접 연결할 수 없다. 그러니 정책을 IAM 역할에 첨부하고 그 역할을 EC2에 연결해야 한다.

 

이벤트 알림 + SQS + Lambda 를 사용한다. S3는 Event Notification이 있다. 그러니 SQS 대기열로 메세지를 전달하는게 가능함. 트래픽 폭증해도 SQS가 처리함. Lambda가 SQS를 구독하면 자동 실행된다. Lambda는 Stateless.

 

타사 방화벽을 AWS에 적용한다. 이럴 때는 Gateway LoadBalancer를 사용하는게 좋음. Gateway LoadBalancer는 타사 그룹을 쉽게 사용할 수 있도록 만들어진 전용 로드밸런서. 웹서버 도달 전 모든 트래픽을 검사해야 한다.

 

데이터의 완전 독립 복사, 고성능 I/O 필요 + 준비시간 최소화 → EBS 스냅샷 + 스냅샷 복원 활성화. 인스턴스 스토어 볼륨은 휘발성이다.

피크 시간에 초저지연 처리 + 운영 오버헤드 최소화 → 서버리스 아키텍처 사용. 자동 확장 가능하고 오버헤드가 낮다. S3 정적 호스팅과 CloudFront 캐싱으로 저지연 구현 가능.

 

AZ 복원 + 저장 및 검색 비용 최소화 → S3 Intelligent Tiering. 자주 접근하는 객체와 그렇지 않은 객체를 자동으로 이동시킨다. 여러 AZ에 데이터 저장해 AZ 손실 강함. 예측할 수 없는 패턴이면 S3 Intelligent-Tiering. 1개월 후 접근하지 않는게 명확하다면 Intelligent-Tiering 보다 Glacier Archive가 더 저렴하다.

 

인스턴스 유형별 수직 확장 원인 분석 + n개월간 비용 비교 그래프 → Cost Explorer를 사용한다. 기본 제공 시각화 도구로 세분화해서 비용 추세 그래프를 만들 수 있음. 관리형 도구라 쉬움.

 

AWS Config는 리소스 구성을 측정하거나 평가하는 서비스. S3 버킷 에 대한 무단 구성 변경 식별. 지정된 태그가 없는 리소스를 자동으로 찾아 규정 위반으로 표시해 줄 수 있다. 

 

제품 관리자가 AWS 계정이 없다면 CloudWatch 콘솔에서 대시보드를 공유하고 제품 관리자의 이메일 주소로 공유 링크 전달.

 

AWS Organizations로 SSO를 설정하면 AD를 계속 사용할 수 있다. AWS랑 Microsoft 같이 써야 하니까 Two-way Forest Trust를 사용해야 함.

 

UDP 기반 VoIP + 지연시간 최소 + 리전간 Failover → TCP/UDP를 처리하는 NLB를 사용한다. ALB는 HTTP 기반임. Global Accelerator 도 사용.

 

인스턴스 중지되면 최대 7일까지만 중지 유지되고 자동시작됨. 인스턴스를 삭제하면 스토리지까지 같이 사라진다. 남는거는 DB 스냅샷인데 스냅샷 저장은 저렴하다. 그리고 그대로 복원하면 됨. 스냅샷은 S3 에 저장되니 인스턴스 사라져도 유지됨.

 

정적 컨텐츠로만 구성된다면 S3를 사용할 수 있다. S3도 정적 웹사이트 호스팅을 제공함. 서버가 필요 없으니 저렴하다. 

 

수백만 건의 데이터를 확장 가능하게 처리 + 여러 애플리케이션과 실시간으로 공유해야 하는 경우는 Kinesis Data Streams를 사용한다. 저장 전 민감 데이터를 제거할 때는 Lambda를 사용한다. DynamoDB는 대규모 데이터에서도 저지연을 구현하는 NoSQL 이니 지연 시간이 짧은 검색이다. 

 

AWS 리소스의 구성 변경 추적은 AWS Config가 처리하고, AWS CloudTrail은 누가 언제 어떤 API를 호출했는지를 기록한다. 

 

대규모 DDoS 공격을 감지하고 DNS는 타사 서비스를 사용하는 경우 AWS Shield Advanced를 활성화하고 ELB를 할당한다. Shield Standard는 일반적인 공격 방어해주고 Shield Advanced는 대규모 정교한 DDoS 공격을 방어해준다. 타사 서비스를 사용해야 하니 보호 대상으로 지정할 수 있는건 ELB이다. Inspector는 취약점 스캔 서비스이고 GuardDuty는 계정 보호 서비스이다. 

 

IGW는 VPC와 인터넷을 연결해주는 출입문이고 트래픽 분산은 ELB가 처리한다. 즉 IGW -> ELB -> EC2 이런 절차를 거치게 됨.

 

두 리전에서 동일한 키로 암복호화 하면서 키가 각 리전에 저장하려면 KMS를 사용한다. 일반적인 KMS 키는 리전에 종속되니 서로 다른 리전의 두 버킷을 KMS 다중 리전 키를 사용해야 한다. SSE-S3는 AWS가 관리하는 키라서 고객 관리형이 아니다. 

 

System Manager Session Manager는 인스턴스에 IAM 역할만 연결해주면 브라우저에서 안전한 셸 세션을 열 수 있다. SSH 포트를 열 필요도 없으니 관리할 필요도 없어서 오버헤드가 가장 낮다. 

 

CloudFront는 CDN이다. S3 버킷을 오리진으로 삼고 CloudFront를 앞에 두면 정적 컨텐츠가 캐싱되니 전 세계 사용자의 지연 감소.

 

매일 수백만 건의 업데이트가 발생 + INSERT 작업이 10초 이상 걸림 + 스토리지 문제라고 판단한 경우 스토리지 유형을 변경한다. Provisioned IOPS SSD는 원하는 IOPS 수치를 명시할 수 있어 높은 I/O 성능을 보장한 스토리지이다. 다중 AZ를 설계한다면 읽기 부하를 분산할 수 있지만 여기서는 INSERT가 병목이다. 다중 AZ 배포의 목적은 고가용성과 장애조치이지 성능이나 읽기 확장이 아니다. 하나가 죽었을 때 다른 AZ에 있는거를 승격시켜서 서비스를 이어간다. Read Replica는 읽기 성능 확장을 목표로 한다. 

 

Kinesis Data Firehose는 대량의 스트리밍 데이터를 자동으로 적재한다. 서버를 띄우거나 관리할 필요가 없고 관리형이라 AWS가 Availability를 보장해준다. 

 

하나의 EC2가 SaaS소스에서 데이터 수신, S3업로드, 알림까지 처리하면 성능이 저하된다. EC2가 하던 일을 관리형 서비스로 대체해서 부담을 제거해야 함. AppFlow는 SaaS 소스와 AWS 사이 데이터를 코드 없이 안전하게 전송해준다. 알림도 SNS를 사용하면 완전 관리형이다. 

 

EC2와 S3가 NAT 게이트웨이를 거친다면 네트워크를 타기에 비용이 크다. S3 게이트웨이 VPC 엔드포인트를 사용한다면 VPC 안의 자원이 인터넷을 거치지 않고 AWS 서비스에 사설로 접근한다. S3와 DynamoDB는 무료다. AWS 에서 ingress는 무료지만 egress는 돈이 나간다. 그러니 무료 엔드포인트를 사용함. 인터페이스 엔드포인트는 물리적 자원을 띄운다. 그러니 과금하고 게이트웨이 엔드포인트는 물리적 자원을 띄우지 않는다. 그냥 트래픽 경로만 AWS 내부망으로 틀어준다. S3랑 DynamoDB만 게이트웨이 방식을 지원하는 이유는 이 두 개가 초창기에 나왔기 때문임. 

 

Direct Connect는 온프레미스 데이터센터와 AWS를 이어주는 물리 네트워크 연결이다. 이걸 깔아두고 트래픽을 이 회선으로 보내주면 백업이 회사의 공용 인터넷 회선을 사용하지 않는다. Snowball은 일회성 대량 마이그레이션에 적합하다. 

 

우발적인 삭제로부터 데이터를 보호하려면 S3 버전 관리를 키거나 MFA 삭제를 켜야한다. MFA 삭제를 켜면 삭제할 때 인증 코드가 있어야 함. 버킷 정책은 데이터 자체를 복구하지는 않음.

 

SNS에서 바로 Lambda를 연결한다면 네트워크 문제로 Lambda 처리가 실패할 때 SNS 는 몇 번 재시도 후 이벤트를 버린다. SQS 대기열을 끼워두면 메세지를 안전하게 처리할 수 있다. 

 

Amazon Macie는 머신러닝을 사용해서 S3에 저장된 데이터에서 PII같은 민감 정보를 자동으로 분류해준다. 관리형 서비스니까 PII 탐지 로직을 직접 개발할 필요가 없읜 편함. Lambda는 최대 실행 시간이 15분이라서 초대용량 파일을 다루기에 부적합하다. 

 

On-Demand Capacity Reservation은 특정 AZ에서 원하는 인스턴스 만큼의 EC2 용량을 확보한다. 그러니 단기 용량 보장에 딱 맞음. Reserved Instance는 n년 약정으로 인스턴스를 사용하는 대신 요금을 할인받는 개념이다. 가용 영역도 함께 지정해야 함. 

 

EFS는 관리형 공유 파일 시스템으로 여러 AZ에 걸쳐 중복 저장하고 여러 EC2 인스턴스가 접근할 수 있으니 좋음. 인스턴스 스토어 파일을 EFS로 옮기면 데이터도 보존되고 여러 서버가 같은 카탈로그를 공유할 수 있다. 카탈로그는 그냥 말 그대로 상품 목록을 말한다. 다만 데이터베이스 레코드가 아니라 파일로 저장되어 있음. EFS는 파일 시스템이고 EC2에 마운트하면 평소처럼 파일 경로로 읽고 쓴다. S3는 객체 스토리지라서 API를 호출하도록 애플리케이션을 다시 작성해야 함. 

 

Glacier Deep Archive는 복원에 12시간 걸리니 오래된 파일 조회가 힘들다. 언제 조회될지 모르는 무작위 패턴이면 Intelligent-Tiering 를 사용하는게 합리적. Glacier Flexible Retrieval은 Deep Archive 보다는 비싸지만 복원 시간이 짧다. 

 

Systems Manager Run Command를 사용하면 모든 EC2 인스턴스에 패치를 적용할 수 있다. 패치 대상이 타사 소프트웨어고 빠르게 적용해야 하니 Systems Manager Patch Manager는 안된다. 이거는 AWS 서비스에만 적용할 수 있음. 

 

EventBridge 예약 이벤트로 매일 Lambda를 호출해 REST API를 쿼리하고 SES로 이메일 보고서를 발송한다. AWS Glue는 대규모 데이터에 대한 ETL을 수행하니 단순한 REST API에서는 경량 커스텀 로직을 위한 Lambda가 적합하다. 

 

Windows 워크로드를 사용하고 Windows 파일 공유를 사용한다면 Windows 방식을 유지해야 한다. Windows는 SMB 프로토콜을 사용하니 Amazon FSx for Windows File Server가 적합하다. Window Server 기반의 완전관리형 파일 시스템으로 SMB 지원함. EFS는 Linux용 파일 시스템이니 Windows 클라이언트에서는 적합하지 않다. 

 

프라이빗 서브넷에서 실행되는 EC2만 RDS 데이터베이스에 엑세스 가능해야 한다. 보안 그룹은 기본적으로 모든 인바운드 트래픽을 거부한다. 애초에 거부 규칙이 없다. 

 

ACM 인증서는 리전에 종속되니 어떤 서비스에 붙이는지에 따라 리전이 달라진다. 리전 API Gateway 엔드포인트에 인증서를 붙일 때는 API Gateway가 배포된 것과 동일한 리전의 ACM 인증서를 사용한다. AWS Certificate Manager는 SSL/TLS 인증서를 발급하고 관리해주는 AWS 서비스이다. ACM 에서 받아서 AWS 에 쓰는 공인 인증서는 무료고 자동으로 갱신해줌. 다만 CloudFront와 엣지 최적화 API Gateway는 글로벌 엣지 기반이라 us-east-1 인증서를 참조한다. 

 

AWS Rekognition은 이미지와 비디오를 분석하는 완전관리형 AI 서비스이다. 객체 얼굴 인식 텍스트 추출을 지원함. 신뢰도 점수도 같이 반환해주니 애매한 경우에만 사람이 검토하도록 하면 좋음. Comprehend는 텍스트를 읽고 이해한다. 어떤 언어로 쓰였는지 판별할 때 사용함. SageMaker는 데이터 준비하고 모델 학습시키고 튜닝해서 배포하고 전 과정을 지원한다. Transcribe는 STT이다. Polly는 TTS이다. Textract는 보고서에서 텍스트를 추출한다. 

 

Fargate는 서버리스 컨테이너 실행 환경으로 컨테이너에 필요한 CPU와 메모리만 지정하면 알아서 준비한다. Fargate에서 ECS를 사용하면 됨. 

 

클릭스트림은 사용자가 웹사이트에서 클릭하고 이동하는 행동을 말한다. 수집 단계는 Kinesis Data Streams. 전송 및 적재는 Kinesis Data Firehose. Firehose는 스트림 데이터를 S3같은 목적지에 자동 적재해준다. 분석 단계는 Redshift. 대규모 데이터를 SQL로 분석하는 데이터 웨어하우스이다. EMR은 Elastic MapReduce로 대규모 데이터를 분산 처리하는 빅데이터 플랫폼이다. Hadoop Spark를 AWS에서 클러스터 형태로 쉽게 쓸 수 있음. 편하긴 한데 완전 서버리스는 아니다. AWS Data Pipeline은 정해진 일정에 데이터를 옮기는 배치 도구이다. (클릭스트림과는 맞지 않음) 

 

ALB가 HTTP와 HTTPS를 각각 처리하도록 구성되어 있다면 HTTP요청을 HTTPS로 리다이렉트 하면 된다. ELB는 AWS의 로드밸런싱 서비스 전체를 가리키는 상위 개념이고 ELB 아래에 ALB NLB GWLB 가 있다. HTTP 기반은 ELB, TCP/UDP 기반은 NLB, 타사 방화벽 및 보안 어플라이언스는 GWLB.

 

AWS Secrets Manager는 자격 증명을 Secret Manager에 안전하게 저장하고 애플리케이션을 실행 시점에 API로 가져올 때 사용한다. RDS와 통합되어 있으니 교체 주기만 설정해두면 비밀번호 생성과 RDS 반영을 자동으로 처리한다. 

 

ACM이 직접 발급하는 인증서는 자동 갱신이 되지만 외부에서 발급받은 인증서를 가져오는 경우 자동 갱신이 안되니 알림 받고 수동으로 교체하는게 최선이다. EventBridge로 이벤트를 발생시킬 수 있음.

 

S3는 파일 저장에 최적화되어있음. 용량도 사실상 무제한이고 저장 단가도 굉장히 저렴하다. 그냥 PUT 과 Lambda로 구축하기 정말 좋음. EC2 인스턴스를 상시 운영하면 비용이 많이 발생한다. EFS를 쓰면 EC2를 상시 운영할 수 밖에 없는구조이다. 단가도 S3가 가장 저렴하다. 

 

Windows 워크로드를 AWS로 이전하고 있다. Windows를 버리는게 아니라 기존 파일 엑세스 패턴을 변경할 필요가 없다는거니 SMB 파일 공유 방식을 그대로 유지해야 하니 FSx for Windows File Server가 필수이다. 일부는 AWS에 있고 일부는 온프레미스에 남아있으니 최소 지연으로 파일에 접근해야 한다. AWS쪽은 FSx for Windows File Server가 담당하고 온프레미스 쪽은 Amazon FSx File Gateway가 담당한다. 

 

API Gateway는 클라이언트 요청을 받아서 백엔드로 전달해주는 관리형 서비스를 의미함. ALB와 API Gateway는 하나만 쓰는 경우가 많음. 람다 쓰는 서버리스라면 API Gateway가 진입점. 백엔드가 EC2나 컨테이너면 ALB가 진입점. 

 

즉각적인 엑세스가 필요한 경우 S3 Glacier 사용은 적합하지 않다. 이 경우 S3 Standard-Infrequent Access가 필요하다. 

 

SQS에는 중복 메세지가 없는데 RDS에는 중복 레코드가 생긴다는 건 같은 메세지가 두 번 이상 처리된다는 것. EC2 인스턴스가 메세지를 받아가면 SQS는 메세지를 삭제하지 않고 일정 시간동안 다른 소비자에게 보이지 않게 숨겨둔다. 이 숨기는 시간이 가시성 초과 시간. 소비자가 처리 도중 죽어버릴 수 있으니 이렇게 하는 것. 처리 시간이 가시성 시간 초과보다 길 때 문제가 발생함. SQS FIFO 대기열은 한 번 처리를 보장하지만 기존 표준 대기열 구조를 유지하기에 가시성 시간 초과 조정이 답이다. 

 

VPN은 공용 인터넷 위에 암호화된 터널을 얹는 방식이기에 지연과 대역폭이 인터넷 상황에 따라 변한다. Direct Connect는 AWS와 온프레미스를 이어주니 지연이 일관된다. 기본 연결은 Direct Connect로 하되 장애 시 VPN으로 전환해야 한다. 문제에서 비용을 최소화 해야 한다고 했으니.. 여기에 집중해야 함. 

 

RPO - Recoveru Point Objective로 데이터를 얼마나 잃어도 되는지를 의미한다. 15분이라면 장애 발생부터 최대 15분 전 까지의 데이터는 복구할 수 있어야 됨을 의미. 

RTO - Recovery Time Object로 복구에 얼마나 걸려도 되는지를 의미한다. 

DynamoDB의 지정 시간 복구는 테이블의 변경사항을 지속적으로 백업하는 기능이다. 활성화하면 35일 중 어떤 시점으로든 복구할 수 있음. EBS 스냅샷은 EC2에 연결된 블록 스토리지를 위한 기능이다. 

 

배스천 호스트(Bastion Host)는 외부 네트워크에서 내부 네트워크로 안전하게 접속할 수 있도록 설계된 중계 서버를 의미함. 사내 네트워크는 192.168.0.0/16이나 10.0.0.0/8을 사용하는데, 이 사설 IP는 사내에서만 유효하다. 사내 PC가 인터넷을 통해 외부로 나갈 때는 NAT를 수행하기에 공인 IP로 바뀐다. 배스천 호스트 입장에서는 공인 IP를 보기에 공인 IP 범위를 허용해야 한다. 애플리케이션 인스턴스는 프라이빗 서브넷에 있고 배스천 호스트를 거쳐서 접근할 수 있으니 외부 네트워크를 타지 않아도 된다. 

 

인바운드는 나한테 들어오는 트래픽이고 아웃바운드는 내 리소스에서 외부로 나가는 트래픽을 의미한다. 보안 그룹은 인바운드로 허용된 요청의 응답을 자동으로 내보내준다. 웹서버에 접속하는걸 허용하면 돌려주는 응답은 아웃바운드를 따로 걸지 않아도 된다. 그러니 보안 그룹에서는 인바운드만 신경쓰면 된다. 

 

0.0.0.0/0 은 모든 IP를 의미한다. 보안 그룹에서 소스를 저렇게 지정하면 전 세계 어디서든 접속이 허용됨을 의미함. 공개 웹사이트면 저거로 여는게 맞는데, SSH RDP DB 같은거를 개방해두면 전 세계 공격자가 다 공격시킬 수 있으니 주의해야 함. 

 

규칙을 설정하는 대상은 데이터베이스 계층 보안 그룹이고, 그 규칙의 내용은 웹 계층 보안 그룹으로부터 오는 포트 1433을 허용하는 것. 인바운드의 소스가 웹 계층 보안 그룹이다. 웹 계층 보안 그룹이라는건 두 개임. 하나는 규칙을 설정하는 위치로서의 보안 그룹, 다른 하나는 규칙 안에서 소스로 참조되는 보안 그룹. 

 

오버로드 발생 시 트랜잭션이 삭제된다면 서버를 키워도 용량을 초과하는 순간 유실된다. 유실을 막으려면 처리하지 못한 요청을 담아두는 곳이 필요한데, 이게 SQS. SQS로 계층 간 통신을 연결하면 아무리 바빠도 요청이 큐에 안전하게 쌓인다. 오버로드가 와도 트랜잭션이 삭제되지 않고 큐에서 대기하게 된다. Lambda를 함께 사용하고 API Gateway를 앞에 두면 무한 확장 서버리스 구조가 됨. 용량을 키우는건 임시방편일 뿐이다. 

 

Kinesis Data Stream이 실시간 데이터를 받고 Firehose가 S3로 자동 적재한다. 변환은 Lambda가 수행함. 데이터 수집의 진입점으로 EC2 인스턴스는 좋지 않음. OS 패치 확장 등등 이런걸 직접 관리해야 하니 API Gateway 관리형 서비스로 서버리스하면 더 좋음. 

 

AWS Backup은 DynamoDB EBS RDS EFS 등의 백업을 중앙에서 관리하는 관리형 서비스. 백업 일정을 설정해 백업하고 보존 정책을 설정해 보존 기간을 설정한다. DynamoDB는 지정 시간 복구를 사용해 35일 까지만 복원할 수 있다. 실수로 삭제했을 때 복원하는 용도로 사용한다. 

 

사용량 예측이 안 되니 프로비저닝은 의미가 없다. 프로비저닝은 초당 읽기/쓰기를 몇 번 처리할지 정해주는 방식인데 Auto Scaling을 붙이면 트래픽에 따라 지정값을 늘리고 줄일 수 있다. 온디맨드가 가장 적합한 선택이다. 

 

AMI는 EC2 인스턴스를 시작할 때 사용하는 템플릿으로 서버를 찍어내는 틀을 의미한다. 세팅 다 해두고 AMI 로 만들어내면 인스턴스 찍어낼 수 있음. Auto Scaling 그룹이 인스턴스를 늘린다면 AMI로 만들어지는 것. AMI가 암호화된 EBS 스냅샷 기반이면 KMS 키 공유도 필요함. MSP는 AWS 인증을 받은 파트너 회사로 AWS 환경 설계해주는 업체임. AMI 공유는 launchPermission 속성을 수정한다. 어떤 계정이 이 AMI로 인스턴스를 시작할 수 있는지를 지정하는 속성이다. KMS 키 정책을 수정하면 MSP 파트너 계정이 그 키를 사용할 수 있다. AMI만 공유해도 EBS 스냅샷이 KMS 키로 암호화 되어 있으면 파트너가 인스턴스를 시작할 수 없다. 

 

ACM에는 만료 알림 규칙을 설정하는 기능이 없다. AWS Config에는 인증서 만료를 확인하는 관리형 규칙이 있어서 보안팀에 알림을 보낼 수 있음. 

 

CloudFront는 정적 컨텐츠만 캐싱하지 않는다. 동적 컨텐츠 가속도 처리함. 요청을 오리진까지 전달하되 AWS의 최적화된 네트워크를 사용한다. 그러니 동적 웹사이트에도 CloudFront를 사용할 수 있음. 

 

EC2 구매 옵션은 여러개. 온드맨드는 필요할 때 켜서 쓴 만큼 낸다. 단가가 가장 비싸니 언제 켜고 끌지 예측하기 어렵거나 짧게 쓰는 경우 적합함. 예약 인스턴스는 1년 3년을 미리 약정하는 대신 크게 할인받는다. 장기간 꾸준히 켜져있는게 확실하다면 사용하자. 스팟 인스턴스는 AWS의 남는 여유 용량을 저렴하게 사용하지만 AWS가 언제든 회수할 수 있다. 중단되면 큰일남. 스팟 블록은 스팟의 변형으로 지정한 시간동안은 보장해준다. 

 

수정하거나 삭제할 수 없어야 하면 S3 Object Lock을 사용함. S3의 ACL은 이 버킷에 어떤 계정이나 그룹이 읽고 쓸 수 있는지를 지정하는 제어를 의미한다. 그런데 이건 구식 방식이니 IAM 으로 하는게 훨씬 낫다.

 

AWS에서는 데이터가 egress에 따라서 전송 요금이 발생한다. 그러니 데이터 공유할 때 요청자 지불 기능을 활성화하면 데이터를 요청해서 가져가는 쪽이 돈을 내게 됨. 교차 계정 엑세스를 설정하더라도 데이터를 가져갈 때 발생하는 비용은 버킷 소유자가 부담한다. 

 

Aurora는 항상 3개의 AZ에 6개의 복제본을 가진다. Aurora 복제는 전체를 물리적으로 복사하지 않고 copy-on-write 방식으로 즉시 복제본을 만들 수 있다. 원본을 그대로 읽는 작업이 아니라서 복제가 빠르다. mysqldump는 오래걸리니까 별로임. 

 

IAM은 기본적으로 모든 것을 거부한다. 명시적으로 Allow가 있을 때만 허용함. 어떤 작업이 Allow여도 하나라도 Deny에 걸린다면 작업은 거부된다. 

 

SQS FIFO 대기열은 순서 보장과 정확히 한 번만 처리하도록 하지만 대기열에 중복 메세지가 들어오는게 원인이 아니라 가시성 시간 초과 만료로 같은 메세지가 다시 처리되는 경우는 해결할 수 없다. 

 

Lustre는 고성능 파일 시스템을 위한 서비스로 HPC나 머신러닝이나 고성능 워크로드에 사용함. 매우 빠르게 처리한다. FSx라고 무조건 윈도우는 아니다. Lustre 파일 시스템이 필요한거고 여기서 필요한건 FSx for Lustre이다. 

 

KMS는 암호화 키를 안전하게 관리하고 암복호화를 수행한다. 매우 안전하고 실시간 암복호화 가능함. EBS는 단일 AZ에 종속되니 고가용성이 아니다. S3는 여러 AZ에 걸쳐 데이터를 저장하니 고가용성임.

반응형
저작자표시 (새창열림)

'DevOps > Cloud Service' 카테고리의 다른 글

[AWS] Serverless Architecture  (0) 2025.02.27
[AWS] Decoupling System  (0) 2025.02.19
[AWS] S3 - Simple Storage Service  (0) 2025.01.22
[AWS] Route53  (2) 2025.01.18
[AWS] RDS - Relational Database Service  (0) 2025.01.17

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [AWS] Serverless Architecture

    [AWS] Serverless Architecture

    2025.02.27
  • [AWS] Decoupling System

    [AWS] Decoupling System

    2025.02.19
  • [AWS] S3 - Simple Storage Service

    [AWS] S3 - Simple Storage Service

    2025.01.22
  • [AWS] Route53

    [AWS] Route53

    2025.01.18
다른 글 더 둘러보기

정보

천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

  • 천천히 꾸준히 조용히의 첫 페이지로 이동

검색

방문자

  • 전체 방문자
  • 오늘
  • 어제

카테고리

  • 분류 전체보기 (711)
    • Algorithm (205)
      • Data Structure (5)
      • Theory && Tip (33)
      • Baekjoon (166)
      • ALGOSPOT (1)
    • Spring (123)
      • Spring (28)
      • Spring Web MVC (20)
      • Spring Database (14)
      • Spring Boot (6)
      • Spring 3.1 (11)
      • Spring Batch (6)
      • Spring Security (16)
      • JPA (12)
      • Spring Data JPA (5)
      • QueryDSL (4)
      • eGovFramework (1)
    • Programming Language (74)
      • C (25)
      • C++ (12)
      • Java (19)
      • JavaScript (15)
      • Python (1)
      • PHP (2)
    • Computer Science (163)
      • Machine Learning (38)
      • Operating System (18)
      • Computer Network (28)
      • System Programming (22)
      • Universial Programming Lang.. (8)
      • Data Science (11)
      • Embedded Software (10)
      • Computer Architecture (4)
      • Compiler Design (11)
      • Computer Security (13)
    • Database (21)
      • Database (7)
      • MySQL (3)
      • Oracle (3)
      • Redis (5)
      • Elasticsearch (3)
    • DevOps (22)
      • Docker && Kubernetes (9)
      • Jenkins (4)
      • Cloud Service (9)
    • Mobile (28)
      • Android (21)
      • Flutter (7)
    • 💡 솔루션 (17)
    • 👥 모각코 (12)
    • 💬 기록 (14)
    • 📚 논문 (7)
    • -------------- (25)

최근 글

나의 외부 링크

메뉴

  • 홈
반응형

정보

i3months의 천천히 꾸준히 조용히

천천히 꾸준히 조용히

i3months

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Daum. Copyright © i3months.

티스토리툴바