ResizeCluster
Changes the size of the cluster. You can change the cluster's type, or change the number or type of nodes. The default behavior is to use the elastic resize method. With an elastic resize, your cluster is available for read and write operations more quickly than with the classic resize method.
Elastic resize operations have the following restrictions:
-
You can only resize clusters of the following types:
-
dc2.large
-
dc2.8xlarge
-
ra3.large
-
ra3.xlplus
-
ra3.4xlarge
-
ra3.16xlarge
-
-
The type of nodes that you add must match the node type for the cluster.
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
- ClusterIdentifier
-
The unique identifier for the cluster to resize.
Type: String
Length Constraints: Maximum length of 2147483647.
Required: Yes
- Classic
-
A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to
false
, the resize type is elastic.Type: Boolean
Required: No
- ClusterType
-
The new cluster type for the specified cluster.
Type: String
Length Constraints: Maximum length of 2147483647.
Required: No
- NodeType
-
The new node type for the nodes you are adding. If not specified, the cluster's current node type is used.
Type: String
Length Constraints: Maximum length of 2147483647.
Required: No
- NumberOfNodes
-
The new number of nodes for the cluster. If not specified, the cluster's current number of nodes is used.
Type: Integer
Required: No
- ReservedNodeId
-
The identifier of the reserved node.
Type: String
Length Constraints: Maximum length of 2147483647.
Required: No
- TargetReservedNodeOfferingId
-
The identifier of the target reserved node offering.
Type: String
Length Constraints: Maximum length of 2147483647.
Required: No
Response Elements
The following element is returned by the service.
- Cluster
-
Describes a cluster.
Type: Cluster object
Errors
For information about the errors that are common to all actions, see Common Errors.
- ClusterNotFound
-
The
ClusterIdentifier
parameter does not refer to an existing cluster.HTTP Status Code: 404
- DependentServiceUnavailableFault
-
Your request cannot be completed because a dependent internal service is temporarily unavailable. Wait 30 to 60 seconds and try again.
HTTP Status Code: 400
- InsufficientClusterCapacity
-
The number of nodes specified exceeds the allotted capacity of the cluster.
HTTP Status Code: 400
- InvalidClusterState
-
The specified cluster is not in the
available
state.HTTP Status Code: 400
- InvalidReservedNodeState
-
Indicates that the Reserved Node being exchanged is not in an active state.
HTTP Status Code: 400
- LimitExceededFault
-
The encryption key has exceeded its grant limit in AWS KMS.
HTTP Status Code: 400
- NumberOfNodesPerClusterLimitExceeded
-
The operation would exceed the number of nodes allowed for a cluster.
HTTP Status Code: 400
- NumberOfNodesQuotaExceeded
-
The operation would exceed the number of nodes allotted to the account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.
HTTP Status Code: 400
- ReservedNodeAlreadyExists
-
User already has a reservation with the given identifier.
HTTP Status Code: 404
- ReservedNodeAlreadyMigrated
-
Indicates that the reserved node has already been exchanged.
HTTP Status Code: 400
- ReservedNodeNotFound
-
The specified reserved compute node not found.
HTTP Status Code: 404
- ReservedNodeOfferingNotFound
-
Specified offering does not exist.
HTTP Status Code: 404
- UnauthorizedOperation
-
Your account is not authorized to perform the requested operation.
HTTP Status Code: 400
- UnsupportedOperation
-
The requested operation isn't supported.
HTTP Status Code: 400
- UnsupportedOptionFault
-
A request option was specified that is not supported.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of ResizeCluster.
Sample Request
https://redshift.us-east-2.amazonaws.com/
?Action=ResizeCluster
&ClusterIdentifier=mycluster
&ClusterType=multi-node
&NodeType=dc2.large
&NumberOfNodes=6
&Classic=true
&SignatureMethod=HmacSHA256&SignatureVersion=4
&Version=2012-12-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE/20190817/us-east-2/redshift/aws4_request
&X-Amz-Date=20190825T160000Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=0aa1234bb5cc678ddddd901ee2ff3aa45678b90c12d345e6ff789012345a6b7b
Sample Response
<ResizeClusterResponse xmlns="http://redshift.amazonaws.com/doc/2012-12-01/">
<ResizeClusterResult>
<Cluster>
<AllowVersionUpgrade>true</AllowVersionUpgrade>
<ClusterIdentifier>mycluster</ClusterIdentifier>
<NumberOfNodes>1</NumberOfNodes>
<AvailabilityZone>us-east-2d</AvailabilityZone>
<ClusterVersion>1.0</ClusterVersion>
<ManualSnapshotRetentionPeriod>-1</ManualSnapshotRetentionPeriod>
<ClusterAvailabilityStatus>Modifying</ClusterAvailabilityStatus>
<Endpoint>
<Port>5439</Port>
<Address>mycluster.cmeaswqeuae.us-east-2.redshift.amazonaws.com</Address>
</Endpoint>
<VpcId>vpc-a1abc1a1</VpcId>
<PubliclyAccessible>true</PubliclyAccessible>
<ClusterCreateTime>2019-12-27T17:48:01.504Z</ClusterCreateTime>
<ClusterSnapshotCopyStatus>
<ManualSnapshotRetentionPeriod>-1</ManualSnapshotRetentionPeriod>
<DestinationRegion>us-east-1</DestinationRegion>
<RetentionPeriod>15</RetentionPeriod>
</ClusterSnapshotCopyStatus>
<MasterUsername>adminuser</MasterUsername>
<DBName>dev</DBName>
<EnhancedVpcRouting>false</EnhancedVpcRouting>
<IamRoles/>
<ResizeInfo>
<AllowCancelResize>true</AllowCancelResize>
<ResizeType>ClassicResize</ResizeType>
</ResizeInfo>
<ClusterSecurityGroups/>
<NodeType>dc2.large</NodeType>
<ClusterSubnetGroupName>default</ClusterSubnetGroupName>
<NextMaintenanceWindowStartTime>2020-01-26T23:15:00Z</NextMaintenanceWindowStartTime>
<DeferredMaintenanceWindows>
<DeferredMaintenanceWindow>
<DeferMaintenanceEndTime>2020-01-26T19:39:15.075Z</DeferMaintenanceEndTime>
<DeferMaintenanceIdentifier>dfm-VcfYqSYqQ4tdXOqbKwOo</DeferMaintenanceIdentifier>
<DeferMaintenanceStartTime>2019-12-27T19:39:15.075Z</DeferMaintenanceStartTime>
</DeferredMaintenanceWindow>
</DeferredMaintenanceWindows>
<Tags>
<Tag>
<Value>newtag</Value>
<Key>mytag</Key>
</Tag>
</Tags>
<VpcSecurityGroups>
<VpcSecurityGroup>
<VpcSecurityGroupId>sh-a1a123ab</VpcSecurityGroupId>
<Status>active</Status>
</VpcSecurityGroup>
</VpcSecurityGroups>
<ClusterParameterGroups>
<ClusterParameterGroup>
<ParameterGroupName>default.redshift-1.0</ParameterGroupName>
<ParameterApplyStatus>in-sync</ParameterApplyStatus>
</ClusterParameterGroup>
</ClusterParameterGroups>
<Encrypted>false</Encrypted>
<MaintenanceTrackName>current</MaintenanceTrackName>
<PendingModifiedValues>
<ClusterType>multi-node</ClusterType>
<NumberOfNodes>6</NumberOfNodes>
<NodeType>dc2.large</NodeType>
</PendingModifiedValues>
<PreferredMaintenanceWindow>sun:23:15-mon:03:15</PreferredMaintenanceWindow>
<AutomatedSnapshotRetentionPeriod>1</AutomatedSnapshotRetentionPeriod>
<ClusterStatus>resizing</ClusterStatus>
</Cluster>
</ResizeClusterResult>
<ResponseMetadata>
<RequestId>d504c6c0-28f5-11ea-8cc9-43f1872b4b75</RequestId>
</ResponseMetadata>
</ResizeClusterResponse>
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: