https://wa.aws.amazon.com/wellarchitected/2020-07-02T19-33-23/wat.question.PERF_4.ja.html
データベースのキャッシングオプションを有効にする: リレーショナルデータベースをキャッシュするための Amazon ElastiCache for Redis や、DynamoDB 用の完全マネージド型で可用性の高いインメモリキャッシュのための Amazon DynamoDB Accelerator (DAX) などのデータベースのキャッシングオプションを評価します。これらのオプションを使用すると、1 秒間に数百万件のリクエストであっても、場合によってはミリ秒からマイクロ秒までパフォーマンスを向上させることができます。
----
https://www.ragate.co.jp/blog/articles/17820
DynamoDBのDAXを使用して、データベースのレイテンシーを劇的に低減する方法
2023.02.20
こんにちは!
Amazon Web Services(AWS)のDynamoDBのDAX(DynamoDB Accelerator)を使用することで、データベースのレイテンシーを劇的に低減することができます。この記事では、DAXを使用してレイテンシーを低減する方法について詳しく解説します。
はじめに
DynamoDBは、AWSのNoSQLデータベースサービスです。このサービスを使用すると、高いスループットと低いレイテンシーを実現することができます。しかし、データベースのレイテンシーをさらに低減するためには、DAXを使用する必要があります。
DAXは、DynamoDBのキャッシュサービスです。DAXを使用すると、データベースのレイテンシーを劇的に低減することができます。分かりやすく例えると、DynamoDBに特化したElasticCacheのようなサービスです。
この記事では、DAXを使用してレイテンシーを低減する方法について詳しく解説します。
DAXを使用してレイテンシーを低減する方法
DAXを使用すると、DynamoDBのキャッシュを有効にすることができます。キャッシュを有効にすると、データベースのレイテンシーが劇的に低減することができます。
キャッシュを構成するためには、CloudFormationを使用してDAXを構成する必要があります。以下のCloudFormationはDAXを構成する例です。
Resources:
DAXCluster:
Type: AWS::DAX::Cluster
Properties:
ClusterName: my-dax-cluster
NodeType: dax.r4.large
ReplicationFactor: 3
AvailabilityZones:
- us-east-1a
- us-east-1b
- us-east-1c
SubnetGroupName: my-dax-subnet-group
SecurityGroupIds:
- sg-12345678
ParameterGroupName: my-dax-parameter-group
IAMRoleARN: arn:aws:iam::123456789012:role/my-dax-role
以下は、DAXに設定するIAMロールのポリシーの例です。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DaxAccessPolicy",
"Effect": "Allow",
"Action": [
"dynamodb:DescribeTable",
"dynamodb:PutItem",
"dynamodb:GetItem",
"dynamodb:UpdateItem",
"dynamodb:DeleteItem",
"dynamodb:Query",
"dynamodb:Scan",
"dynamodb:BatchGetItem",
"dynamodb:BatchWriteItem",
"dynamodb:ConditionCheckItem"
],
"Resource": [
"arn:aws:dynamodb:us-west-2:123456789012:table/Books"
]
}
]
}
IAMロールには、DAXがAssumeRoleするためのプリンシパルの設定も忘れずに設定します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "dax.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
まとめ
本記事では、DAXを使用してデータベースのレイテンシーを劇的に低減する方法について解説しました。DAXを使用すると、キャッシュを有効にしたり、データベースを構成したりすることができます。これらの機能を使用することで、データベースのレイテンシーを劇的に低減することができます。
サーバーレス開発、低コストなAWS開発内製化はお気軽にお問い合わせください。
0 件のコメント:
コメントを投稿