반응형
Amazon Athena
Amazon Athena
- S3 버킷에 저장된 데이터 분석에 사용하는 서버리스 대화형 쿼리 서비스
- 데이터 분석을 위해서는 표준 SQL 언어로 파일을 쿼리해야 함
- CSV, JSON, ORC, Avro, Parguet 등 다양한 형식 지원
- 스캔된 데이터의 TB당 고정 가격 지불 형식, 프로비저닝 필요 없음
- Athena는 Amazon QuickSight라는 툴과 함께 사용하는 경우가 많음
- 임시 쿼리 수행이나 BI 분석 및 보고, AWS 서비스에서 발생하는 모든 로그를 쿼리로 분석하는 데 활용
- VPC Flow 로그, ELB 로그, CloudTrail 등이 해당
- 서버리스 SQL 엔진을 사용한 Amazon S3 데이터 분석이라는 말이 나오면 Athena를 떠올릴 것
- 열 (Column) 기반 데이터 유형을 사용하여 비용 절감 가능, Apache Parquet이나 ORC 권장
- 파일이 클수록 스캔과 검색이 쉬움 (128MB 이상)
- 연합 쿼리 기능으로 S3 뿐만 아니라 어떤 곳의 데이터도 쿼리 가능 (관계형 DB, 비관계형 DB, 객체 등)
Amazon Redshift
Amazon Redshift
- 데이터베이스이자 분석 엔진
- Redshift는 PostgreSQL 기술 기반이지만 온라인 트랜잭션 처리(OLTP)에 사용되지는 않음
- 온라인 분석 처리 (OLAP) 유형의 데이터베이스이며 분석과 데이터 웨어하우징에 사용
- 열 기반 데이터 스토리지 사용
- 프로비저닝 한 인스턴스에 대한 비용 지불
- 쿼리 수행 시 SQL 문 사용 가능
- Amazon Quicksight나 Tableau 같은 BI 도구와 통합 가능
- S3의 임시 쿼리라면 Athena, 쿼리가 많고 복잡하며 집계하는 등 집중적인 데이터 웨어하우스라면 Redshift
- Redshift 클러스터
- Leader Node - 쿼리를 계획하고 결과를 집계
- Compute Node - 실제로 쿼리를 실행하고 결과를 리더 노드에 전송
- 노드 크기를 미리 프로비저닝해야 하고, 비용 절감을 위해 예약 인스턴스 사용 가능
Amazon Redshift - 스냅샷 & 재해 복구
- 다중 AZ 지원하지 않고 클러스터가 한 개의 AZ에 있으므로 재해 복구 전략 적용을 위해 스냅샷 사용해야 함
- 스냅샷은 클러스터의 지정 시간 백업으로 Amazon S3 내부에 저장
- 새로운 Redshift 클러스터에 스냅샷 복원 할 수 있음
- 스냅샷 자동화 - 8시간마다 또는 5GB마다 자동으로 생성되도록 일정 예약 가능, 스냅샷의 보존 기간 설정 가능
- 수동 스냅샷 - 직접 삭제할 때까지 보존
- 자동이든 수동이든 상관없이 클러스터의 스냅샷을 다른 AWS 리전에 자동으로 복사하도록 Redshift 구성 가능
Amazon Redshift - 데이터 주입
- Amazon S3 버킷에 데이터를 작성하면 KDF가 S3 복사 명령을 실행하여 Redshift로 데이터 복사
- S3에서 데이터 로드, Redshift에서 복사를 실행하면 IAM 역할을 사용해 버킷에서 Redshift 클러스터로 데이터를 복사
- JDBC 드라이버를 사용해 Redshift 클러스터로 데이터를 삽입
Amazon Redshift Spectrum
- S3에 있는 데이터를 로드하지 않고 쿼리 하는 기능
- Redshift Spectrum을 사용하기 위해서는 쿼리를 시작할 수 있는 Redshift 클러스터 구성이 필수
- 이 기능을 사용하면 프로비저닝 한 것보다 더 많은 처리 능력을 활용할 수 있음
Amazon OpenSearch
Amazon OpenSearch
- Amazon ElasticSearch의 후속 서비스
- DynamoDB는 기본 키나 데이터베이스의 인덱스로만 데이터를 쿼리
- OpenSearch로는 부분적으로 일치하는 필드를 포함해 모든 필드를 검색 가능
- 애플리케이션에서 검색 기능을 제공하거나 다른 데이터베이스를 보완, 쿼리 분석하는 데 사용
- 서버리스 서비스가 아니므로 인스턴스에 클러스터를 생성해야 사용 가능
- 자체 쿼리 언어가 있어서 SQL 지원하지 않음
- KDF, AWS IoT, CloudWatch Logs, 사용자 지정 애플리케이션의 데이터 주입 가능
- Cognito, IAM과 통합해 제공하는 보안을 통해 저장 데이터 암호화와 전송 중 암호화 가능
- OpenSearch 대시 보드로 데이터 시각화 가능
Amazon EMR
Amazon EMR
- Elastic MapReduce
- AWS에서 빅 데이터 작업을 위한 Hadoop 클러스터 생성에 사용
- Hadoop 클러스터가 있는 빅데이터와 관련된 내용이 나오면 Amazon EMR을 떠올릴 것
- Hadoop 클러스터는 프로비저닝해야 하며 수백 개의 EC2 인스턴스로 구성될 수 있음
- Amazon EMR은 Apache Spark, HBase, Presto, Flink 등과 같은 서비스에 관한 프로비저닝과 구성을 대신 처리
- 오토 스케일링으로 전체 클러스터 자동으로 확장 및 축소 가능
- 스팟 인스턴스와 통합되므로 가격 할인 혜택 받을 수 있음
- 데이터 처리, 머신 러닝, 웹 인덱싱, 빅데이터 작업에 활용
- Amazon EMR 노드 유형
- Master Node - 클러스터를 관리하고 다른 모든 노드의 상태를 조정, 장기 실행
- Core Node - Task를 실행하고 데이터를 저장, 장기 실행
- Task Node - 선택 사항, 대게 스팟 인스턴스를 사용
Amazon QuickSight
Amazon QuickSight
- Amazon QuickSight는 서버리스 머신 러닝 기반 비즈니스 인텔리전스 (BI) 서비스
- 시각화가 가능하고 빠르며 오토 스케일링 가능
- 비즈니스 분석, 시각화 구현, 시각화된 정보를 통한 분석, 데이터를 활용한 비즈니스 인사이트 획득 등에 활용
- RDS, Aurora, Athena, Redshift, S3 등 다양한 데이터 소스에 연결 가능
- SPICE 엔진이라는 인 메모리 연산 엔진을 Amazon QuickSight로 데이터를 직접 가져올 때 사용
- Enterprise Edition에서는 액세스 권한이 없는 사용자에게 일부 열이 표시되지 않도록 열 수준 보안 (CLS) 설정 가능
- 스탠다드 버전에서는 사용자를 정의할 수 있고 엔터프라이즈 버전에서 그룹을 정의할 수 있음
- QuickSight의 사용자와 그룹은 IAM 사용자와는 다름
- 대시 보드는 읽기 전용 스냅샷이며 분석 결과를 공유할 수 있고 분석의 구성(필터, 매개 변수, 정렬 등)을 저장
- 특정 사용자 또는 그룹과 분석 결과나 대시 보드를 공유할 수 있음
AWS Glue
AWS Glue
- Glue는 추출(extract), 변환(transform), 로드(load) 서비스를 관리하며 이를 ETL 서비스라고 함
- 분석을 위해 데이터를 준비하고 변환하는 데 유용
- 완전 서버리스 서비스
- Glue 주요 기능
- Glue Job Bookmarks - 새 ETL 작업을 실행할 때 이전 데이터의 재처리를 방지
- Glue Elastic Views - SQL을 사용해 여러 데이터 스토어의 데이터를 결합하고 복제, 서버리스 서비스
- Glue DataBrew - 사전 빌드 된 변환을 사용해 데이터를 정리하고 정규화
- Glue Studio - Glue에서 ETL 작업을 생성, 실행 및 모니터링하는 GUI
- Glue Streaming ETL - ETL 작업을 스트리밍 작업으로 실행, KDS, Kafka, MSK에서 이를 사용해 데이터 로드
AWS Lake Formation
AWS Lake Formation
- AWS Lake Formation은 데이터 레이크 생성을 수월하게 해주는 완전 관리형 서비스
- 데이터 레이크 - 데이터 분석을 위해 모든 데이터를 한 곳으로 모아 주는 중앙 집중식 저장소
- AWS Lake Formation은 데이터 레이크에서 데이터 검색, 정제, 변환, 주입을 돕는다.
- 데이터 수집, 정제, 카탈로깅과 같은 복잡한 수작업을 자동화하고 머신 러닝 변환 기능으로 중복 제거 수행
- 정형 데이터와 비정형 데이터 소스를 결합할 수 있음
- AWS Lake Formation에 연결된 애플리케이션에서 행, 열 수준의 세분화된 액세스 제어 가능
- AWS Lake Formation에 연결하면 한 곳에서 보안을 관리할 수 있다는 큰 장점
Kinesis Data Analytics
Kinesis Data Analytics (SQL Application)
- 완전 관리형 서비스로 서버를 프로비저닝 하지 않음
- 오토 스케일링 가능하고, 전송된 데이터만큼 비용을 지불
- 시계열 분석과 실시간 대시보드, 실시간 지표 등에 활용
Kinesis Data Analytics (Apache Flink)
- Apache Flink를 사용하면 Java, Scala, SQL로 애플리케이션을 작성하고 스트리밍 데이터를 처리 및 분석 가능
- 고급 쿼리 능력이 필요하거나 KDS, Kafka 등과 같은 서비스로부터 스트리밍 데이터를 읽는 능력이 필요할 때 사용
- 컴퓨팅 리소스 자동 프로비저닝
- 병렬 연산과 오토 스케일링 가능
- 체크포인트와 스냅샷으로 구현되는 애플리케이션 백업 가능
- KDF에서 데이터를 읽고 실시간 분석하기 위해서는 SQL 애플리케이션용 KDA 사용해야 함
Amazon MSK
Amazon MSK
- Apache Kafka용 Amazon 관리형 스트리밍 서비스
- Kafka는 Amazon Kinesis의 대안으로 데이터 스트리밍 지원
- Amazon MSK는 AWS의 완전 관리형 Kafka 클러스터 서비스
- 클러스터 내 Broker 노드와 Zookeeper 노드를 생성 및 관리
- 고가용성을 위해 VPC의 클러스터를 최대 3개의 다중 AZ에 배포
- 일반 Kafka 장애를 자동 복구하는 기능이 있고, EBS 볼륨에 데이터 저장 가능
- 서버리스 서비스로 프로비저닝이나 용량 관리가 필요 없음
Amazon MSK vs Kinesis Data Streams
- Amazon MSK
- 기본 1MB의 메세지 크기에 더 큰 메세지 보존을 위해 10MB로 설정 가능
- 파티션을 이용한 Kafka 주제 사용
- 파티션 추가로 주제 확장만 가능, 제거는 불가능
- 평문 또는 TLS 전송 중 암호화 기능
- KMS로 저장 데이터 암호화 가능
- Kinesis Data Streams
- 1MB의 메세지 크기 제한
- 샤드로 데이터를 스트리밍
- 용량 확장과 축소를 위해 샤드 분할 또는 샤드 병합이 가능
- TLS 전송 중 암호화 기능
- KMS로 저장 데이터 암호화 가능
반응형
'자격증 > SAA-C03' 카테고리의 다른 글
[SAA-C03] AWS 모니터링 및 감사 - CloudWatch, CloudTrail, Config (0) | 2023.09.14 |
---|---|
[SAA-C03] 머신 러닝 (0) | 2023.09.13 |
[SAA-C03] AWS 데이터베이스 (0) | 2023.09.11 |
[SAA-C03] Serverless - Lambda, DynamoDB, API Gateway (0) | 2023.09.08 |
[SAA-C03] AWS의 컨테이너 - ECS, ECR, EKS, App Runner (0) | 2023.09.07 |