✅ Redshift
- AWS에서 완전 관리형으로 제공해주는 클라우드 데이터 웨어하우스이다.
- 데이터 웨어하우스란 ?
수집한 여러가지 데이터를 추출 및 변환(ETL) 과정을 거쳐 적재하는 관계형 데이터베이스
- 데이터 웨어하우스란 ?
- 클러스터(노드 집합)를 생성하고 클러스터가 사용할 준비가 되면(프로비저닝 완료) 데이터 적재 및 분석이 가능하다.
- PostgreSQL을 기반으로 표준 SQL을 이용한 데이터 처리를 지원하고 BI도구로 분석할 수 있다.
✅ RedShift 구성 요소
- 클러스터
리더 노드와 하나 이상의 컴퓨팅 노드로 구성 - 리더 노드
SQL 연결 엔드포인트이다. 외부 어플리케이션은 리더 노드와 통신한다.
노드 간의 통신을 관리하는 노드로 메타데이터를 저장하고 클러스터의 모든 쿼리 수행을 관리한다. - 컴퓨팅 노드 : 실제 작업을 수행하는 노드로 노드마다 여러개의 슬라이스를 보유하고 있다.
병렬로 쿼리를 수행하고, S3 기반으로 백업 및 복구를 수행할 수 있다. - 슬라이스
각 노드는 여러개의 슬라이스로 구성되어 있다.
그 슬라이스는 별도의 메모리, CPU, 디스크 공간이 할당되어 있다.
슬라이스 별로 독립적인 워크로드를 병렬적으로 실행한다.
✅ RedShift 특징
- 머신러닝, 대량 병렬 쿼리 실행, 컬럼 기반 스토리지 등으로 인해 매우 빠르다.
- 간단하고 신속한 확장과 백업이 가능하다.
- 데이터 레이크 쿼리를 사용한다.
✅ RedShift 사용 방식
- kinesis를 이용해 실시간으로 data를 수집 및 S3에 적재
- 적재된 파일을 레드시프트 스펙트럼을 이용하여 분석
- 분석된 결과를 오로라 DB에 넣어 BI 등으로 시각화하거나, 별도의 화면을 구축(실시간 조회)
✅ Amazon SWF (Simple Workflow Service)
- Amazon Simple Workflow Service(Amazon SWF)는 분산 애플리케이션 구성 요소에서 작업을 쉽게 조정할 수 있도록 해주는 웹 서비스이다.
- 백그라운드 작업의 단계별 로직에 대한 제어 흐름 간의 분리를 목적으로 한다.
- 클라우드의 상태 추적기 및 작업 조정자의 역할을 한다.
- Amazon SWF를 사용하면 광범위한 사용 사례, 예를 들어 미디어 프로세싱, 웹 어플리케이션의 백엔드, 비즈니스 프로세스 워크플로우, 분석 파이프라인 등에 대한 어플리케이션을 여러 작업의 조정으로 설계할 수 있다.
- 작업은 어플리케이션의 다양한 처리 단계의 호출을 의미하며 실행 코드, 웹 서비스 호출, 사람의 활동 및 스크립트 등을 통해 수행할 수 있다.
✅ 장점
- Amazon SWF에서 처리단계 구현과 단계를 계속 진행할 작업의 조정을 개발자가 제어할 수 있습니다.
- 진행 상황을 추적하여 상태 정보를 유지하는 등 기본적으로 복잡한 작업은 개발자가 수행할 필요가 없습니다.
- SWF의 AWS Flow Framework를 사용하면 개발자가 비동기 프로그래밍을 통해 어플리케이션을 개발할 수 있습니다.
- Amazon SWF는 프로그래밍의 편이성뿐만 아니라 어플리케이션의 리소스 사용량, 지연 및 처리량 개선이 가능하다는 장점이 있습니다.
✅ AWS Trusted Advisor
- AWS Trusted Advisor는 AWS 모범 사례에 따라 리소스를 프로비저닝하는 데 도움이 되도록 실시간 지침을 제공하는 온라인 도구이다.
- AWS 인프라를 최적화하고 보안과 성능을 향상시키고 전체 비용을 절감하며 서비스 한도를 모니터링할 수 있다.
- 정기적으로 Trusted Advisor에서 제시하는 권장 사항을 활용하면 솔루션을 최적으로 프로비저닝된 상태로 유지하는 데 도움이 된다.
✅ 5가지 카테고리의 모범 사례 권장 사항
- 비용 최적화 : AWS Trusted Advisor는 미사용 및 유휴 리소스를 제거하거나 예약 용량을 약정하여 AWS에서 비용을 절감할 수 있습니다.
- 성능 : AWS Trusted Advisor는 서비스 한도를 점검하고 프로비저닝된 처리량을 활용하는지 확인하며 과다 사용되는 인스턴스를 모니터링함으로써 서비스 성능을 개선할 수 있습니다.
- 보안 : AWS Trusted Advisor는 결함을 없애고 다양한 AWS 보안 기능을 사용하며 권한을 점검하여 애플리케이션 보안을 개선할 수 있습니다.
- 내결함성 : AWS Trusted Advisor는 Auto Scaling, 상태 확인, 다중 AZ 및 백업 기능을 활용하여 AWS 애플리케이션의 가용성과 중복성을 향상시킬 수 있습니다.
- 서비스 한도 : AWS Trusted Advisor는 서비스 사용량이 서비스 한도의 80%를 넘는지 점검합니다. 값은 스냅샷을 기반으로 하므로 현재 사용량은 다를 수 있습니다. 한도 및 사용량에 변경 사항이 반영되는 데 최대 24시간이 걸릴 수 있습니다.
✅ AWS Cost Optimization
- 비용과 사용량을 보고 분석할 수 있는 도구
✅ Amazon Inspector
- AWS에 배포된 애플리케이션의 보안 및 규정 준수를 개선하는데 도움이 되는 자동 보안 평가 서비스
- 소프트웨어 취약성 및 의도하지 않은 네트워크 노출에 대해 AWS 워크로드를 지속적으로 스캔하는 자동화된 취약성 관리 서비스
✅ Amazon Cognito
- 추가적인 DB사용과 Security 구현 없이 유저 계정 관리, 자격증명(토큰 관리)를 사용할 수 있게 하는 서비스
✅ Amazon Cognito 구성 요소
- 사용자 풀
앱 사용자의 가입 및 로그인 옵션을 제공하는 사용자 디렉토리
사용자 풀에서 사용자는 Amazon Cognito 또는 타사 자격 증명 공급자(IdP)를 통해 연동하여 웹 또는 앱에 로그인할 수 있다.
사용자 풀의 모든 멤버는 디렉토리 프로필을 보유하며, SDK를 통해 이를 액세스 할 수 있다. - 자격 증명 풀
기타 AWS 서비스에 대한 사용자 액세스 권한을 부여할 수 있다.
자격 증명 풀로 사용자는 임시 AWS 자격 증명을 얻어 S3 및 DynamoDB 등과 같은 다른 AWS 서비스에 엑세스할 수 있다.
자격 증명 풀은 익명 게스트 사용자는 물론 자격 증명에 대한 사용자 인증에 사용할 수 있는 다음 자격 증명 공급자를 지원한다.
+ 멀티 팩터 인증(MFA)을 사용자 풀에 추가하여 사용자의 자격 증명을 보호할 수 있다.
MFA는 사용자 이름 및 암호에만 의존하지 않는 두 번째 인증 방법을 추가한다.
사용자 로그인에서의 두 번째 팩터로 SMS 문자 메시지 또는 일회용 암호(TOTP)를 선택하여 사용할 수 있다.
또한 위험 기반 모델에서 조정 인증을 사용하여 다른 인증 팩터가 필요할 때를 예측할 수 있다.
사용자 풀의 고급 보안 기능의 일부로, 손상된 자격 증명의 사용을 방지하는 기능도 포함되어 있다.
✅ AWS Lambda
- 서버를 프로비저닝, 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스이다.
- 고정 비용 없이 사용 시간에 대해서만 비용이 발생한다.
✅ Lambda 활용
- 서버를 띄우지 않고 간단한 코드를 실행시키고 싶은 경우
- 특정 기간 또는 특정 주기로 코드를 실행시켜야 하는 경우
- 트리거가 실행될때만 코드를 실행시키고 싶은 경우
✅ Lambda 주요 장단점
- 장점
- 인프라에 대한 걱정 없이 코드 실행 가능 -> NoOps 실현
- 트리거를 이용해 애플리케이션을 자동으로 확장/축소 가능.
- 코드가 병렬로 실행되고 각 트리거는 개별적으로 처리되어 정확히 워크로드 규모에 맞게 조정됨.
- 100ms 단위로 코드가 실행되는 시간 및 코드가 트리거되는 회수를 측정하여 요금을 부과하고, 코드가 실행되지 않을 때는 요금이 부과되지 않음.
- 단점
- 대기 시간이 길다. (Cold Start)
이벤트 중심의 서비스이기 때문에, 항상 실행되고 있지는 않다. (초기 지연 시간이 발생한다) - 상태 제한
- Dos (서비스 거부)
- 테스트 장애
- 대기 시간이 길다. (Cold Start)
✅ Lambda 호출 방식
- 동기식 호출
함수가 이벤트를 처리하여 응답을 반환하기를 기다린다. - 비동기식 호출
Lambda는 처리를 위해 이벤트를 대기열에 저장하고 즉시 응답을 반환한다.
함수가 오류를 반환하거나 병목 중인 경우 Lambda는 재시도를 처리하고, 호출 레코드를 대상에 보낼 수 있다.
✅ Amazon EFS
- Elastic File System의 약자로 EC2에서 사용할 수 있는 확장 가능한 파일 스토리지를 제공하는 서비스이다.
✅ EFS 특징
- 파일을 추가하고 제거할 때 자동으로 용량을 확장/축소하여 별도 관리 및 프로비저닝이 필요하지 않다.
- 하나의 EFS 파일 시스템을 여러 인스턴스에서 실행하는 워크로드 및 애플리케이션에 대한 공통 데이터 소스로 활용할 수 있다.
- EFS는 광범위한 워크로드에 필요한 처리량, IOPS 및 짧은 지연 시간을 제공하도록 설계되었다.
- EFS는 Windows 인스턴스에서 지원되지 않는다.
- nfs-utils Deamon이 설치되어 있어야 한다.
- VPC를 Direct Connect와 연결하면 EFS를 On-Premises 환경과 연결
✅ EFS 아키텍처
- EFS 생성 시 VPC 안의 AZ Subnet에 Mount Target 생성
- AZ의 Subnet 하나만 Mount Target이 생성
- AZ의 Subnet 두개일 경우 한개만 Mount Target 생성이 가능
✅ Amazon FSx
- Amazon FSx for Windows File Server는 Windows Server에 구축된 완전관리형 공유 스토리지를 제공하고 다양한 데이터 액세스, 데이터 관리, 관리자 기능을 제공한다.
- 업계 표준 SMB(서버 메세지 블록) 프로토콜을 통해 액세스 가능한 안정적이고 확장 가능한 파일스토리지 서비스 제공
✅ FSx 옵션
- Windows File Server: SMB 프로토콜을 사용한 보편적인 Winodws 서버 기반 파일서버
- Lustre: 머신러닝, 고성능 컴퓨팅 등을 위한 고성능 파일 스토리지
✅ AWS DataSync
- 온프레미스 스토리지 시스템과 AWS 스토리지 서비스 간 및 AWS 스토리지 서비스들 간 데이터 이동을 단순화, 자동화, 가속화하는 온라인 데이터 전송 서비스이다.
- DataSync를 사용하여 활성 데이터를 AWS로 마이그레이션하고, 분석 및 처리를 위해 데이터를 클라우드로 전송하며, 데이터를 아카이브하여 온프레미스 스토리지 용량을 확보하거나 비즈니스 연속성을 위해 데이터를 AWS로 복제할 수 있다.
✅ DataSync 특징
- DataSync를 사용하면 온프레미스의 FileSystem을 S3, EFS와 같은 서비스로 전송할 수 있다.
- 원래 Windows FileSystem은 EFS에 연결할 수 없고 FSx를 사용해야하지만 DataSync를 통해서 Windows와 EFS간 연결을 구성할 수 있다.
- S3 버킷에 FileSystem을 전송해서 마이그레이션 하거나 버전관리를 통해서 백업할 수 있다.
- NFS와 SMB 두 형식의 FileServer모두 DataSync와 연결할 수 있다.
- FileServer와 AWS Storage를 연결하는 DataSync Agent가 필요하다.
- DataSync는 자동으로 확장하여 파일 및 객체 이동, 데이터 전송 일정 예약, 전송 진행 상황 모니터링, 암호화, 데이터 전송 확인 및 문제에 대한 고객 알림을 처리한다.
- Agent는 온프레미스, AWS 어느곳에 있어도 상관없다.
- 하지만 VPN없이 인터넷으로 전송하는경우 Agent가 온프레미스에 있어야 데이터 전송중 TLS 암호화가 보장되기 때문에 온프레미스가 더 적절하다.
✅ Elastic Beanstalk
출처
https://pearlluck.tistory.com/648
https://kxmjhwn.tistory.com/339
https://jonghyeok-dev.tistory.com/40
https://brownbears.tistory.com/428
https://seoyeonhwng.medium.com/aws-lambda%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-44df535d5487
https://library.gabia.com/contents/8928/
https://dev.classmethod.jp/articles/summit-online-korea-storage-migration/
https://cloudest.oopy.io/posting/062
'Certificate > AWS SAA' 카테고리의 다른 글
[AWS] Elastic Compute Cloud & Elastic Block Store (0) | 2022.05.18 |
---|---|
[AWS] 서비스 개념 정리 (6) (0) | 2022.02.28 |
[AWS] 서비스 개념 정리 (4) (0) | 2022.02.24 |
[AWS] 서비스 개념 정리 (3) (0) | 2022.02.23 |
[AWS] 서비스 개념 정리 (2) (0) | 2022.02.23 |
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!