Amazon Kinesis Data Firehose
스트리밍 데이터를 데이터 레이크, 데이터 스토어 및 분석 서비스에 안정적으로 로드하는 가장 쉬운 방법. Amazon Kinesis Data Firehose는 스트리밍 데이터를 캡처하고 변환하고 Amazon S3, Amazon Redshift, Amazon Elasticsearch Service, 일반 HTTP 엔드포인트 및 Datadog, New Relic, MongoDB, Splunk와 같은 서비스 공급자로 전송할 수 있습니다. Amazon Kinesis Data Firehose는 데이터 처리량에 대응하여 자동으로 확장되며 지속적인 관리가 필요 없는 완전관리형 서비스다. 또한, 데이터 스트림을 로드하기 전에 배치 처리, 압축, 변환 및 암호화하여 스토리지의 사용량을 최소화하고 보안을 강화할 수 있다.
Amazon Kinesis Video Streams
분석, ML(기계 학습), 재생 및 기타 처리를 위해 커넥티드 디바이스에서 AWS로 비디오를 쉽고 안전하게 스트리밍할 수 있다. Kinesis Video Streams는 수백만 대의 디바이스의 스트리밍 비디오 데이터를 수집하는 데 필요한 모든 인프라를 자동으로 프로비저닝하고 탄력적으로 조정한다. 스트림의 비디오 데이터를 안정적으로 저장, 암호화 및 인덱싱하며, 사용하기 쉬운 API를 통해 데이터에 액세스할 수 있도록 지원한다. Kinesis Video Streams를 사용하면 라이브 및 온디맨드 시청을 위해 비디오를 재생하고, Apache MxNet, TensorFlow 및 OpenCV와 같은 ML 프레임워크의 라이브러리 및 Amazon Rekognition Video와 통합을 통해 컴퓨터 비전 및 비디오 분석을 활용하는 애플리케이션을 신속하게 구축할 수 있다. Kinesis Video Streams는 WebRTC를 지원한다. WebRTC는 간단한 API를 통해 웹 브라우저, 모바일 애플리케이션 및 커넥티드 디바이스 간에 실시간 미디어 스트리밍과 상호 작용을 활성화하는 오픈 소스 프로젝트다. 일반적인 사용 사례에는 비디오 채팅 및 피어투피어 미디어 스트리밍이 포함된다.
Amazon Kinesis Data Analytics
Apache Flink를 통해 실시간으로 스트리밍 데이터를 변환 및 분석할 수 있는 가장 쉬운 방법이다. Apache Flink는 데이터 스트림 처리를 위한 오픈 소스 프레임워크 및 엔진이다. Amazon Kinesis Data Analytics는 Apache Flink 애플리케이션을 빌드 및 관리하고 다른 AWS 서비스와 통합하는 데 따르는 복잡성을 줄여준다.
스트리밍 애플리케이션의 지속적 실행에 필요한 모든 작업을 처리하며, 수신 데이터의 볼륨과 처리량에 맞춰 자동으로 확장된다. Amazon Kinesis Data Analytics를 사용하면 서버를 관리할 필요가 없고, 최소 요금이나 설치 비용도 없으며, 스트리밍 애플리케이션이 소비하는 리소스에 대해서만 결제하면 된다.
Amazon Aurora와 DynamoDB 비교
Amazon Aurora | Amazon DynamoDB |
MySQL과 PostgreSQL을 지원함. | 아마존 클라우드에 저장된 데이터를 활용하는 확장가능한 DB서비스. |
참조 무결성 개념 제공. 외래키가 없음. | 참조 무결성 개념을 제공하지 않음. 외래키 없음. |
Immediate Consistency가 시스템 분산 일관성을 보장함 | Eventual Consistency와 Immediate Consistency가 시스템 분산 일관성을 보장함 |
첫번째 DB모델은 Relational DBMS | 첫번째 DB모델은 Document store와 Key-value store |
Server-side scripting을 지원함 | Server-side scripting을 지원하지 않음 |
파티셔닝이 horizontal 파티셔닝으로 완료될 수 있다. | sharding을 파티셔닝 방법으로 지원함 |
SQL 쿼리 언어를 지원함 | SQL 쿼리 언어를 지원하지 않음 |
마스터-슬레이브 복제 관계만 지원함 | 다양한 복제 관계를 지원함 |
Map/Reduce API를 제공하지 않음 | Map/Reduce API를 제공하지 않음. 하지만 Amazon EMR을 통해 설정할 수 있음. |
*greeksforgeeks.org를 참고하여 만들었음
* 참조 무결성(referential integrity) : 이해한 바로는, 외래키를 가져올 때 그 값은 Null 값이거나 참조 릴레이션의 기본키 값을 벗어날 수 없음. 그러니까 참조하려는 데이터 필드에 올 수 없는 값은 입력될 수 없는 성질.
+ 개체 무결성(Entity Integrity) : 테이블의 레코드는 유일한 값을 가져야 함. Primary Key 값은 항상 유일해야하고 Null이 올 수 없다.
AWS DataSync
온프레미스 스토리지 시스템과 AWS 스토리지 서비스 간, 그리고 여러 AWS 스토리지 서비스 간의 데이터 이동을 간소화, 자동화 및 가속화하는 온라인 데이터 전송 서비스. DataSync를 사용하여 활성 데이터를 AWS로 마이그레이션하거나, 데이터를 아카이브하여 온프레미스 스토리지 용량을 확보하거나, 비즈니스 연속성을 위해 데이터를 AWS로 복제하거나, 분석 및 처리를 위해 데이터를 클라우드로 전송할 수 있다.
많은 양의 데이터를 이동하기 위한 스크립트 작성, 유지 관리, 모니터링 및 문제 해결 과정은 IT 운영에 부담을 주며 이로 인해 마이그레이션 프로젝트의 진행이 느려질 수 있는데, DataSync는 이러한 작업을 제거하거나 자동으로 처리해 준다. DataSync는 전송 중 데이터 암호화, 전송 중 및 저장 중 데이터 무결성 확인과 같은 보안 기능을 기본적으로 제공하며, 네트워크 대역폭 사용을 최적화하고, 네트워크 연결 장애 시 자동으로 복구한다. 또한 DataSync는 Amazon CloudWatch 지표, 로그 및 이벤트를 통해 데이터 전송 예약과 전송 프로세스에 대한 세부적인 가시성과 같은 제어 및 모니터링 기능을 제공한다.
DataSync는 NFS(Network File System) 공유, SMB(Server Message Block) 공유, 자체 관리형 객체 스토리지, AWS Snowcone, Amazon Simple Storage Service(Amazon S3) 버킷, Amazon Elastic File System(Amazon EFS) 파일 시스템 및 Amazon FSx for Windows File Server 파일 시스템 간에 데이터를 복사할 수 있다.
AWS 서비스 엔드포인트
AWS 서비스에 프로그래밍 방식으로 연결하려면 엔드포인트를 사용해야 한다. An endpoint is the URL of the entry point for an AWS web service. AWS SDK 및 AWS Command Line Interface(AWS CLI)는 AWS 리전에서 자동으로 각 서비스에 대해 기본 엔드포인트를 사용한다. 그러나 API 요청에 대체 엔드포인트를 지정할 수 있다.
서비스에서 리전을 지원하는 경우 각 리전의 리소스는 다른 리전에 있는 유사한 리소스와 독립되어 있다. 예를 들어 한 리전에서 Amazon EC2 인스턴스 또는 Amazon SQS 대기열을 생성할 수 있다. 이렇게 한 경우 해당 인스턴스 또는 대기열은 기타 모든 리전의 인스턴스 또는 대기열과는 독립되어 있다.
AWS CloudHSM
AWS 클라우드에서 자체 암호화 키를 손쉽게 생성 및 사용할 수 있도록 지원하는 클라우드 기반 하드웨어 보안 모듈(HSM)이다. CloudHSM에서는 FIPS 140-2 레벨 3 인증 HSM을 사용하여 자체 암호화 키를 관리할 수 있다. CloudHSM은 PKCS#11, Java Cryptography Extensions(JCE) 및 Microsoft CryptoNG(CNG) 라이브러리와 같은 업계 표준 API를 사용하여 애플리케이션과 통합할 수 있는 유연성을 제공한다.
CloudHSM은 표준을 준수하며 구성에 따라 모든 키를 대부분의 상용 HSM으로 내보낼 수 있다. 사용자를 위해 하드웨어 프로비저닝, 소프트웨어 패치, 고가용성, 백업 등 시간 소모적인 관리 작업을 자동화하는 완전관리형 서비스다. 또한, CloudHSM을 사용하면 선결제 없이 온디맨드로 HSM 용량을 추가 및 제거하여 신속하게 확장/축소할 수 있다.
Amazon EventBridge
자체 애플리케이션, 통합 Software-as-a-Service(SaaS) 애플리케이션 및 AWS 서비스에서 생성된 이벤트를 사용하여 이벤트 기반 애플리케이션을 대규모로 쉽게 구축할 수 있는 서버리스 이벤트 버스. EventBridge는 Zendesk 또는 Shopify와 같은 이벤트 소스의 실시간 데이터 스트림을 AWS Lambda 및 기타 SaaS 애플리케이션과 같은 대상으로 전송한다. 데이터를 전송할 대상을 결정하는 라우팅 규칙을 설정하여 이벤트 게시자와 소비자가 완전히 분리된 데이터 원본에 실시간으로 대응하는 애플리케이션 아키텍처를 구축할 수 있다.
Amazon S3 Batch Operations
새로운 기능을 이용하면 수백, 수백만 또는 수십억 개의 S3 객체를 간단하고 간편한 방식으로 처리할 수 있다. 다른 버킷에 객체를 복사하거나, 태그 또는 ACL(액세스 제어 목록)을 설정하거나, Glacier에서 복원을 시작하거나, 각 객체별로 AWS Lambda 함수를 호출할 수 있다.
이 기능은 S3에서 기존에 지원되는 인벤토리 보고서를 기반으로 하며, 보고서 또는 CSV 파일을 통해 배치 작업을 지원할 수 있다. 클릭 몇 번으로 몇 분 만에 작업을 생성하고 실행하면 S3가 대규모 병렬 프로세스를 통해 자동으로 작업을 처리한다. 사용자는 S3 콘솔, S3 CLI 또는 S3 API를 사용하여 배치 작업을 생성하고 모니터링하고 관리할 수 있다.
AWS VPC peering connection
VPC 피어링 연결은 프라이빗 IPv4 주소 또는 IPv6 주소를 사용하여 두 VPC 간에 트래픽을 라우팅할 수 있도록 하기 위한 두 VPC 사이의 네트워킹 연결이다. 동일한 네트워크에 속하는 경우와 같이 VPC의 인스턴스가 서로 통신할 수 있다. 사용자의 자체 VPC 또는 다른 AWS 계정의 VPC와 VPC 피어링 연결을 만들 수 있다. VPC는 다른 리전에 있을 수 있다.
AWS API Gateway
어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보안 유지할 수 있도록 하는 완전관리형 서비스이다. API는 애플리케이션이 백엔드 서비스의 데이터, 비즈니스 로직 또는 기능에 액세스할 수 있는 "정문" 역할을 한다. API Gateway를 사용하면 실시간 양방향 통신 애플리케이션이 가능하도록 하는 RESTful API 및 WebSocket API를 작성할 수 있다. API Gateway는 컨테이너식 서버리스 워크로드 및 웹 애플리케이션을 지원한다.
API Gateway는 트래픽 관리, CORS 지원, 권한 부여 및 액세스 제어, 제한, 모니터링 및 API 버전 관리 등 최대 수십만 개의 동시 API 호출을 수신 및 처리하는 데 관계된 모든 작업을 처리한다. API Gateway에는 최소 요금이나 시작 비용이 없으며 수신한 API 호출과 전송한 데이터 양에 대한 요금을 결제하고, API 게이트웨이 계층화 요금 모델을 사용하는 경우 API 사용량 증가에 따라 비용을 절감할 수 있다.
Amazon S3 Transfer Acceleration
클라이언트와 S3 버킷 간에 파일을 빠르고 쉽고 안전하게 장거리 전송할 수 있다. Transfer Acceleration은 전 세계에 분산된 Amazon CloudFront의 엣지 로케이션을 활용한다. 엣지 로케이션에 도착한 데이터는 최적화된 네트워크 경로를 통해 Amazon S3로 라우팅된다.
버킷에서 Transfer Acceleration을 사용하는 이유는 대표적으로 다음과 같다.
- 전 세계 각지에서 중앙의 버킷으로 업로드하는 고객이 있을 경우
- 전 세계에 정기적으로 수 기가바이트에서 수 테라바이트의 데이터를 전송할 경우
- Amazon S3에 업로드할 경우 인터넷을 통해 사용 가능한 대역폭을 충분히 활용하지 못할 수 있기 때문에.
Amazon ElastiCache
널리 사용되는 오픈 소스 호환 인 메모리 데이터 스토어를 클라우드에서 원활하게 설정, 실행 및 크기 조정할 수 있다. 처리량이 많고 지연 시간이 짧은 인 메모리 데이터 스토어에서 데이터를 검색하여 데이터 집약적 앱을 구축하거나 기존 데이터베이스 성능을 강화한다. Amazon ElastiCache는 캐싱, 세션 스토어, 게이밍, 지리 공간 서비스, 실시간 분석 및 대기열과 같은 실시간 사용 사례에 많이 선택된다.
관리형 Redis와 밀리초 미만의 응답 시간이 필요한 Memcached를 제공함.
요청자 지불 버킷(requester pays bucket)
일반적으로 버킷과 연결된 모든 Amazon S3 스토리지 및 데이터 전송 비용은 버킷 소유자가 지불한다. 하지만 버킷 소유자는 버킷을 요청자 지불 버킷으로 구성할 수 있다. 요청자 지불 버킷은 버킷 소유자 대신 요청자가 데이터 다운로드 및 요청 비용을 지불한다. 데이터 저장 비용은 항상 버킷 소유자가 지불한다.
데이터를 공유하려 하지만 다른 사람이 데이터를 액세스하는 것에 대해 요금이 발생하는 것은 원치 않을 경우, 일반적으로 요청자 지불로 버킷을 구성힌다. 예를 들어, 우편번호부, 참조 데이터, 지역 관련 정보, 웹 크롤링 데이터 등과 같이 대량의 데이터 세트를 만들 경우 요청자 지불 버킷을 사용할 수 있다.
- 익명 엑세스가 허용되지 않음
AWS Config
AWS 리소스 구성을 측정, 감사 및 평가할 수 있는 서비스다. Config는 AWS 리소스 구성을 지속적으로 모니터링 및 기록하고, 원하는 구성을 기준으로 기록된 구성을 자동으로 평가해 준니다. Config를 사용하면 AWS 리소스 간 구성 및 관계 변화를 검토하고, 자세한 리소스 구성 기록을 분석하고, 내부 지침에 지정되어 있는 구성을 기준으로 전반적인 규정 준수 여부를 확인할 수 있다. 이에 따라 규정 준수 감사, 보안 분석, 변경 관리 및 운영 문제 해결 작업을 간소화할 수 있다.
Cross-Account Access
IAM은 사용자(User, 이하 User)라는 개념과 역할(Role, 이하 Role)이라는 개념을 동시에 제공한다. User는 특정 권한을 가진 사용자를 뜻하며, 별도의 URL을 통해 AWS 관리 콘솔에 직접 로그인할 수 있는 사용자(사람)을 의미한다. 역할의 경우는 특정 권한을 특정 서비스나 사용자에 부여할 수 있으며, 변경도 가능하다. 뿐만 아니라, Role은 password나 access key가 없어 상대적으로 보다 안전하게 사용이 가능하며, User는 Role의 권한을 받아 AWS 리소스에 편리하고 안전하게 접근이 가능하다.
다만, 여러 User가 복수 계정에서 서로 다른 Role을 손쉽게 이동하면서 관리해야 할 경우를 위해 지난 해 교차 계정 접근 제어(Cross-Account Access) 기능이 출시되었다. 이를 통해 AWS 관리 콘솔에서 Role 전환을 쉽게 할 수 있게 되어, User가 여러 AWS 계정 (또는 여러 Role) 환경에서 효과적으로 일을 더 쉽게 할 수 있게 되었다.
AWS Database Migration Service
데이터베이스를 AWS로 빠르고 안전하게 마이그레이션할 수 있도록 지원한다. 마이그레이션하는 동안 소스 데이터베이스가 변함없이 운영되어 해당 데이터베이스를 사용하는 애플리케이션의 가동 중지 시간을 최소화할 수 있다. AWS Database Migration Service를 사용하면 가장 널리 사용되는 상용 및 오픈 소스 데이터베이스로(부터) 데이터를 마이그레이션할 수 있다.
Oracle에서 Oracle로의 마이그레이션과 같은 동종 마이그레이션뿐 아니라 Oracle 또는 Microsoft SQL Server에서 Amazon Aurora로의 마이그레이션과 같은 이기종 데이터베이스 플랫폼 간의 마이그레이션도 지원한다. AWS Database Migration Service를 사용하면 고가용성으로 데이터를 연속적으로 복제할 수 있으며 Amazon Redshift 및 Amazon S3로 데이터를 스트리밍하여 페타바이트급 규모의 데이터 웨어하우스에 데이터베이스를 통합할 수 있다.
AWS Schema Conversion Tool
다른 종류 데이터베이스의 스키마와 보기, 저장된 절차 그리고 여러 기능들을 포함하여 자동 변환하고 대상 데이터베이스와 호환되는 형식으로 마이그레이션을 예측 가능하게 한다. 다른 자동으로 변환될 수 없는 대상들은 수동으로 마이그레이션할 수 있도록 표시해준다. 또한 SCT는 임배디드된 SQL의 어플리케이션 소스코드를 스캔하고 변환하여 데이터베이스 스키마 변환 프로젝트의 일부가 되게 한다. 이 과정에서, SCT는 클라우드 네이티브 코드 최적화로 기존 Oracle과 SQL 서버 기능으로 부터 AWS 서비스와 동등하게 수행하고 이것은 데이터 어플리케이션을 현대화하는 동시에 데이터베이스를 마이그레이션하는 것을 돕는다. 일단 스키마 변환이 완료되면, SCT는 다양한 데이터 웨어하우스들의 Amazon Redshift로 내장된 마이그레이션 에이전트를 사용해 마이그레이션하는 것을 돕는다.
'AWS' 카테고리의 다른 글
[네전따] 칼럼 기고를 시작하며, [1] AWS를 시작할 때 필요한 기초 키워드 (2) | 2023.02.19 |
---|---|
쿠버네티스 만들어보자 (0) | 2021.05.23 |
용어 정리 2/? (0) | 2021.03.20 |
용어 정리 1/? (6) | 2021.03.20 |
RDS를 간단하게 배워보자1/2 (3) | 2021.03.07 |