[英]Cloud Formation template for AWS::ElastiCache::GlobalReplicationGroup
wanted to create Redis global datastore using CF, following the guidelines https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html想要使用 CF 创建 Redis 全局数据存储,遵循指南https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.79D698FDC7A8D5FC6C
but no luck, I can create Redis cluster but not the global data store: My code:但没有运气,我可以创建 Redis 集群但不能创建全局数据存储:我的代码:
AWSTemplateFormatVersion: '2010-09-09'
Description: redis deployment.
Parameters:
RedisSubnets:
Description: PRIVATE Subnets for subnet group
Type: "List<String>"
VpcId:
Description: The VPC that the Postgres DB is deployed to
Type: AWS::EC2::VPC::Id
NodeType:
Description: Node type for redis service
Type: String
ClusterName:
Description: Cluster name for redis service
Type: String
AvailabilityZones:
Description: Availability zones for redis service
Type: "List<String>"
CidrIp1:
Description: Ingress CIDr
Type: String
Default: 0.0.0.0/0
CidrIp2:
Description: Ingress CIDr
Type: String
Default: 0.0.0.0/0
Resources:
RedisSubnetGroup:
Type: AWS::ElastiCache::SubnetGroup
Properties:
CacheSubnetGroupName: !Sub ${AWS::StackName}-subnetgroup
Description: "Subnet group for redis server"
SubnetIds: !Ref RedisSubnets
RedisSecurityGroup:
Type: "AWS::EC2::SecurityGroup"
Properties:
VpcId: !Ref VpcId
GroupDescription: "A component security group allowing access only to redis"
ElasticacheComponentSecurityGroup:
Type: "AWS::EC2::SecurityGroup"
Properties:
GroupDescription: "Elasticache security group"
SecurityGroupIngress:
-
IpProtocol: "tcp"
FromPort: 6379
ToPort: 6379
CidrIp: !Ref CidrIp1
-
IpProtocol: "tcp"
FromPort: 6379
ToPort: 6379
CidrIp: !Ref CidrIp2
VpcId: !Ref VpcId
RedisService:
Type: AWS::ElastiCache::ReplicationGroup
Properties:
AutoMinorVersionUpgrade: false
CacheNodeType: cache.r5.large
CacheParameterGroupName: default.redis6.x
CacheSubnetGroupName: !Ref RedisSubnetGroup
ReplicationGroupId: !Ref ClusterName
SecurityGroupIds:
- !Ref ElasticacheComponentSecurityGroup
Engine: "Redis"
EngineVersion: "6.2"
NumNodeGroups: 1
AutomaticFailoverEnabled: false
ReplicationGroupDescription: Sample Redis group for scaling
Port: 6379
globalreplication:
Type: AWS::ElastiCache::GlobalReplicationGroup
Properties:
AutomaticFailoverEnabled: false
GlobalReplicationGroupDescription: description example
GlobalReplicationGroupIdSuffix: test
Members:
- ReplicationGroupId: !Ref ClusterName
ReplicationGroupRegion: eu-west-1
Role: primary
RegionalConfigurations:
- ReplicationGroupId: test-redis-eu-west-2
ReplicationGroupRegion: eu-west-2
Outputs:
redisUrl:
Description: URL for newly created redis service
Value: !Ref RedisService
if any one can help, I am getting This error:如果有人可以提供帮助,我会收到此错误:
Properties validation failed for resource globalreplication with message: #/Members/0/Role: #: only 1 subschema matches out of 2 #/Members/0/Role: failed validation constraint for keyword [enum]
资源全局复制的属性验证失败,消息为:#/Members/0/Role:#: 2 个子模式中只有 1 个匹配 #/Members/0/Role: 关键字 [enum] 的验证约束失败
globalreplication:
Type: AWS::ElastiCache::GlobalReplicationGroup
DependsOn: RedisService
Properties:
AutomaticFailoverEnabled: false
GlobalReplicationGroupDescription: description example
GlobalReplicationGroupIdSuffix: test
Members:
- ReplicationGroupId: !Ref ClusterName
ReplicationGroupRegion: eu-west-1
Role: PRIMARY
This will add the primary node and create new global data store and then need to add the secondary node in the newly created global data store, you can see the prefixes here https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastores-CLI.html :这将添加主节点并创建新的全局数据存储,然后需要在新创建的全局数据存储中添加辅助节点,您可以在此处查看前缀https://docs.aws.amazon.com/AmazonElastiCache/latest/ red-ug/Redis-Global-Datastores-CLI.html :
RedisService:
Type: AWS::ElastiCache::ReplicationGroup
Properties:
CacheSubnetGroupName: !Ref RedisSubnetGroup
ReplicationGroupId: !Ref ClusterName
SecurityGroupIds:
- !Ref ElasticacheComponentSecurityGroup
GlobalReplicationGroupId: gxeiz-test
ReplicationGroupDescription: Sample Redis group for scaling
Port: 6379
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.