作成日
2022/07/27最終更新
2024/12/29記事区分
一般公開DynamoDB
- オブジェクト (item) の最大サイズは 400KB です。Item size
- Read/write capacity mode
- Provisioned
- 既定値です。
- ワークロードが予測できる場合に選択します。
- 下記 On-Demand と似た、旧来の仕組みとして、Provisioned capacity を動的に調整する仕組みが存在します。Managing throughput capacity automatically with DynamoDB auto scaling
- 内部的には Application Auto Scaling を利用しています。What is Application Auto Scaling?
- 参考: DynamoDB On-Demand Scaling vs Provisioned with Auto-Scaling [The Ultimate Comparison]
- On-Demand
- ワークロードが予測できない場合に選択します。
- 似た用語に adaptive capacity という内部構造の仕組みがあります。すべてのテーブルに対して有効化されています。
- Provisioned
- Table classes
- Standard
- 既定値です。
- Infrequent Access (IA)
- Standard
- バックアップ
- Using On-Demand backup and restore for DynamoDB
- AWS Backup service または DynamoDB の機能を利用して取得します。
- Point-in-time recovery for DynamoDB
- ある時点への復旧が可能です。
- Using On-Demand backup and restore for DynamoDB
- Primary key
- 各テーブルは unique な primary key (PK) を持ちます。
- テーブル作成時に指定します。
- 二種類の指定方法が可能です。
- partition key のみで構成。
- partition key と sort key で構成。
- Secondary indexes
- Primary key 以外の検索方法を提供します。
- Secondary indexes は一つのテーブルに対して複数作成できます。
- 二種類の指定方法が可能です。
- GSI (Global Secondary Index)
- Primary Key の partition key と sort key と異なるものを指定可能です。
- LSI (Local Secondary Index)
- Primary Key の partition key と同じで、sort key は異なるものを指定可能です。
- GSI (Global Secondary Index)
- How do I set up Time to Live (TTL) in DynamoDB?
- 一定期間が経過したら item が削除されるように TTL を設定可能です。
- Change data capture for DynamoDB Streams
- Table の変更履歴を queue に保存する DynamoDB の機能です。Snowflake の Stream と同様です。
- 上記 Table 内 item の TTL で削除された変更履歴も capture できます。
- 最大 24 時間のデータ保持が可能です。
- 後段に Kinesis Data Stream を配置することで、より長い保持期間を実現できます。
- Kinesis Data Stream からは Kinesis Data Firehose、Kinesis Data Analytics にもデータ連携できます。
- Global tables - multi-Region replication for DynamoDB
- 内部的には上記 stream 機能を利用した、リージョン間のデータレプリケーションで実現されています。
- 双方向レプリケーションとなっており、各リージョンへの write が可能です。
- DR にも活用できます。
- In-memory acceleration with DynamoDB Accelerator (DAX)
- DynamoDB 利用側のアプリケーションロジックを変更する必要はありません。
- キャッシュの TTL は既定で 5 分です。
- Conditional writes
- 更新時に条件を付けることで、例えば、同じテーブルを複数のクライアントが同時に更新する際の不具合を回避できます。
OpenSearch
- OpenSearch What is Amazon OpenSearch Service?
- AWS マネージドな ElasticSearch です。
- OpenSearch Dashboard Using OpenSearch Dashboards with Amazon OpenSearch Service
- AWS マネージドな Kibana です。
- Loading data into Amazon OpenSearch Service with Logstash
- OpenSearch に対するデータロードで利用できます。
RDS
- MySQL(MariaDB)、PostgreSQL、SQL Server、Oracle をサポートしています。Amazon RDS DB instance storage
- RDS Events
- SNS を経由して通知できます。Working with Amazon RDS event notification
- Multi-AZ deployments for high availability
- 別の AZ の standby instance にレプリケーションしておき、障害時は failover します。
- 以下のキャプチャに記載のとおり Synchronous レプリケーションです。
- Working with read replicas
- read 性能を向上させるためのインスタンスです。
- Read Replica は異なるリージョンに配置可能です。
- 以下のキャプチャに記載のとおり Asynchronous レプリケーションです。
- Read Replica は、DR 時など、スタンドアロンの DB インスタンスに昇格して利用できます。
- 暗号化 encrypted された DB から、暗号化されていない unencrypted read replica を作成することはできません。Limitations of Amazon RDS encrypted DB instances
- CloudTrail によって、DB 内のクエリログ等を確認することはできません。
- Using Amazon RDS Proxy
- RDS DB の connection pool として機能します。
- 例: Lambda からの RDS 接続で connection が残り続け、TooManyConnections エラーが発生する問題の回避策として活用できます。
- バックアップについて
- 上記 Multi-AZ standby instance が存在する場合、I/O の消費を考慮して、バックアップは standby instance で取得されます。Implementing a disaster recovery strategy with Amazon RDS
- Automated snapshot backups → 異なるリージョンにバックアップを作成できます。他の AWS アカウントと snapshot を共有できません。
- Manual snapshot backups → 異なるリージョンにバックアップを作成できます。最大 20 の AWS アカウントと snapshot を共有できます。How do I share manual Amazon RDS DB snapshots or Aurora DB cluster snapshots with another AWS account?
Aurora
- Snowflake と同様に、Storage と Compute を分離します。
- Storage について、3 AZ に合計 6 箇所のコピーを配置します。
- 3 AZ にわたる shared storage volume となっており、128 TB まで自動でスケールします。
- Cross Region で replication できます。Replicating Amazon Aurora MySQL DB clusters across AWS Regions
- S3 と直接データロードまたはオフロードできます。Saving data from an Amazon Aurora MySQL DB cluster into text files in an Amazon S3 bucket
- Aurora Serverless How Aurora Serverless v1 works
- 同様に、バックエンドには shared storage volume があります。
- Compute リソースは自動でスケールします。
- Global Aurora Using Amazon Aurora global databases
- 上記 cross region read replica と同様に、リージョン間でデータを同期します。
- あるリージョンを primary 指定します。
- 最大 5 リージョンを read-only な secondary region に指定します。
- secondary region あたり 16 の read replica を配置できます。
- secondary region を primary 昇格できます。
- Aurora Multi-Master Working with Aurora multi-master clusters
- すべての node に write が可能です。
- Endpoint Types of Aurora endpoints
- Cluster Endpoint (Writer Endpoint)
- Primary DB インスタンスに接続します。
- Reader Endpoint
- Read replica に接続します。
- Custom Endpoint
- 事前に設定しておき、特定の DB インスタンス群への接続に利用します。
- Instance Endpoint
- ある特定の DB インスタンスに接続します。
- Cluster Endpoint (Writer Endpoint)
- ログ Monitoring Amazon Aurora log files
- 例: MySQL におけるログと同等です。
- Snow query log
- Error log
- General log
- Audit log
- ダウンロードが可能です。
- CloudWatch Logs に publish 可能です。
- 例: MySQL におけるログと同等です。
Amazon Neptune
グラフ表現されたデータを扱うためのデータベースです。
関連記事
- 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
- AWS 落穂拾い (Data Engineering)Kinesis Kinesis Streams データは 3 AZ にレプリケーションされます。Amazon Kinesis Data Streams FAQs 24 時間 (既定値) から 1 年までデータ保持できます。[Changing the Data Retention Period](https://docs.aws.amazon