メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::ElastiCache::ReplicationGroup

AWS::ElastiCache::ReplicationGroup リソースは、Amazon ElastiCache Redis レプリケーショングループを作成します。レプリケーショングループは、クラスターの 1 つがプライマリ読み書きクラスターであり、他のクラスターが読み取り専用レプリカであるキャッシュクラスターのコレクションです。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type" : "AWS::ElastiCache::ReplicationGroup", "Properties" : { "AutomaticFailoverEnabled" : Boolean, "AutoMinorVersionUpgrade" : Boolean, "CacheNodeType" : String, "CacheParameterGroupName" : String, "CacheSecurityGroupNames" : [ String, ... ], "CacheSubnetGroupName" : String, "Engine" : String, "EngineVersion" : String, "NodeGroupConfiguration" : [ NodeGroupConfiguration ], "NotificationTopicArn" : String, "NumCacheClusters" : Integer, "NumNodeGroups" : Integer, "Port" : Integer, "PreferredCacheClusterAZs" : [ String, ... ], "PreferredMaintenanceWindow" : String, "PrimaryClusterId" : String, "ReplicasPerNodeGroup" : Integer, "ReplicationGroupDescription" : String, "ReplicationGroupId" : String, "SecurityGroupIds" : [ String, ... ], "SnapshotArns" : [ String, ... ], "SnapshotName" : String, "SnapshotRetentionLimit" : Integer, "SnapshottingClusterId" : String, "SnapshotWindow" : String, "Tags" : Resource Tag, ... } }

YAML

Copy
Type: "AWS::ElastiCache::ReplicationGroup" Properties: AutomaticFailoverEnabled: Boolean AutoMinorVersionUpgrade: Boolean CacheNodeType: String CacheParameterGroupName: String CacheSecurityGroupNames: - 文字列 CacheSubnetGroupName: String Engine: String EngineVersion: String NodeGroupConfiguration: - NodeGroupConfiguration NotificationTopicArn: String NumCacheClusters: Integer NumNodeGroups: Integer Port: Integer PreferredCacheClusterAZs: - 文字列 PreferredMaintenanceWindow: String PrimaryClusterId: String ReplicasPerNodeGroup: Integer ReplicationGroupDescription: String ReplicationGroupId: String SecurityGroupIds: - 文字列 SnapshotArns: - 文字列 SnapshotName: String SnapshotRetentionLimit: Integer SnapshottingClusterId: String SnapshotWindow: String Tags - Resource Tag

プロパティ

各プロパティと有効な値の詳細については、Amazon ElastiCache API リファレンスガイドの「CreateReplicationGroup」を参照してください。

AutomaticFailoverEnabled

マルチ AZ の有効または無効を示します。 マルチ AZ が有効の場合、既存のプライマリクラスターが失敗した際に、読み取り専用レプリカが読み書きプライマリクラスターに自動的に昇格されます。 true を特定する場合には、NumCacheClusters のプロパティで 1 以上の値を設定する必要があります。 デフォルトでは、AWS CloudFormation は値を true に設定しています。

Redis (clustered mode enabled) レプリケーショングループでは、自動フェイルオーバーを有効にする必要があります。

マルチ AZ に関する制約の詳細については、Amazon ElastiCache ユーザーガイド の「マルチ AZ と自動フェイルオーバーをサポートするレプリケーション (Redis)」を参照してください。

注記

2.8.6 より前のバージョンの Redis または T1 キャッシュノードタイプでは、自動フェイルオーバーを有効にすることはできません。自動フェイルオーバーは、クラスターモードが有効で Redis バージョン 3.2.4 以降を実行している場合のみ、T2 ノードタイプでサポートされます。

重要

PrimaryClusterId を指定した場合は、以下の追加のパラメータのみを使用できます。

  • AutomaticFailoverEnabled

  • NodeGroupConfiguration

  • NumCacheClusters

  • NumNodeGroups

  • PreferredCacheClusterAZs

  • ReplicationGroupDescription

Required: No

Type: Boolean

更新に伴う要件: 中断はありません。

AutoMinorVersionUpgrade

現在のところ、このプロパティは ElastiCache により使用されません。

Required: No

Type: Boolean

更新に伴う要件: 中断はありません。

CacheNodeType

ノードグループ内のノードのコンピューティング容量とメモリ容量。有効な値については、Amazon ElastiCache API リファレンスガイドの「CreateReplicationGroup」を参照してください。

Required: No

Type: String

更新に伴う要件: 中断はありません。

CacheParameterGroupName

このレプリケーショングループに関連付けるパラメーターグループの名前。有効なデフォルトの値については、Amazon ElastiCache API リファレンスガイドの「CreateReplicationGroup」を参照してください。

Required: No

Type: String

更新に伴う要件: 一時的な中断。

CacheSecurityGroupNames

このレプリケーショングループに関連付けるキャッシュセキュリティグループ名のリスト。

重要

CacheSecurityGroupNames プロパティを指定した場合、一緒に SecurityGroupIds プロパティを指定しないでください。

SecurityGroupIds プロパティは Amazon Virtual Private Cloud (Amazon VPC) セキュリティグループ専用です。Amazon VPC セキュリティグループを指定すると、デプロイが失敗します。

Required: No

Type: List of String values

更新に伴う要件: 中断はありません。

CacheSubnetGroupName

このレプリケーショングループに使用するキャッシュサブネットグループの名前。

Required: No

Type: String

更新に伴う要件: 置換

Engine

このレプリケーショングループ内のキャッシュクラスターに使用するキャッシュエンジンの名前。現在指定できるのは redis のみです。

Required: Yes

Type: String

更新に伴う要件: 中断はありません。

EngineVersion

このレプリケーショングループ内のキャッシュクラスターに使用するキャッシュエンジンのバージョン番号。

Required: No

Type: String

更新に伴う要件: 中断はありません。

NodeGroupConfiguration

ノードグループ (シャード) の設定オプション。

重要

PrimaryClusterId を指定した場合は、以下の追加のパラメータのみを使用できます。

  • AutomaticFailoverEnabled

  • NodeGroupConfiguration

  • NumCacheClusters

  • NumNodeGroups

  • PreferredCacheClusterAZs

  • ReplicationGroupDescription

Required: No

Amazon ElastiCache ReplicationGroup NodeGroupConfigurationType: リスト

更新に伴う要件: 置換

NotificationTopicArn

通知が送信される Amazon Simple Notification Service トピックの Amazon リソースネーム (ARN)。

Required: No

Type: String

更新に伴う要件: 中断はありません。

NumCacheClusters

このレプリケーショングループのキャッシュクラスターの数。自動フェイルオーバーが有効な場合、1 より大きな値を指定する必要があります。有効な値については、Amazon ElastiCache API リファレンスガイドの「CreateReplicationGroup」を参照してください。

複数のノードグループ (シャード) を指定すると、このプロパティは無視されます。代わりに、ReplicasPerNodeGroup プロパティを使用してください。

重要

PrimaryClusterId を指定した場合は、以下の追加のパラメータのみを使用できます。

  • AutomaticFailoverEnabled

  • NodeGroupConfiguration

  • NumCacheClusters

  • NumNodeGroups

  • PreferredCacheClusterAZs

  • ReplicationGroupDescription

Required: No

Type: Integer

更新に伴う要件: 中断はありません。

NumNodeGroups

この Redis (clustered mode enabled) レプリケーショングループのノードグループ (シャード) の数。Redis (clustered mode disabled) では、このプロパティを省略します。

重要

PrimaryClusterId を指定した場合は、以下の追加のパラメータのみを使用できます。

  • AutomaticFailoverEnabled

  • NodeGroupConfiguration

  • NumCacheClusters

  • NumNodeGroups

  • PreferredCacheClusterAZs

  • ReplicationGroupDescription

Required: No

Type: Integer

更新に伴う要件: 置換

Port

レプリケーショングループの各メンバーが接続を受け入れるポート番号。

Required: No

Type: Integer

更新に伴う要件: 置換

PreferredCacheClusterAZs

このレプリケーショングループ内のキャッシュクラスターが作成されるアベイラビリティーゾーンリスト。

重要

PrimaryClusterId を指定した場合は、以下の追加のパラメータのみを使用できます。

  • AutomaticFailoverEnabled

  • NodeGroupConfiguration

  • NumCacheClusters

  • NumNodeGroups

  • PreferredCacheClusterAZs

  • ReplicationGroupDescription

Required: No

Type: List of String values

更新に伴う要件: 置換

PreferredMaintenanceWindow

週 1 回のシステムメンテナンスを実行できる時間帯。時間帯は、ddd:hh24:mi-ddd:hh24:mi (24 時間表記の UTC) の形式を使用して指定します。たとえば、日曜日の午後 10 時から午後 11 時 30 分の場合、sun:22:00-sun:23:30 と指定できます。

Required: No

Type: String

更新に伴う要件: 中断はありません。

PrimaryClusterId

レプリケーショングループにプライマリクラスターとして ElastiCache が使用するキャッシュクラスター。キャッシュクラスターは、ステータスが available である必要があります。

重要

PrimaryClusterId を指定した場合は、以下の追加のパラメータのみを使用できます。

  • AutomaticFailoverEnabled

  • NodeGroupConfiguration

  • NumCacheClusters

  • NumNodeGroups

  • PreferredCacheClusterAZs

  • ReplicationGroupDescription

Required: Conditional。NumCacheClustersNumNodeGroups、または ReplicasPerNodeGroup プロパティを指定した場合、このプロパティはオプションです。

Type: String

更新に伴う要件: 中断はありません。

ReplicasPerNodeGroup

各ノードグループ (シャード) のレプリカノードの数。有効な値については、Amazon ElastiCache API リファレンスガイドの「CreateReplicationGroup」を参照してください。

Required: No

Type: Integer

更新に伴う要件: 置換

ReplicationGroupDescription

レプリケーショングループの説明。

重要

PrimaryClusterId を指定した場合は、以下の追加のパラメータのみを使用できます。

  • AutomaticFailoverEnabled

  • NodeGroupConfiguration

  • NumCacheClusters

  • NumNodeGroups

  • PreferredCacheClusterAZs

  • ReplicationGroupDescription

Required: Yes

Type: String

更新に伴う要件: 中断はありません。

ReplicationGroupId

レプリケーショングループの ID。ID を指定しない場合、AWS CloudFormation は一意の物理 ID を生成します。詳細については、「Name タイプ」を参照してください。

Required: No

Type: String

更新に伴う要件: 置換

SecurityGroupIds

このレプリケーショングループに関連付ける Amazon Virtual Private Cloud (Amazon VPC) セキュリティグループのリスト。

重要

SecurityGroupIds プロパティを指定した場合、一緒に CacheSecurityGroupNames プロパティを指定しないでください。

CacheSecurityGroupNames プロパティは、EC2-Classic セキュリティグループ専用です。EC2-Classic セキュリティグループを指定すると、デプロイが失敗します。

Required: No

Type: List of String values

更新に伴う要件: 中断はありません。

SnapshotArns

Amazon Simple Storage Service (Amazon S3) に格納された Redis .rdb スナップショットファイルの ARN を指定する単一エレメントの文字列リスト。スナップショットファイルは、ノードグループに含められます。ARN 内の Amazon S3 オブジェクト名にコンマを含めることはできません。たとえば、arn:aws:s3:::my_bucket/snapshot1.rdb と指定することができます。

Required: No

Type: List of String values

更新に伴う要件: 置換

SnapshotName

レプリケーショングループにデータを復元するスナップショットの名前。

Required: No

Type: String

更新に伴う要件: 置換

SnapshotRetentionLimit

削除までに ElastiCache が自動スナップショットを保持する日数。

Required: No

Type: Integer

更新に伴う要件: 中断はありません。

SnapshottingClusterId

レプリケーショングループに一日一回のスナップショットのソースとして ElastiCache が使用するキャッシュクラスターの ID。

Required: No

Type: String

更新に伴う要件: 中断はありません。

SnapshotWindow

SnapshottingClusterId プロパティで指定したノードグループの 1 日 1 回のスナップショットを ElastiCache が取得する時間帯 (UTC)。たとえば、05:00-09:00 と指定することができます。

Required: No

Type: String

更新に伴う要件: 中断はありません。

Tags

このレプリケーショングループに対する任意のタグのセット (キーと値のペア)。

Required: No

Type: AWS CloudFormation Resource Tags

更新に伴う要件: 中断はありません。

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref によりリソース名が返されます。

次の例では、Ref 関数は myReplicationGroup レプリケーショングループの名前 (abc12xmy3d1w3hv6 など) を返します。

Copy
{ "Ref": "myReplicationGroup" }

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

Fn::GetAtt

Fn::GetAtt は、このタイプの指定された属性の値を返します。以下には、利用可能な属性とサンプル戻り値のリストが示されます。

ConfigurationEndPoint.Address

キャッシュノードの DNS ホスト名。

ConfigurationEndPoint.Port

キャッシュエンジンがリッスンしているポート番号。

PrimaryEndPoint.Address

プライマリ読み書きキャッシュノードの DNS アドレス。

PrimaryEndPoint.Port

プライマリ読み書きキャッシュエンジンがリッスンしているポートの番号。

ReadEndPoint.Addresses

読み取り専用レプリカのエンドポイントのリストがある文字列。 ReadEndPoint.Ports 属性からのポートの順序に対するアドレスマップの順序。

ReadEndPoint.Ports

読み取り専用レプリカのポートのリストがある文字列。 ReadEndPoint.Addresses 属性からのアドレスの順序に対するポートマップの順序。

ReadEndPoint.Addresses.List

読み取り専用レプリカのエンドポイントのリスト。ReadEndPoint.Ports.List 属性からのポートの順序に対するアドレスマップの順序。

ReadEndPoint.Ports.List

読み取り専用レプリカのポートのリスト。ReadEndPoint.Addresses.List 属性からのアドレスの順序に対するポートマップの順序。

Fn::GetAtt の使用の詳細については、「Fn::GetAtt」を参照してください。

2 つのノードのあるレプリケーショングループの宣言

次の例では、2 つのノードがあり、自動フェイルオーバーが有効になっているレプリケーショングループを宣言します。

JSON

Copy
"myReplicationGroup" : { "Type": "AWS::ElastiCache::ReplicationGroup", "Properties": { "ReplicationGroupDescription" : "my description", "NumCacheClusters" : "2", "Engine" : "redis", "CacheNodeType" : "cache.m3.medium", "AutoMinorVersionUpgrade" : "true", "AutomaticFailoverEnabled" : "true", "CacheSubnetGroupName" : "subnetgroup", "EngineVersion" : "2.8.6", "PreferredMaintenanceWindow" : "wed:09:25-wed:22:30", "SnapshotRetentionLimit" : "4", "SnapshotWindow" : "03:30-05:30" } }
YAML
Copy
myReplicationGroup: Type: "AWS::ElastiCache::ReplicationGroup" Properties: ReplicationGroupDescription: "my description" NumCacheClusters: "2" Engine: "redis" CacheNodeType: "cache.m3.medium" AutoMinorVersionUpgrade: "true" AutomaticFailoverEnabled: "true" CacheSubnetGroupName: "subnetgroup" EngineVersion: "2.8.6" PreferredMaintenanceWindow: "wed:09:25-wed:22:30" SnapshotRetentionLimit: "4" SnapshotWindow: "03:30-05:30"

2 つのノードグループのあるレプリケーショングループの宣言

次の例では、2 つのノードグループ (シャード) があり、各グループに 3 つのレプリカがあるレプリケーショングループを宣言します。

JSON

Copy
"BasicReplicationGroup" : { "Type" : "AWS::ElastiCache::ReplicationGroup", "Properties" : { "AutomaticFailoverEnabled" : true, "AutoMinorVersionUpgrade" : true, "CacheNodeType" : "cache.r3.large", "CacheSubnetGroupName" : { "Ref" : "CacheSubnetGroup" }, "Engine" : "redis", "EngineVersion" : "3.2", "NumNodeGroups" : "2", "ReplicasPerNodeGroup" : "3", "Port" : 6379, "PreferredMaintenanceWindow" : "sun:05:00-sun:09:00", "ReplicationGroupDescription" : "A sample replication group", "SecurityGroupIds" : [ { "Ref" : "ReplicationGroupSG" } ], "SnapshotRetentionLimit" : 5, "SnapshotWindow" : "10:00-12:00" } }
YAML
Copy
BasicReplicationGroup: Type: AWS::ElastiCache::ReplicationGroup Properties: AutomaticFailoverEnabled: true AutoMinorVersionUpgrade: true CacheNodeType: cache.r3.large CacheSubnetGroupName: Ref: CacheSubnetGroup Engine: redis EngineVersion: '3.2' NumNodeGroups: '2' ReplicasPerNodeGroup: '3' Port: 6379 PreferredMaintenanceWindow: sun:05:00-sun:09:00 ReplicationGroupDescription: A sample replication group SecurityGroupIds: - Ref: ReplicationGroupSG SnapshotRetentionLimit: 5 SnapshotWindow: 10:00-12:00

このページの内容: