目次
サーバーレスとDevOpsに注力中。AWSを使った効率的なインフラ構築が得意です。
工作HardwareHubからのお知らせ
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 Streams の後段に配置します。
- 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 サービスです。
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?
0
記事の執筆者にステッカーを贈る
有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。
さらに詳しく →Feedbacks
ログインするとコメントを投稿できます。
関連記事
- AWS EC2 インスタンスの選定方法準仮想化と完全仮想化 AWS のインスタンスタイプが準仮想化と完全仮想化のどちらの仮想化技術を採用したハードウェアであるかによって、使用できる AMI (OS) が異なるのは以下の理由によります。 準仮想化 ParaVirtualization (PV) において OS は自分が仮想化用のハードウェア上で動作していることを知っています。つまり仮想化用にカスタマイズされた専用の OS が必要になりま...
- OpenVPN で二つの VPC をつなぐための設定インターネット VPN (Virtual Private Network) には二拠点間の通信を暗号化する方式によって IPsec-VPN や SSL-VPN などがあります。OpenVPN は SSL-VPN の実装のひとつです。AWS VPC を二つ用意してそれらを OpenVPN で接続してみます。 VPC の構成 myvpc-1 (10.1.0.0/16) mysubnet-1-1 (10...
- Windows Server EC2 インスタンスへの CAL インストールWindows サーバを AWS EC2 インスタンスとして起動した後は、RDP 接続が必要となります。RDP 接続を行なうためには Remote Desktop Services (RDS) ライセンスが必要となります。 Windows Server のライセンスは、管理用途の RDS 接続を許可しています。その際に RDS ライセンスは不要です。ただし、[同時接続数が 2 という制限があります...
- AWS Lambda の基本的な使い方AWS Lambda はイベントドリブンな「関数」を登録できるサービスです。例えば S3 に画像がアップロードされたときにサムネイル用のサイズに加工する処理が記述された関数を登録できます。基本的な使い方をまとめます。 事前準備 関数の登録はブラウザで AWS コンソールにログインして行うこともできますが、本ページでは AWS C
- Windows Server EC2 インスタンスによって Active Directory を構築する設定例本ページでは Windows Server 自体の設定で AD を構築する例を記載します。 AD の Domain Service (DS) および DNS 役割のインストール 注意 RDS CAL に関連して、AD DC と同じサーバに RDS セッションホストをインストールする場合は、最初に DC をインストールしてから、その後に RDS セッションホストをインストールします。 If you ...