Q
oosky:
モノづくり総合プラットフォーム
検索
新規登録 / ログイン
AWS 落穂拾い (Data Engineering)
[履歴]
[最終更新]
(2022/09/17 18:50:12)
プログラミング/IoT の関連商品 (Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。)
大乱闘スマッシュブラザーズ SPECIAL - Switch
普通のピンヘッダ10本セット
ポケットモンスター シールド -Switch
ESP-WROOM-02ピッチ変換済みモジュール《シンプル版》
サンハヤト SAD-101 ニューブレッドボード
tybot
最近の投稿
Looker から Snowflake への OAuth 接続
Looker (Google Cloud core) 30日間 フリートライアル設定
AWS 落穂拾い (Security)
AWS 落穂拾い (Storage)
マイクロマウス
Kinesis
AWS Batch
Amazon EMR
Glue
Redshift
DocumentDB
Athena、Quicksight
注目の記事
OpenCV を C++ から扱うためのサンプルコード
kubernetes で GitLab および GitLab Runner を実行する設定サンプル
Rancher で構築した kubernetes クラスタのアップグレード手順
rpmとyumのチートシート
objgraph による Python メモリリーク調査
Kinesis
Kinesis Streams
データは 3 AZ にレプリケーションされます。
Amazon Kinesis Data Streams FAQs
24 時間 (既定値) から 1 年までデータ保持できます。
Changing the Data Retention Period
SQS と異なり、ストリームのデータを再処理できます。
クライアント処理時にデータ削除されません。
データ削除はできず immutability を持ちます。
複数の consumer が同一の stream データを処理できます。
consumer 数が増加した際に、パフォーマンスを向上させるためには、Fan-Out 機能を用います。
Amazon Kinesis Data Streams Adds Enhanced Fan-Out and HTTP/2 for Faster Streaming
On-Demand または Provisioned を選択できます。
データの順序は SQS FIFO と同様に保証されます。
DynamoDB stream と比較して安価です。
API Gateway から Kinesis Streams へのデータ連携が可能です。
Tutorial: Create a REST API as an Amazon Kinesis proxy in API Gateway
Kinesis Firehose
Kinesis Streams の後段に配置します。
Kinesis Streams を介さずに、Kinesis Firehose に直接データ入力することもできます。
他の AWS サービスへの接続時に利用します。
バッファを利用したバッチ処理となっており、"Near" real time に連携します。
Data Delivery Frequency
例えば S3 への即時連携が必要な場合は、Kinesis Stream の後段に Kinesis Firehose ではなく Lambda を配置します。
60 秒 (既定値) 経過、または batch サイズに到達した際に連携 (buffer flush) されます。
バッファサイズは firehouse の利用状況に応じて自動調整されます。
Lambda を併用して、データ加工できます。
Amazon Kinesis Data Firehose Data Transformation
失敗時のデータ、またはすべてのデータを S3 に送信できます。
Troubleshooting Amazon Kinesis Data Firehose
Kinesis Analytics
Kinesis Streams または Kinesis Firehose の後段に配置します。
Kinesis Client Library (KCL)
Kinesis data streams の consumer アプリケーションを開発する際のライブラリです。
What is the Kinesis Client Library?
DynamoDB table を checkpointing という用途で利用します。
ある一つの KCL アプリケーションが、他の KCL アプリケーションと DynamoDB table を共有することはできません。
Can I use different Amazon Kinesis Client Library applications with the same Amazon DynamoDB table?
AWS Batch
HPC (high-performance computing)
向けサービスの一つです。
Docker image を利用して job 実行します。
What Is AWS Batch?
内部的に ECS を利用しており、Fargate または EC2 インスタンスでジョブを実行します。
EC2 On-Demand または Spot Instance を利用します。
Fargate On-Demand または Fargate Spot Instance を利用します。
CloudWatch Events を併用してスケジュール実行できます。
Step Functions を併用して、バッチジョブの実行を制御できます。
Multi Node mode
Multi-node parallel jobs
Placement Group (cluster) と併用できます。
Spot Instance との併用はできません。
1 インスタンスを main とし、他のインスタンスを child node としてジョブを並列処理します。
Amazon EMR
Elastic MapReduce (EMR)
What is Amazon EMR?
Apache Hadoop、Apache Spark 等を AWS で利用するためのマネージドサービスです。
EC2 インスタンスを起動してクラスタを組みます。
Understand node types: master, core, and task nodes
Master Node → クラスタを管理します。
Core Node → タスクを処理します。
インスタンスの設定
Create a cluster with instance fleets or uniform instance groups
Instance fleet
Uniform instance group
Glue
AWS マネージドな ETL サービスです。
AWS Glue の基本的な使い方
Redshift
PostgreSQL をベースにしています。
Amazon Redshift and PostgreSQL
PostgreSQL と異なり、トランザクション用ではなく、データ分析用の列指向 DB です。
シングル AZ で稼働します。
AZ 障害時は、別の AZ でクラスタ稼働できます。
Availability and durability
Building Multi-AZ or Multi-Region Amazon Redshift Clusters
Redshift は provisioned なサービスであるため、単発的なクエリであれば Athena を利用します。
S3 にスナップショットを保存できます。
Amazon Redshift snapshots
追加のスナップショット作成時は、差分のみが保存されます。
他のリージョンのスナップショットとしてコピーすることもできます。DR 対策として活用できます。
KMS key はリージョン毎に存在します。スナップショットを暗号化してコピーするためには、コピー先のリージョンの KMS key を、Redshift クラスタが利用できるように grant しておく必要があります。
Copying AWS KMS–encrypted snapshots to another AWS Region
Redshift Spectrum
Querying external data using Amazon Redshift Spectrum
S3 に存在するデータを、ロードすることなくクエリ分析できます。
Redshift クラスタが存在している必要はあります。
Redshift クラスタの compute node から、Redshift Spectrum の node に通信がなされます。
Redshift Spectrum の node が S3 から read します。
Workload Management (WLM)
Workload management
短期間で完了するクエリと、長時間必要なクエリの queue を分離することができます。
管理者用の queue を専用に設けることもできます。
Automatic WLM → Redshift が WLM を管理する場合。
Manual WLM → AWS 利用者が WLM を管理する場合。
Working with concurrency scaling
クラスタを自動追加してスケールします。
監査ログ
S3 または CloudWatch に格納できます。
既定では無効化されており、有効化する必要があります。
S3 について、SSE-S3 暗号化をサポートします。
2022-9-7 時点において、SSE-KMS はサポートされていません。
Database audit logging
DocumentDB
AWS マネージドな MongoDB です。
What Is Amazon DocumentDB (with MongoDB Compatibility)
3 AZ にデータレプリケーションされます。
10 GB 単位でストレージは自動で拡張されます。
Athena、Quicksight
Athena
実行クエリは CloudTrail にログ保管されます。
Querying AWS CloudTrail logs
クエリ例が多数用意されています。
gzip 等によって圧縮されたファイルに対してクエリを実行できます。
Athena compression support
Quicksight
BI ツールの一つです。
Athena を含めたデータソースを指定できます。
VPC subnet 内に ENI を作成し、QuickSight から subnet 内の RDS や Redshift に閉域接続でアクセス可能です。
QuickSight Enterprise Edition が必要となります。
How can I create a private connection from Amazon QuickSight to an Amazon Redshift cluster or an Amazon RDS DB instance that's in a private subnet?
関連ページ