AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS::Redshift::Cluster

使用 AWS::Redshift::Cluster 资源创建 Amazon Redshift 群集。群集 是由一组计算节点组成的完全托管的数据仓库。有关默认值和有效值的更多信息,请参阅 Amazon Redshift API Reference 中的 CreateCluster

语法

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

JSON

{ "Type" : "AWS::Redshift::Cluster", "Properties" : { "AllowVersionUpgrade" : Boolean, "AutomatedSnapshotRetentionPeriod" : Integer, "AvailabilityZone" : String, "ClusterParameterGroupName" : String, "ClusterSecurityGroups" : [ String, ... ], "ClusterSubnetGroupName" : String, "ClusterType" : String, "ClusterVersion" : String, "DBName" : String, "ElasticIp" : String, "Encrypted" : Boolean, "HsmClientCertificateIdentifier" : String, "HsmConfigurationIdentifier" : String, "IamRoles" : [ String, ... ], "KmsKeyId" : String, "LoggingProperties" : LoggingProperties, "MasterUsername" : String, "MasterUserPassword" : String, "NodeType" : String, "NumberOfNodes" : Integer, "OwnerAccount" : String, "Port" : Integer, "PreferredMaintenanceWindow" : String, "PubliclyAccessible" : Boolean, "SnapshotClusterIdentifier" : String, "SnapshotIdentifier" : String, "Tags" : [ 资源标签, ... ], "VpcSecurityGroupIds" : [ String, ... ] } }

YAML

Type: "AWS::Redshift::Cluster" Properties: AllowVersionUpgrade: Boolean AutomatedSnapshotRetentionPeriod: Integer AvailabilityZone: String ClusterParameterGroupName: String ClusterSecurityGroups: - 字符串 ClusterSubnetGroupName: String ClusterType: String ClusterVersion: String DBName: String ElasticIp: String Encrypted: Boolean HsmClientCertificateIdentifier: String HsmConfigurationIdentifier: String IamRoles: - 字符串 KmsKeyId: String LoggingProperties: LoggingProperties MasterUsername: String MasterUserPassword: String NodeType: String NumberOfNodes: Integer OwnerAccount: String Port: Integer PreferredMaintenanceWindow: String PubliclyAccessible: Boolean SnapshotClusterIdentifier: String SnapshotIdentifier: String Tags: - 资源标签 VpcSecurityGroupIds: - 字符串

属性

有关每个属性 (包括约束和有效值) 的更多信息,请参阅 Amazon Redshift API Reference 中的 CreateCluster

AllowVersionUpgrade

发布新版本的 Amazon Redshift 时,指示升级是否可以应用于在群集上运行的引擎。升级在维护时段中应用。默认值为 true

Required: No

Type: Boolean

更新要求无需中断

AutomatedSnapshotRetentionPeriod

自动快照被保留的天数。默认值为 1。要禁用自动快照,请将该值设置为 0

Required: No

Type: Integer

更新要求无需中断

AvailabilityZone

要在其中配置 Amazon Redshift 群集的 Amazon Elastic Compute Cloud (Amazon EC2) 可用区。举例来说,如果您在特定可用区中运行多个 EC2 实例,则可能希望在同一区域中配置群集以便减小网络延迟。

Required: No

Type: String

更新要求替换

ClusterParameterGroupName

您希望与该群集关联的参数组的名称。

Required: No

Type: String

更新要求时而中断

ClusterSecurityGroups

您希望与该群集关联的安全组的列表。适用于 EC2-Classic。

Required: No

Type: List of String values

更新要求无需中断

ClusterSubnetGroupName

您希望与该群集关联的群集子网组的名称。

Required: No

Type: String

更新要求替换

ClusterType

群集的类型。指定 single-nodemulti-node (默认)。

Required: Yes

Type: String

更新要求时而中断

ClusterVersion

您希望在群集上部署的 Amazon Redshift 引擎的版本。

Required: No

Type: String

更新要求无需中断

DBName

创建群集时将创建的第一个数据库的名称。

Required: Yes

Type: String

更新要求替换

ElasticIp

群集的弹性 IP (EIP) 地址。

Required: No

Type: String

更新要求替换

Encrypted

指示群集中的数据是否进行静态加密。默认值为 false

Required: No

Type: Boolean

更新要求替换

HsmClientCertificateIdentifier

指定 Amazon Redshift 群集用来检索 HSM 中存储的数据加密密钥的硬件加密模块 (HSM) 客户端凭证名称。

Required: No

Type: String

更新要求无需中断

HsmConfigurationIdentifier

HSM 配置的名称,该配置包含 Amazon Redshift 群集用来检索和存储 HSM 中密钥的信息。

Required: No

Type: String

更新要求无需中断

IamRoles

AWS Identity and Access Management (IAM) 角色的列表,群集可以使用这些角色访问其他 AWS 服务。通过 Amazon 资源名称 (ARN) 提供 IAM 角色。可以在一个请求中提供最多 10 个 IAM 角色。群集最多可以关联 10 个 IAM 角色。

Required: No

Type: String

更新要求无需中断

KmsKeyId

用于加密群集中的数据的 AWS Key Management Service (AWS KMS) 密钥的 ID。

Required: No

Type: String

更新要求替换

LoggingProperties

配置 Amazon Redshift 来为该群集创建审计日志文件,其中包含查询、连接尝试等日志记录信息。

Required: No

Type: Amazon Redshift LoggingProperties

更新要求无需中断

MasterUsername

与该群集的主用户账户关联的用户名称。

Required: Yes

Type: String

更新要求替换

MasterUserPassword

与该群集的主用户账户关联的密码。

Required: Yes

Type: String

更新要求无需中断

NodeType

为该群集配置的节点类型。

Required: Yes

Type: String

更新要求无需中断

NumberOfNodes

群集中的计算节点数。如果您为 ClusterType 参数指定 multi-node,则必须指定大于 1 的数字。

重要

不能为单节点群集指定该参数。

Required: Conditional

Type: Integer

更新要求时而中断

OwnerAccount

从其他 AWS 账户中的快照还原时,包含该快照的 12 位 AWS 账户 ID。

Required: No

Type: String

更新要求替换

Port

群集接受传入连接的端口号。默认值为 5439

Required: No

Type: Integer

更新要求替换

PreferredMaintenanceWindow

可进行自动群集维护的每周时间范围(采用 UTC 格式)。时间范围的格式是 ddd:hh24:mi-ddd:hh24:mi

Required: No

Type: String

更新要求无需中断

PubliclyAccessible

指示是否可以从公用网络访问群集。

Required: No

Type: Boolean

更新要求替换

SnapshotClusterIdentifier

创建了源快照的群集的名称。有关从快照恢复的更多信息,请参阅 Amazon Redshift API Reference 中的 RestoreFromClusterSnapshot 操作。

Required: No

Required: Conditional。如果您的 IAM 策略包含对群集名称的限制 (其中,资源元素为群集名称指定通配符 (*) 以外的任何字符),则该属性是必需的。

更新要求替换

SnapshotIdentifier

用来创建新群集的快照的名称。

Required: Conditional。如果您指定了 SnapshotClusterIdentifier 属性,则必须指定该属性。

Type: String

更新要求替换

Tags

指定要与该群集关联的任意标签组 (键值对)。使用标签来管理您的资源。

Required: No

Type: AWS CloudFormation 资源标签

更新要求无需中断

VpcSecurityGroupIds

与此群集关联的 VPC 安全组的列表。

Required: No

Type: List of String values

更新要求无需中断

返回值

Ref

当该资源的逻辑 ID 提供给 Ref内部函数时,Ref 将返回资源名称。 示例:

{ "Ref": "myCluster" }

对于 Amazon Redshift 群集 myClusterRef 返回该群集的名称。

有关使用 Ref 功能的更多信息,请参阅参考

Fn::GetAtt

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

Endpoint.Address

Amazon Redshift 群集的连接终端节点。例如:examplecluster.cg034hpkmmjt.us-east-1.redshift.amazonaws.com

Endpoint.Port

Amazon Redshift 群集接受连接的端口号。例如:5439

示例

下面的示例描述一个单节点 Amazon Redshift 群集。主用户密码引用相同模板中的输入参数。

JSON

"myCluster": { "Type": "AWS::Redshift::Cluster", "Properties": { "DBName": "mydb", "MasterUsername": "master", "MasterUserPassword": { "Ref" : "MasterUserPassword" }, "NodeType": "ds2.xlarge", "ClusterType": "single-node", "Tags": [ { "Key": "foo", "Value": "bar" } ] } }

YAML

myCluster: Type: "AWS::Redshift::Cluster" Properties: DBName: "mydb" MasterUsername: "master" MasterUserPassword: Ref: "MasterUserPassword" NodeType: "ds2.xlarge" ClusterType: "single-node" Tags: - Key: foo Value: bar

更多信息

有关完整示例模板,请参阅Amazon Redshift 模板代码段