steampipe plugin install aws

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,
region
from
aws_dax_cluster;
select
cluster_name,
description,
active_nodes,
iam_role_arn,
status,
region
from
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_status
from
aws_dax_cluster
where
sse_description ->> 'Status' = 'DISABLED';
select
cluster_name,
description,
json_extract(sse_description, '$.Status') as sse_status
from
aws_dax_cluster
where
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 count
from
aws_dax_cluster
where
node_type not in ('cache.m5.large', 'cache.m4.4xlarge')
group by
cluster_name,
node_type;
select
cluster_name,
node_type,
count(*) as count
from
aws_dax_cluster
where
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_port
from
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_port
from
aws_dax_cluster,
json_each(security_groups) as sg,
json_each(nodes) as n;

Schema for aws_dax_cluster

NameTypeOperatorsDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
account_idtextThe AWS Account ID in which the resource is located.
active_nodesbigintThe number of nodes in the cluster that are active.
akasjsonbArray of globally unique identifier strings (also known as) for the resource.
arntextThe Amazon Resource Name (ARN) that uniquely identifies the cluster.
cluster_discovery_endpointjsonbThe configuration endpoint for this DAX cluster, consisting of a DNS name and a port number.
cluster_nametext=The name of the DAX cluster.
descriptiontextThe description of the cluster.
iam_role_arntextA valid Amazon Resource Name (ARN) that identifies an IAM role.
node_ids_to_removejsonbA list of nodes to be removed from the cluster.
node_typetextThe node type for the nodes in the cluster.
nodesjsonbA list of nodes that are currently in the cluster.
notification_configurationjsonbDescribes a notification topic and its status.
parameter_groupjsonbThe parameter group being used by nodes in the cluster.
partitiontextThe AWS partition in which the resource is located (aws, aws-cn, or aws-us-gov).
preferred_maintenance_windowtextA range of time when maintenance of DAX cluster software will be performed.
regiontextThe AWS Region in which the resource is located.
security_groupsjsonbA list of security groups, and the status of each, for the nodes in the cluster.
sse_descriptionjsonbThe description of the server-side encryption status on the specified DAX cluster.
statustextThe current status of the cluster.
subnet_grouptextThe subnet group where the DAX cluster is running.
tagsjsonbA map of tags for the resource.
tags_srcjsonbA list of tags currently associated with the DAX cluster.
titletextTitle of the resource.
total_nodestextThe 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