Table: aws_dax_cluster - Query AWS DAX Clusters using SQL
The AWS DAX Cluster is a fully managed, highly available, in-memory cache for DynamoDB that delivers up to a 10x read performance improvement. It operates fully in-memory and is compatible with existing DynamoDB API calls. DAX does all the heavy lifting to deliver accelerated read performance and can be used without application changes.
Table Usage Guide
The aws_dax_cluster
table in Steampipe provides you with information about AWS DAX Clusters. This table allows you, as a DevOps engineer, to query cluster-specific details, including cluster names, node types, status, and associated metadata. You can utilize this table to gather insights on clusters, such as cluster configurations, status, nodes, and more. The schema outlines the various attributes of the DAX cluster for you, including the cluster name, ARN, status, node type, and associated tags.
Examples
Basic info
Determine the status and region of active nodes in your AWS DAX clusters to understand their configuration and performance. This helps in managing resources and planning for scalability.
select cluster_name, description, active_nodes, iam_role_arn, status, regionfrom aws_dax_cluster;
select cluster_name, description, active_nodes, iam_role_arn, status, regionfrom aws_dax_cluster;
List clusters that does not enforce server-side encryption (SSE)
Determine the areas in your AWS DAX clusters where server-side encryption is not enforced. This is beneficial for identifying potential security vulnerabilities within your system.
select cluster_name, description, sse_description ->> 'Status' as sse_statusfrom aws_dax_clusterwhere sse_description ->> 'Status' = 'DISABLED';
select cluster_name, description, json_extract(sse_description, '$.Status') as sse_statusfrom aws_dax_clusterwhere json_extract(sse_description, '$.Status') = 'DISABLED';
List clusters provisioned with undesired (for example, cache.m5.large and cache.m4.4xlarge are desired) node types
Determine the areas in which clusters are provisioned with non-preferred node types to optimize resource allocation and cost efficiency.
select cluster_name, node_type, count(*) as countfrom aws_dax_clusterwhere node_type not in ('cache.m5.large', 'cache.m4.4xlarge')group by cluster_name, node_type;
select cluster_name, node_type, count(*) as countfrom aws_dax_clusterwhere node_type not in ('cache.m5.large', 'cache.m4.4xlarge')group by cluster_name, node_type;
Get the network details for each cluster
Discover the segments that provide detailed network information for each cluster, including security group identifiers and availability zones. This can be useful for understanding the network configuration of your clusters and ensuring they are set up correctly.
select cluster_name, subnet_group, sg ->> 'SecurityGroupIdentifier' as sg_id, n ->> 'AvailabilityZone' as az_name, cluster_discovery_endpoint ->> 'Address' as cluster_discovery_endpoint_address, cluster_discovery_endpoint ->> 'Port' as cluster_discovery_endpoint_portfrom aws_dax_cluster, jsonb_array_elements(security_groups) as sg, jsonb_array_elements(nodes) as n;
select cluster_name, subnet_group, json_extract(sg.value, '$.SecurityGroupIdentifier') as sg_id, json_extract(n.value, '$.AvailabilityZone') as az_name, json_extract(cluster_discovery_endpoint, '$.Address') as cluster_discovery_endpoint_address, json_extract(cluster_discovery_endpoint, '$.Port') as cluster_discovery_endpoint_portfrom aws_dax_cluster, json_each(security_groups) as sg, json_each(nodes) as n;
Query examples
- dax_cluster_discovery_endpoint
- dax_cluster_encryption
- dax_cluster_input
- dax_cluster_node_details
- dax_cluster_node_type
- dax_cluster_overview
- dax_cluster_tags
- dax_clusters_for_vpc_security_group
- iam_roles_for_dax_cluster
- sns_topics_for_dax_cluster
- vpc_security_group_assoc
- vpc_security_group_egress_rule_sankey
- vpc_security_group_ingress_rule_sankey
- vpc_security_groups_for_dax_cluster
- vpc_subnets_for_dax_cluster
- vpc_vpcs_for_dax_cluster
Control examples
Schema for aws_dax_cluster
Name | Type | Operators | Description |
---|---|---|---|
_ctx | jsonb | Steampipe context in JSON form. | |
account_id | text | =, !=, ~~, ~~*, !~~, !~~* | The AWS Account ID in which the resource is located. |
active_nodes | bigint | The number of nodes in the cluster that are active. | |
akas | jsonb | Array of globally unique identifier strings (also known as) for the resource. | |
arn | text | The Amazon Resource Name (ARN) that uniquely identifies the cluster. | |
cluster_discovery_endpoint | jsonb | The configuration endpoint for this DAX cluster, consisting of a DNS name and a port number. | |
cluster_endpoint_encryption_type | text | The type of encryption supported by the cluster's endpoint. Values are: - NONE for no encryption TLS for Transport Layer Security | |
cluster_name | text | = | The name of the DAX cluster. |
description | text | The description of the cluster. | |
iam_role_arn | text | A valid Amazon Resource Name (ARN) that identifies an IAM role. | |
node_ids_to_remove | jsonb | A list of nodes to be removed from the cluster. | |
node_type | text | The node type for the nodes in the cluster. | |
nodes | jsonb | A list of nodes that are currently in the cluster. | |
notification_configuration | jsonb | Describes a notification topic and its status. | |
parameter_group | jsonb | The parameter group being used by nodes in the cluster. | |
partition | text | The AWS partition in which the resource is located (aws, aws-cn, or aws-us-gov). | |
preferred_maintenance_window | text | A range of time when maintenance of DAX cluster software will be performed. | |
region | text | The AWS Region in which the resource is located. | |
security_groups | jsonb | A list of security groups, and the status of each, for the nodes in the cluster. | |
sp_connection_name | text | =, !=, ~~, ~~*, !~~, !~~* | Steampipe connection name. |
sp_ctx | jsonb | Steampipe context in JSON form. | |
sse_description | jsonb | The description of the server-side encryption status on the specified DAX cluster. | |
status | text | The current status of the cluster. | |
subnet_group | text | The subnet group where the DAX cluster is running. | |
tags | jsonb | A map of tags for the resource. | |
tags_src | jsonb | A list of tags currently associated with the DAX cluster. | |
title | text | Title of the resource. | |
total_nodes | text | The total number of nodes in the cluster. |
Export
This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.
You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh
script:
/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- aws
You can pass the configuration to the command with the --config
argument:
steampipe_export_aws --config '<your_config>' aws_dax_cluster