如何解决这是一个 AWS CloudFormation 模板,用于使用 Redis 引擎创建 ElastiCache 集群
我无法解决错误:属性 VpcSecurityGroupIds 的值必须是字符串列表类型。模板看起来像这样
AWstemplateFormatVersion: 2010-09-09
Description: Create ElastiCache and related resources
Parameters:
VPC:
Type: String
Publicsubnet1:
Type: String
Publicsubnet2:
Type: String
ClusterName:
Description: Custom name of the cluster. Auto generated if you don't supply your own.
Type: String
CacheNodeType:
Description: Cache node instance class,e.g. cache.t2.micro.
Type: String
Default: cache.t2.micro
ConstraintDescription: Node instance class not supported
AllowedValues:
- cache.t2.micro
- cache.t2.small
- cache.t2.medium
- cache.m4.large
- cache.m4.xlarge
- cache.m4.2xlarge
- cache.m4.4xlarge
- cache.m4.10xlarge
- cache.r4.large
- cache.r4.xlarge
- cache.r4.2xlarge
- cache.r4.4xlarge
- cache.r4.8xlarge
- cache.r4.16xlarge
CacheEngine:
Description: The underlying cache engine,either Redis or Memcached
Type: String
Default: redis
ConstraintDescription: Node instance class not supported
AllowedValues:
- redis
- memcached
CacheNodeCount:
Description: Number of nodes in the cluster. Only used with memcached engine,for redis this value will be set to 1.
Type: Number
MinValue: 1
MaxValue: 15
ConstraintDescription: Node count must be between 1 and 15
Default: 1
AutoMinorVersionUpgrade:
Description: Whether or not minor version upgrades to the cache engine should be applied automatically during the maintenance window.
Type: String
Default: true
AllowedValues:
- true
- false
Conditions:
IsRedis: !Equals [ !Ref CacheEngine,redis]
Resources:
SecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: ElastiCache Security Group
VpcId: !Ref VPC
SecurityGroupIngress:
-
IpProtocol: tcp
FromPort: !If [ IsRedis,6379,11211]
ToPort: !If [ IsRedis,11211]
Tags:
-
Key: Name
Value: "App-SG"
ElastiCacheCluster:
Type: AWS::ElastiCache::CacheCluster
Properties:
AutoMinorVersionUpgrade: !Ref AutoMinorVersionUpgrade
Engine: !Ref CacheEngine
CacheNodeType: !Ref CacheNodeType
ClusterName : !Ref ClusterName
NumCacheNodes: !If [ IsRedis,1,!Ref CacheNodeCount]
CachesubnetGroupName: Cache-SG
VpcSecurityGroupIds: !GetAtt SecurityGroup.GroupId
Tags:
- Key: Name
Value: ElastiCache-Redis
解决方法
应该是:
VpcSecurityGroupIds: [!GetAtt SecurityGroup.GroupId]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。