AWS::DAX::Cluster - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::DAX::Cluster

创建 DAX 集群。集群中的所有节点都运行相同的 DAX 缓存软件。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::DAX::Cluster", "Properties" : { "AvailabilityZones" : [ String, ... ], "ClusterName" : String, "Description" : String, "IAMRoleARN" : String, "NodeType" : String, "NotificationTopicARN" : String, "ParameterGroupName" : String, "PreferredMaintenanceWindow" : String, "ReplicationFactor" : Integer, "SecurityGroupIds" : [ String, ... ], "SSESpecification" : SSESpecification, "SubnetGroupName" : String, "Tags" : Json } }

YAML

Type: AWS::DAX::Cluster Properties: AvailabilityZones: - String ClusterName: String Description: String IAMRoleARN: String NodeType: String NotificationTopicARN: String ParameterGroupName: String PreferredMaintenanceWindow: String ReplicationFactor: Integer SecurityGroupIds: - String SSESpecification: SSESpecification SubnetGroupName: String Tags: Json

属性

AvailabilityZones

创建或更新群集后,群集节点将驻留在其中的可用区 (AZ)。如果提供,则此列表的长度必须等于 ReplicationFactor 参数。如果省略此参数,则 DAX 将在可用区中分布节点,以实现最高可用性。

必需:否

类型:字符串列表

Update requires: No interruption

ClusterName

DAX 集群的名称。

必需:否

类型:字符串

Update requires: Updates are not supported.

Description

集群的描述。

必需:否

类型:字符串

Update requires: No interruption

IAMRoleARN

标识 IAM 角色的有效 Amazon 资源名称 (ARN)。在运行时,DAX 将代入此角色,并使用此角色的权限代表您访问 DynamoDB。

必需:是

类型:字符串

Update requires: Updates are not supported.

NodeType

集群中节点的节点类型。(DAX 集群中的所有节点都为同一类型。)

必需:是

类型:字符串

Update requires: Updates are not supported.

NotificationTopicARN

将向其发送通知的 Amazon SNS 主题的 Amazon 资源名称 (ARN)。

注意

Amazon SNS 主题所有者与 DAX 集群所有者必须是同一人。

必需:否

类型:字符串

Update requires: No interruption

ParameterGroupName

要与 DAX 集群关联的参数组。

必需:否

类型:字符串

Update requires: No interruption

PreferredMaintenanceWindow

执行 DAX 集群软件维护的时间范围。例如:sun:01:00-sun:09:00。集群维护通常需要不到 30 分钟的时间,并且在维护窗口内自动执行。

必需:否

类型:字符串

Update requires: No interruption

ReplicationFactor

DAX 集群中节点的数量。复制因子 1 将创建一个单节点集群,没有任何只读副本。要实现更大的容错能力,您可以创建具有一个或多个只读副本的多节点集群。要执行此操作,请将 ReplicationFactor 设置为一个介于 3(一个主节点和两个只读副本)和 10(一个主节点和 9 个只读副本)之间的数字。提供 If the AvailabilityZones 参数,其长度必须等于 ReplicationFactor

注意

AWS 建议您每个集群至少拥有两个只读副本。

必需:是

类型:整数

Update requires: No interruption

SecurityGroupIds

要分配给 DAX 集群中每个节点的安全组 ID 的列表。(每个安全组 ID 都是系统生成的。)

如果未指定该参数,DAX 将向每个节点分配默认 VPC 安全组。

必需:否

类型:字符串列表

Update requires: No interruption

SSESpecification

表示用于在集群上启用服务器端加密的设置。

必需:否

类型SSESpecification

Update requires: Replacement

SubnetGroupName

要用于复制组的子网组的名称。

重要

DAX 集群只能在 Amazon VPC 环境中运行。您在子网组中指定的所有子网必须位于同一 VPC 中。

必需:否

类型:字符串

Update requires: Updates are not supported.

Tags

一组与 DAX 集群关联的标签。

必需:否

类型:Json

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回创建的 DAX 集群的名称。例如:

{ "Ref": "MyResource" }

返回与以下值类似的值:

MyDAXCluster

For more information about using the Ref function, see Ref.

Fn::GetAtt

Fn::GetAtt 返回一个此类型指定属性的值。以下为可用属性和示例返回值。

Arn

返回 DAX 集群的 ARN。例如:

{ "Fn::GetAtt": ["MyDAXCluster", "Arn"] }

返回与以下值类似的值:

arn:aws:dax:us-east-1:111122223333:cache/MyDAXCluster
ClusterDiscoveryEndpoint

返回 DAX 集群的配置终端节点。例如:

{ "Fn::GetAtt": ["MyDAXCluster", "ClusterDiscoveryEndpoint"] }

返回与以下值类似的值:

mydaxcluster.0h3d6x.clustercfg.dax.use1.cache.amazonaws.com:8111

示例

创建集群

以下示例创建一个 DAX 集群。

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "Create a DAX cluster", "Resources": { "daxCluster": { "Type": "AWS::DAX::Cluster", "Properties": { "ClusterName": "MyDAXCluster", "NodeType": "dax.r3.large", "ReplicationFactor": 1, "IAMRoleARN": "arn:aws:iam::111122223333:role/DaxAccess", "Description": "DAX cluster created with CloudFormation", "SubnetGroupName": {"Ref":"subnetGroupClu"} } }, "subnetGroupClu": { "Type": "AWS::DAX::SubnetGroup", "Properties": { "SubnetGroupName": "MySubnetGroup", "Description": "Subnet group for DAX cluster", "SubnetIds": [ {"Ref":"subnet1"}, {"Ref":"subnet2"} ] } }, "subnet1": { "Type": "AWS::EC2::Subnet", "Properties": { "VpcId": {"Ref":"daxVpc"}, "CidrBlock": "172.13.17.0/24", "AvailabilityZone": { "Fn::Select": [ 0, { "Fn::GetAZs": "" } ] } } }, "subnet2": { "Type": "AWS::EC2::Subnet", "Properties": { "VpcId": {"Ref":"daxVpc"}, "CidrBlock": "172.13.18.0/24", "AvailabilityZone": { "Fn::Select": [ 1, { "Fn::GetAZs": "" } ] } } }, "daxVpc": { "Type": "AWS::EC2::VPC", "Properties": { "CidrBlock": "172.13.0.0/16" } } }, "Outputs": { "Cluster": { "Value": {"Ref":"daxCluster"} } } }

YAML

AWSTemplateFormatVersion: "2010-09-09" Description: "Create a DAX cluster" Resources: daxCluster: Type: AWS::DAX::Cluster Properties: ClusterName: "MyDAXCluster" NodeType: "dax.r3.large" ReplicationFactor: 1 IAMRoleARN: "arn:aws:iam::111122223333:role/DaxAccess" Description: "DAX cluster created with CloudFormation" SubnetGroupName: !Ref subnetGroupClu subnetGroupClu: Type: AWS::DAX::SubnetGroup Properties: SubnetGroupName: "CFNClusterSubnetGrp" Description: "Subnet group for DAX cluster" SubnetIds: - !Ref subnet1 - !Ref subnet2 subnet1: Type: AWS::EC2::Subnet Properties: VpcId: !Ref daxVpc CidrBlock: 172.13.17.0/24 AvailabilityZone: Fn::Select: - 0 - Fn::GetAZs: "" subnet2: Type: AWS::EC2::Subnet Properties: VpcId: !Ref daxVpc CidrBlock: 172.13.18.0/24 AvailabilityZone: Fn::Select: - 1 - Fn::GetAZs: "" daxVpc: Type: AWS::EC2::VPC Properties: CidrBlock: 172.13.0.0/16 Outputs: Cluster: Value: !Ref daxCluster