Class CfnReplicationGroup
The AWS::ElastiCache::ReplicationGroup
resource creates an Amazon ElastiCache Redis replication group.
Inherited Members
Namespace: Amazon.CDK.AWS.ElastiCache
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnReplicationGroup : CfnResource, IInspectable, ITaggable
Syntax (vb)
Public Class CfnReplicationGroup
Inherits CfnResource
Implements IInspectable, ITaggable
Remarks
A Redis (cluster mode disabled) replication group is a collection of cache clusters, where one of the clusters is a primary read-write cluster and the others are read-only replicas.
A Redis (cluster mode enabled) cluster is comprised of from 1 to 90 shards (API/CLI: node groups). Each shard has a primary node and up to 5 read-only replica nodes. The configuration can range from 90 shards and 0 replicas to 15 shards and 5 replicas, which is the maximum number or replicas allowed.
The node or shard limit can be increased to a maximum of 500 per cluster if the Redis engine version is 5.0.6 or higher. For example, you can choose to configure a 500 node cluster that ranges between 83 shards (one primary and 5 replicas per shard) and 500 shards (single primary and no replicas). Make sure there are enough available IP addresses to accommodate the increase. Common pitfalls include the subnets in the subnet group have too small a CIDR range or the subnets are shared and heavily used by other clusters. For more information, see Creating a Subnet Group . For versions below 5.0.6, the limit is 250 per cluster.
To request a limit increase, see Amazon Service Limits and choose the limit type Nodes per cluster per instance type .
CloudformationResource: AWS::ElastiCache::ReplicationGroup
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.ElastiCache;
var cfnReplicationGroup = new CfnReplicationGroup(this, "MyCfnReplicationGroup", new CfnReplicationGroupProps {
ReplicationGroupDescription = "replicationGroupDescription",
// the properties below are optional
AtRestEncryptionEnabled = false,
AuthToken = "authToken",
AutomaticFailoverEnabled = false,
AutoMinorVersionUpgrade = false,
CacheNodeType = "cacheNodeType",
CacheParameterGroupName = "cacheParameterGroupName",
CacheSecurityGroupNames = new [] { "cacheSecurityGroupNames" },
CacheSubnetGroupName = "cacheSubnetGroupName",
ClusterMode = "clusterMode",
DataTieringEnabled = false,
Engine = "engine",
EngineVersion = "engineVersion",
GlobalReplicationGroupId = "globalReplicationGroupId",
IpDiscovery = "ipDiscovery",
KmsKeyId = "kmsKeyId",
LogDeliveryConfigurations = new [] { new LogDeliveryConfigurationRequestProperty {
DestinationDetails = new DestinationDetailsProperty {
CloudWatchLogsDetails = new CloudWatchLogsDestinationDetailsProperty {
LogGroup = "logGroup"
},
KinesisFirehoseDetails = new KinesisFirehoseDestinationDetailsProperty {
DeliveryStream = "deliveryStream"
}
},
DestinationType = "destinationType",
LogFormat = "logFormat",
LogType = "logType"
} },
MultiAzEnabled = false,
NetworkType = "networkType",
NodeGroupConfiguration = new [] { new NodeGroupConfigurationProperty {
NodeGroupId = "nodeGroupId",
PrimaryAvailabilityZone = "primaryAvailabilityZone",
ReplicaAvailabilityZones = new [] { "replicaAvailabilityZones" },
ReplicaCount = 123,
Slots = "slots"
} },
NotificationTopicArn = "notificationTopicArn",
NumCacheClusters = 123,
NumNodeGroups = 123,
Port = 123,
PreferredCacheClusterAZs = new [] { "preferredCacheClusterAZs" },
PreferredMaintenanceWindow = "preferredMaintenanceWindow",
PrimaryClusterId = "primaryClusterId",
ReplicasPerNodeGroup = 123,
ReplicationGroupId = "replicationGroupId",
SecurityGroupIds = new [] { "securityGroupIds" },
SnapshotArns = new [] { "snapshotArns" },
SnapshotName = "snapshotName",
SnapshotRetentionLimit = 123,
SnapshottingClusterId = "snapshottingClusterId",
SnapshotWindow = "snapshotWindow",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
TransitEncryptionEnabled = false,
TransitEncryptionMode = "transitEncryptionMode",
UserGroupIds = new [] { "userGroupIds" }
});
Synopsis
Constructors
CfnReplicationGroup(ByRefValue) | Used by jsii to construct an instance of this class from a Javascript-owned object reference |
CfnReplicationGroup(DeputyBase.DeputyProps) | Used by jsii to construct an instance of this class from DeputyProps |
CfnReplicationGroup(Construct, String, ICfnReplicationGroupProps) |
Properties
AtRestEncryptionEnabled | A flag that enables encryption at rest when set to |
AttrConfigurationEndPointAddress | The DNS hostname of the cache node. |
AttrConfigurationEndPointPort | The port number that the cache engine is listening on. |
AttrPrimaryEndPointAddress | The DNS address of the primary read-write cache node. |
AttrPrimaryEndPointPort | The number of the port that the primary read-write cache engine is listening on. |
AttrReadEndPointAddresses | A string with a list of endpoints for the primary and read-only replicas. |
AttrReadEndPointAddressesList | A string with a list of endpoints for the read-only replicas. |
AttrReadEndPointPorts | A string with a list of ports for the read-only replicas. |
AttrReadEndPointPortsList | A string with a list of ports for the read-only replicas. |
AttrReaderEndPointAddress | The address of the reader endpoint. |
AttrReaderEndPointPort | The port used by the reader endpoint. |
AuthToken | Reserved parameter. The password used to access a password protected server. |
AutomaticFailoverEnabled | Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails. |
AutoMinorVersionUpgrade | If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next minor version upgrade campaign. This parameter is disabled for previous versions. |
CacheNodeType | The compute and memory capacity of the nodes in the node group (shard). |
CacheParameterGroupName | The name of the parameter group to associate with this replication group. |
CacheSecurityGroupNames | A list of cache security group names to associate with this replication group. |
CacheSubnetGroupName | The name of the cache subnet group to be used for the replication group. |
CFN_RESOURCE_TYPE_NAME | The CloudFormation resource type name for this resource class. |
CfnProperties | |
ClusterMode | Enabled or Disabled. |
DataTieringEnabled | Enables data tiering. |
Engine | The name of the cache engine to be used for the clusters in this replication group. |
EngineVersion | The version number of the cache engine to be used for the clusters in this replication group. |
GlobalReplicationGroupId | The name of the Global datastore. |
IpDiscovery | The network type you choose when creating a replication group, either |
KmsKeyId | The ID of the KMS key used to encrypt the disk on the cluster. |
LogDeliveryConfigurations | Specifies the destination, format and type of the logs. |
MultiAzEnabled | A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. |
NetworkType | Must be either |
NodeGroupConfiguration |
|
NotificationTopicArn | The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent. |
NumCacheClusters | The number of clusters this replication group initially has. |
NumNodeGroups | An optional parameter that specifies the number of node groups (shards) for this Redis (cluster mode enabled) replication group. |
Port | The port number on which each member of the replication group accepts connections. |
PreferredCacheClusterAZs | A list of EC2 Availability Zones in which the replication group's clusters are created. |
PreferredMaintenanceWindow | Specifies the weekly time range during which maintenance on the cluster is performed. |
PrimaryClusterId | The identifier of the cluster that serves as the primary for this replication group. |
ReplicasPerNodeGroup | An optional parameter that specifies the number of replica nodes in each node group (shard). |
ReplicationGroupDescription | A user-created description for the replication group. |
ReplicationGroupId | |
SecurityGroupIds | One or more Amazon VPC security groups associated with this replication group. |
SnapshotArns | A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB snapshot files stored in Amazon S3. |
SnapshotName | The name of a snapshot from which to restore data into the new replication group. |
SnapshotRetentionLimit | The number of days for which ElastiCache retains automatic snapshots before deleting them. |
SnapshottingClusterId | The cluster ID that is used as the daily snapshot source for the replication group. |
SnapshotWindow | The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard). |
Tags | Tag Manager which manages the tags for this resource. |
TagsRaw | A list of tags to be added to this resource. |
TransitEncryptionEnabled | A flag that enables in-transit encryption when set to |
TransitEncryptionMode | A setting that allows you to migrate your clients to use in-transit encryption, with no downtime. |
UserGroupIds | The ID of user group to associate with the replication group. |
Methods
Inspect(TreeInspector) | Examines the CloudFormation resource and discloses attributes. |
RenderProperties(IDictionary<String, Object>) |
Constructors
CfnReplicationGroup(ByRefValue)
Used by jsii to construct an instance of this class from a Javascript-owned object reference
protected CfnReplicationGroup(ByRefValue reference)
Parameters
- reference Amazon.JSII.Runtime.Deputy.ByRefValue
The Javascript-owned object reference
CfnReplicationGroup(DeputyBase.DeputyProps)
Used by jsii to construct an instance of this class from DeputyProps
protected CfnReplicationGroup(DeputyBase.DeputyProps props)
Parameters
- props Amazon.JSII.Runtime.Deputy.DeputyBase.DeputyProps
The deputy props
CfnReplicationGroup(Construct, String, ICfnReplicationGroupProps)
public CfnReplicationGroup(Construct scope, string id, ICfnReplicationGroupProps props)
Parameters
- scope Constructs.Construct
Scope in which this resource is defined.
- id System.String
Construct identifier for this resource (unique in its scope).
- props ICfnReplicationGroupProps
Resource properties.
Properties
AtRestEncryptionEnabled
A flag that enables encryption at rest when set to true
.
public virtual object AtRestEncryptionEnabled { get; set; }
Property Value
System.Object
AttrConfigurationEndPointAddress
The DNS hostname of the cache node.
public virtual string AttrConfigurationEndPointAddress { get; }
Property Value
System.String
Remarks
Redis (cluster mode disabled) replication groups don't have this attribute. Therefore, Fn::GetAtt
returns a value for this attribute only if the replication group is clustered. Otherwise, Fn::GetAtt
fails. For Redis (cluster mode disabled) replication groups, use the PrimaryEndpoint
or ReadEndpoint
attributes.
CloudformationAttribute: ConfigurationEndPoint.Address
AttrConfigurationEndPointPort
The port number that the cache engine is listening on.
public virtual string AttrConfigurationEndPointPort { get; }
Property Value
System.String
Remarks
CloudformationAttribute: ConfigurationEndPoint.Port
AttrPrimaryEndPointAddress
The DNS address of the primary read-write cache node.
public virtual string AttrPrimaryEndPointAddress { get; }
Property Value
System.String
Remarks
CloudformationAttribute: PrimaryEndPoint.Address
AttrPrimaryEndPointPort
The number of the port that the primary read-write cache engine is listening on.
public virtual string AttrPrimaryEndPointPort { get; }
Property Value
System.String
Remarks
CloudformationAttribute: PrimaryEndPoint.Port
AttrReadEndPointAddresses
A string with a list of endpoints for the primary and read-only replicas.
public virtual string AttrReadEndPointAddresses { get; }
Property Value
System.String
Remarks
The order of the addresses maps to the order of the ports from the ReadEndPoint.Ports
attribute.
CloudformationAttribute: ReadEndPoint.Addresses
AttrReadEndPointAddressesList
A string with a list of endpoints for the read-only replicas.
public virtual string[] AttrReadEndPointAddressesList { get; }
Property Value
System.String[]
Remarks
The order of the addresses maps to the order of the ports from the ReadEndPoint.Ports
attribute.
CloudformationAttribute: ReadEndPoint.Addresses.List
AttrReadEndPointPorts
A string with a list of ports for the read-only replicas.
public virtual string AttrReadEndPointPorts { get; }
Property Value
System.String
Remarks
The order of the ports maps to the order of the addresses from the ReadEndPoint.Addresses
attribute.
CloudformationAttribute: ReadEndPoint.Ports
AttrReadEndPointPortsList
A string with a list of ports for the read-only replicas.
public virtual string[] AttrReadEndPointPortsList { get; }
Property Value
System.String[]
Remarks
The order of the ports maps to the order of the addresses from the ReadEndPoint.Addresses attribute.
CloudformationAttribute: ReadEndPoint.Ports.List
AttrReaderEndPointAddress
The address of the reader endpoint.
public virtual string AttrReaderEndPointAddress { get; }
Property Value
System.String
Remarks
CloudformationAttribute: ReaderEndPoint.Address
AttrReaderEndPointPort
The port used by the reader endpoint.
public virtual string AttrReaderEndPointPort { get; }
Property Value
System.String
Remarks
CloudformationAttribute: ReaderEndPoint.Port
AuthToken
Reserved parameter. The password used to access a password protected server.
public virtual string AuthToken { get; set; }
Property Value
System.String
AutomaticFailoverEnabled
Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.
public virtual object AutomaticFailoverEnabled { get; set; }
Property Value
System.Object
AutoMinorVersionUpgrade
If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next minor version upgrade campaign. This parameter is disabled for previous versions.
public virtual object AutoMinorVersionUpgrade { get; set; }
Property Value
System.Object
CacheNodeType
The compute and memory capacity of the nodes in the node group (shard).
public virtual string CacheNodeType { get; set; }
Property Value
System.String
CacheParameterGroupName
The name of the parameter group to associate with this replication group.
public virtual string CacheParameterGroupName { get; set; }
Property Value
System.String
CacheSecurityGroupNames
A list of cache security group names to associate with this replication group.
public virtual string[] CacheSecurityGroupNames { get; set; }
Property Value
System.String[]
CacheSubnetGroupName
The name of the cache subnet group to be used for the replication group.
public virtual string CacheSubnetGroupName { get; set; }
Property Value
System.String
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
public static string CFN_RESOURCE_TYPE_NAME { get; }
Property Value
System.String
CfnProperties
protected override IDictionary<string, object> CfnProperties { get; }
Property Value
System.Collections.Generic.IDictionary<System.String, System.Object>
Overrides
ClusterMode
Enabled or Disabled.
public virtual string ClusterMode { get; set; }
Property Value
System.String
DataTieringEnabled
Enables data tiering.
public virtual object DataTieringEnabled { get; set; }
Property Value
System.Object
Engine
The name of the cache engine to be used for the clusters in this replication group.
public virtual string Engine { get; set; }
Property Value
System.String
EngineVersion
The version number of the cache engine to be used for the clusters in this replication group.
public virtual string EngineVersion { get; set; }
Property Value
System.String
GlobalReplicationGroupId
The name of the Global datastore.
public virtual string GlobalReplicationGroupId { get; set; }
Property Value
System.String
IpDiscovery
The network type you choose when creating a replication group, either ipv4
| ipv6
.
public virtual string IpDiscovery { get; set; }
Property Value
System.String
KmsKeyId
The ID of the KMS key used to encrypt the disk on the cluster.
public virtual string KmsKeyId { get; set; }
Property Value
System.String
LogDeliveryConfigurations
Specifies the destination, format and type of the logs.
public virtual object LogDeliveryConfigurations { get; set; }
Property Value
System.Object
MultiAzEnabled
A flag indicating if you have Multi-AZ enabled to enhance fault tolerance.
public virtual object MultiAzEnabled { get; set; }
Property Value
System.Object
NetworkType
Must be either ipv4
| ipv6
| dual_stack
.
public virtual string NetworkType { get; set; }
Property Value
System.String
NodeGroupConfiguration
NodeGroupConfiguration
is a property of the AWS::ElastiCache::ReplicationGroup
resource that configures an Amazon ElastiCache (ElastiCache) Redis cluster node group.
public virtual object NodeGroupConfiguration { get; set; }
Property Value
System.Object
NotificationTopicArn
The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.
public virtual string NotificationTopicArn { get; set; }
Property Value
System.String
NumCacheClusters
The number of clusters this replication group initially has.
public virtual Nullable<double> NumCacheClusters { get; set; }
Property Value
System.Nullable<System.Double>
NumNodeGroups
An optional parameter that specifies the number of node groups (shards) for this Redis (cluster mode enabled) replication group.
public virtual Nullable<double> NumNodeGroups { get; set; }
Property Value
System.Nullable<System.Double>
Port
The port number on which each member of the replication group accepts connections.
public virtual Nullable<double> Port { get; set; }
Property Value
System.Nullable<System.Double>
PreferredCacheClusterAZs
A list of EC2 Availability Zones in which the replication group's clusters are created.
public virtual string[] PreferredCacheClusterAZs { get; set; }
Property Value
System.String[]
PreferredMaintenanceWindow
Specifies the weekly time range during which maintenance on the cluster is performed.
public virtual string PreferredMaintenanceWindow { get; set; }
Property Value
System.String
PrimaryClusterId
The identifier of the cluster that serves as the primary for this replication group.
public virtual string PrimaryClusterId { get; set; }
Property Value
System.String
ReplicasPerNodeGroup
An optional parameter that specifies the number of replica nodes in each node group (shard).
public virtual Nullable<double> ReplicasPerNodeGroup { get; set; }
Property Value
System.Nullable<System.Double>
ReplicationGroupDescription
A user-created description for the replication group.
public virtual string ReplicationGroupDescription { get; set; }
Property Value
System.String
ReplicationGroupId
public virtual string ReplicationGroupId { get; set; }
Property Value
System.String
SecurityGroupIds
One or more Amazon VPC security groups associated with this replication group.
public virtual string[] SecurityGroupIds { get; set; }
Property Value
System.String[]
SnapshotArns
A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB snapshot files stored in Amazon S3.
public virtual string[] SnapshotArns { get; set; }
Property Value
System.String[]
SnapshotName
The name of a snapshot from which to restore data into the new replication group.
public virtual string SnapshotName { get; set; }
Property Value
System.String
SnapshotRetentionLimit
The number of days for which ElastiCache retains automatic snapshots before deleting them.
public virtual Nullable<double> SnapshotRetentionLimit { get; set; }
Property Value
System.Nullable<System.Double>
SnapshottingClusterId
The cluster ID that is used as the daily snapshot source for the replication group.
public virtual string SnapshottingClusterId { get; set; }
Property Value
System.String
SnapshotWindow
The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
public virtual string SnapshotWindow { get; set; }
Property Value
System.String
Tags
Tag Manager which manages the tags for this resource.
public virtual TagManager Tags { get; }
Property Value
TagsRaw
A list of tags to be added to this resource.
public virtual ICfnTag[] TagsRaw { get; set; }
Property Value
ICfnTag[]
TransitEncryptionEnabled
A flag that enables in-transit encryption when set to true
.
public virtual object TransitEncryptionEnabled { get; set; }
Property Value
System.Object
TransitEncryptionMode
A setting that allows you to migrate your clients to use in-transit encryption, with no downtime.
public virtual string TransitEncryptionMode { get; set; }
Property Value
System.String
UserGroupIds
The ID of user group to associate with the replication group.
public virtual string[] UserGroupIds { get; set; }
Property Value
System.String[]
Methods
Inspect(TreeInspector)
Examines the CloudFormation resource and discloses attributes.
public virtual void Inspect(TreeInspector inspector)
Parameters
- inspector TreeInspector
tree inspector to collect and process attributes.
RenderProperties(IDictionary<String, Object>)
protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
Parameters
- props System.Collections.Generic.IDictionary<System.String, System.Object>
Returns
System.Collections.Generic.IDictionary<System.String, System.Object>