[AWS 캠프] 4일차 - Architecting on AWS (2)

SummerToday·2024년 7월 4일
0

05. 스토리지


스토리지 서비스


클라우드 스토리지 개요

  • 블록 스토리지(EBS)

    • 블록 단위로 읽고 쓰여지는 스토리지를 의미한다.

    • 서버의 CPU와 Memory가 개입하게 되고 서버 한대로 처리한다. -> 서버의 성능에 따라 스토리지 성능이 좌우된다.


  • 파일 스토리지(EFS, FSx)

    • 서버와 NAS가 파일 단위로 데이터를 주고 받는다.

    • 블록 스토리지와 마찬가지로 CPU와 Memory가 개입하게 되고 서버 한대로 처리한다. -> 서버의 성능에 따라 스토리지 성능이 좌우된다.

    • 데이터의 수정이 용이하다.


  • 객체 스토리지(S3)

    • 여러대의 서버가 나누어 데이터를 처리하기 때무에 읽기 성능이 빠르다. 하지만 쓰기 성능은 파일 스토리지와 블록 스토리지보다 느리다.

    • 읽기 처리가 많은 워크로드에 적합하다.

    • 정적 웹 사이트의 호스팅에 유용하다.


Amazon S3 개요

Amazon S3

  • 스토리지 용량을 지정할 필요가 없다.

  • 개별 객체의 크기는 5TB를 초과할 수 없다.

  • 사용한만큼 비용이 지불된다.


Amazon S3 사용 사례

  • 백업 및 복원

    • 데이터 및 파일 수준 백업 및 복원 프로세스를 위한 내구성이 우수한 저장소로 사용될 수 있다.

  • 분석용 데이터 레이크

    • 빅 데이터 분석, 인공 지능(AI), 기계 학습(ML), 고성능 컴퓨팅(HPC) 애플리케이션을 실행하여 데이터 인사이트를 파악할 수 있다.

  • 미디어 저장 및 스트리밍

    • S3를 Amazon CloudFront의 엣지 로케이션과 함께 활용하면 안전하고 확장이 가능한 방식으로 온디맨드 비디오를 호스트할 수 있다.

  • 정적 웹 사이트

    • S3를 사용하여 정적 웹 사이트를 호스트할 수 있다. 웹 페이지는 클라이언트 측 스크립트를 포함할 수도 있다. Amazon S3의 객체 스토리지를 활용하면 정적 파일의 데이터 액세스, 복제 및 데이터 보호를 더욱 쉽게 관리할 수 있다.

  • 아카이빙 및 규정 준수

    • 테이프 대신 저렴한 클라우드 백업 워크 플로를 진행할 수 있다.

버킷 및 객체

  • Amazon S3는 데이터가 버킷 내에 객체로 저장된다.

  • 객체에는 파일과 해당 파일을 설명하는 메타데이터가 포함된다.

  • 버킷과 버키 내 객체에 대한 액세스를 제어할 수 있다.


객체 보호


Amazon S3 액세스 제어


버킷 정책

  • JSON 문서의 최대 크기는 20KB까지 가능하다.

  • Principal:"*" -> 퍼블릭 설정


Amazon S3 퍼블릭 액세스 차단


Amazon S3 액세스 포인트

  • 액세스 포인트별로 정책을 설정할 수 있다.

  • DNS 이름과 ARN, 고유한 권한 및 네트워크 제어 설정을 각 액세스 포인트에 적용된다.


서버측 암호화 키 유형

  • S3는 기본적으로 서버측 암호화를 지원한다.

  • 다음과 같은 암호화 키 유형들이 존재한다.

    • Amazon S3 관리형 키(SSE-S3)

    • AWS KMS 키(SSE-KMS)

    • 이중 계층 서버 측 암호화(DSSE KMS)

    • 고객 제공 키(SSE-C)


객체 저장


Amazon S3 스토리지 클래스

  • Standard

    • 3개 이상의 가용영역에 중복 저장

  • Standard-IA

    • 최소 30일의 저장 기간이 존재한다. -> 30일 저장을 안해도 30일만큼의 저장 비용이 발생한다.

  • One Zone-IA

    • 하나의 가용 영역에 저장

  • S3 Glacier Instant Retrival

  • S3 Flexible Retrieval


Amazon S3 Intelligent-Tiering

  • 성능에 영향을 주지 않고 데이터 액세스 패턴이 변경될 떄 자동으로 스토리지 비용을 절감할 수 있는 유일한 스토리지 등급이다.

  • 사용 패턴 변화에 따라 데이터가 액세스 티어 간에 이동한다.


Amazon S3 Glacier 스토리지 클래스 이점

  • 비용 효율적 스토리지

  • 유동적인 데이터 검색

  • 보안 및 규정 준수

  • 확장성과 내구성


Amazon S3 버전 관리

  • 객체 잠금

    • 거버넌스 모드

      • 객체 잠금 모드를 설정 했어도, 해당 객체를 지울 수 있는 권한을 부여할 수 있다.
    • 컴플라이언스 모드

      • 객체 잠금 모드를 설정하면, 해당 객체를 지울 수 있는 권한을 부여할 수 없다.

수명 주기 정책


S3 객체 복제


Amazon S3의 추가 기능


Amazon S3 멀티파트 업로드

  • 업로드 시간을 단축하기 위해 수행한다.

  • S3는 파일 전송이 중간에 끊기면 처음부터 다시 전송을 해야한다.

  • 콘솔에서는 지원이 안되고, CLI와 SK를 이용하여 구현해야한다.

  • 멀티파트 업로드를 할 시 중간에 업로드가 끊겨도 끊긴 부분부터 다시 업로드가 가능하다.


Amazon S3 Transfer Acceleration

  • 빠른 업로드와 다운로드가 가능하다.

S3 이벤트 알림

  • 버킷에서 특정 객체 이벤트가 발생할 때 알림을 받을 수 있다.

Amazon S3 비용 관련 요인


공유 파일 시스템 개요


공유 파일 시스템

  • Amazon EBS는 일반적으로 인스턴스 하나에 연결된다.

    but, EBS 다중연결을 통해 여러 인스턴스에 연결할 수도 있다.

  • 객체 스토리지는 파일 시스템용으로 구축되지 않는다.

  • 여러 인스턴스가 동일한 스토리지를 사용해야하는 경우에는 파일 시스템 주로 사용한다.

  • 웹 애플리케이션의 소스 코드 공유, 리눅스 사용자별 홈 디렉토리 공유, 상태 저장 데이터, 영구저장 데이터 저장 등에 사용 될 수 있다.


Amazon EFS

  • 연결할 서브넷의 인스턴스를 위해 마운트 포인트인 ENI를 별도로 구현해야 한다.

Amazon EFS 이점


Amazon FSx


데이터 마이그레이션 도구


AWS Storage Gateway

  • Storage Gateway는 하이브리드 스토리지 서비스이다.

  • 온프레미스 환경과 AWS 스토리지 간에 애플리케이션을 원할하고 안전하게 통합하는데 사용할 수 있는 서비스이다.

  • Sorage Gateway 어플라이언스를 ㅗㅇ해 클라우드 데이터에 액세스할 수있다.


Storage Gateway 유형


Storage Gateway 아키텍처


AWS DataSync


AWS Snow 패밀리 서비스 모델

  • AWS Snowcone

  • AWS Snowball Edge


06. 데이터베이스 서비스


데이터베이스 서비스


AWS 데이터베이스 서비스 비교


관계형 데이터베이스 및 비관계형 데이터베이스


적절한 데이터베이스 선택


관리형 서비스와 비관리형 서비스


Amazon RDS


Amazon RDS 기능

  • 하이드웨어, OS 및 데이터베이스 소프트웨어 배포 및 유지 관리

  • 기본 제공 모니터링

  • 저장 데이터 및 전송 데이터 암호화

  • 업계 규정 준수

  • 자동 다중 AZ 데이터 복제

  • 컴퓨팅 맟 스토리지 크기 조정

  • 최소한의 애플리케이션 가동 중단


Amazon RDS 데이터 엔진


Amazon RDS 다중 AZ 배포

  • 프라이머리 DB 인스턴스에는 Writer Endpoint가 존재

Amazon RDS 다중 AZ 장애 조치

  • Writer Endpoint가 프라이머리 DB로 옮겨감.

  • Failover(복구시간) 1분~2분 소요


읽기 전용 복제본

  • 프라이머리 DB 인스턴스는 Writer endpoint 사용

  • 읽기 전용 복제본은 Reader endpoint를 사용

  • 읽기 중심의 워크로드 처리를 위해 수평 크기 조정

  • 오프로드 리포팅

  • AWS 리전 간 복제가 가능

  • 읽기 전용 복제본이 프라이머리 DB로 승격이 가능하다.


저장 데이터 암호화


Amazon Aurora

  • 클라우드를 위해 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스이다.

  • 성능이 MySQL에 비해 5배, PostgreSQL에 비해 3배 뛰어나다.


Aurora DB 클러스터


PostgreSQL 및 MySQL용 Aurora Serverless v2

  • 잦은 사용이 예상되는 경우에는 인스턴스로, 불규칙한 워크로드에는 서버리스가 유리하다.

  • 1ACU = 2GB


Amazon DynamoDB


DynamoDB

  • 완전 관리형 NoSQL AWS 데이터베이스 서비스이다.

키 값 데이터


DynamoDB 사용 사례 1


DynamoDB 사용 사례 2


DynamoDB 테이블


DynamoDB 용량 및 크기 조정

  • 24시간마다 옵션을 교체할 수 있다.

DynamoDB 일관성 옵션

  • DynamoDB는 일반적으로 1초 내에 한 리전 내 3개의 가용 영역에 걸쳐 테이블 데이터를 복제한다.

  • 최종적으로 일관된 읽기 옵션

    • DynamoDB의 기본 옵션이다.

    • 최근 완료된 쓰기 작업의 결과를 반영하지 않을 확률이 1/3로 존재한다.

    • 잠시 후 읽기 요청을 반복하면 응답이 최신 데이터를 반환한다.


  • 강력한 읽기 일관성 옵션

    • DynamoDB는 성공한 모든 이전 쓰기 작업의 업데이트를 반영하여 가장 최신 데이터로 응답을 반환한다.

    • 지연이 발생될 수 있다.

    • 읽기 용량을 2배를 소비한다.


DynamoDB 글로벌 테이블

  • 글로벌 테이블은 리전 간 복제를 자동화 한다.

데이터베이스 캐싱


캐시해야 하는 항목

  • 쿼리 속도가 느리고 비용이 많이 드는 데이터

  • 자주 액세스하는 데이터

  • 비교적 정적 상태로 유지되는 정보


캐싱 아키텍처


일반적인 캐싱 전략 - 레인지 로딩


일반적인 캐싱 전략 - 라이트 스루


캐시 관리

  • 캐시 유효성

    • 부실 데이터(자주 액세스x 데이터)를 최소화하려는 경우 TTL(Time To Live) 값을 각 애플리케이션 쓰기에 추가할 수 있다.

  • 메모리 관리

    • 캐시 메모리가 가득 차면 선택한 제거 정책에 따라 캐시에서 데이터가 제거된다.

    • 제거 정책은 사용한 지 가장 오래된 데이터와 사용 빈도가 가장 낮은 데이터 항목의 조합을 평가할 수 있다.


Amazon ElasiCache


ElastiCache 엔진


Amazon DynamoDB Accelerator(DAX)


데이터베이스 마이그레이션 도구


AWS Database Migration Service

  • 이기종 데이터베이스 마이그레이션 (스키마 변경)

  • 데이터베이스 통합

  • 지속적 데이터 복제

  • 데이터베이스, Amazon S3, AWS Snowball Edge 또는 다른 서비스를 가리킬 수 있다.


AWS Schema Conversion Tool


실습 3: Amazon VPC 인프라에 데이터베이스 계층 생성

  • 완료

  • cf.

    • RDS 생성 전 서브넷 그룹을 생성하고 RDS를 배치해야 한다.

    • ALB는 가용영역1과 가용영역2에 걸쳐 만들었다.

    • 데이터베이스 연동 정보는 AWS Systems Manager Parameter Store에 저장되어 있다.


07. 모니터링 및 크기 조정


모니터링


모니터링하는 이유

  • 운영 상태
    운영 가시성 및 인사이트를 확보한다.

  • 애플리케이션 성능
    성능 스택의 모든 계층에서 데이터를 수집한다.

  • 리소스 사용률
    리소스 최적화를 개선한다.

  • 보안 감사
    증거 수집, 보안 및 무결성을 자동화 및 관리한다.


Amazon CLoudWatch

  • 지표 및 로그를 거의 실시간으로 수집한다.

  • 모니터링 데이터를 한 위치에서 액세스한다.

  • 경보를 생성하고 알림을 전송한다.

  • 규칙에 따라 리소스 용량 변경을 시작한다.

  • 대시보드를 생성하고 관찰할 수 있다.


CloudWatch 지표

  • 지표는 시스템 성능 관련 데이터이다.

  • CloudWatch는 지표를 수집 및 추적하므로 데이터를 검색하고 시각화할 수 있다.


로그 유형


CloudWatch Logs 예제


AWS CloudTrail

  • AWS 인프라에서 계정 활동을 로깅하고 모니터링한다.

  • 대부분의 AWS 서비스에 대한 API호출 상호 작용을 기록한다.

  • Amazon S3에 로그를 자동으로 저장한다.

  • ex.

    • 특정 인스턴스를 종료한 사용자

    • 권한 부족으로 인해 거부된 활동

    • 보안 그룹 구성을 변경한 사용자

  • ex.


VPC 흐름 로그


흐름 로그 레코드의 내용


경보 및 이벤트


CLoudWatch 경보


경보 상태


경보 구성 요소


Amazon EventBridge


예: CloudWatch 경보에 대한 자동화된 응답


로드 밸런싱


Elastic Load Balancing(ELB)

  • 여러 대상에 자동으로 트래픽 분산

  • 고가용성 제공

  • 보안 기능 통합

  • 상태 확인 수행


ELB 로드 밸런서 유형


ELB 로드 밸런서 구성 요소


ELB 일반 기능


자동 크기 조정


AWS Auto Sciling


Amazon EC2 Auto Sciling

  • 애플리케이션 로드 처리하는데 사용할 수 있는 EC2 인스턴스를 제어할 수 있도록 지원

  • 지정된 조건에 따라 AWS 리소스 시작 또는 종료

  • 지정된 경우, 로드 밸런서에 새로운 인스턴스를 등록


탄력성: 확장 및 축소


Amazon EC2 AutoScailing 구성 요소


시작 템플릿


### 그룹 용향
### Amazon EC2 Auto Scailing 호출

Amazon EC2 Auto Scailing을 사용하는 크기 조정 방법


Amazon EC2 Auto Scailing을 사용하여 비용 최적화


08. 자동화


AWS CloudFormation 개요


코드형 인프라(IaC)

  • 복제, 재배포, 용도 변경이 가능하다.

  • 인프라와 애플리케이션의 버전 관리를 제어할 수 있다.

  • 드리프트를 탐지할 수 있다.

  • 서비스를 마지막 정상 상태로 롤백할 수 있다.


IaC의 이점 - 재사용성


IaC의 이점 - 업데이트


AWS CloudFormation

  • 기본적으로

CloudFormation 이해


스택


여러 템플릿 사용


인프라 관리

인프라 도구


AWS Elastic Beanstalk


AWS 솔루션 라이브러리


AWS CDK

  • 지원되는 언어를 사용하여 템플릿 생성

AWS System Manager

  • 프로비저닝 및 권한 부여

  • 구성 관리

  • 운영 및 규정 준수 관리

  • 모니터링


실습 4: Amazon VPC에서 고가용성 구성

profile
IT, 개발 관련 정보들을 기록하는 장소입니다.

0개의 댓글

관련 채용 정보