我正在尝试通过无服务器yaml配置更新AWS elasticsearch访问策略:
resources:
Resources:
ELInstanceName:
Type: "AWS::Elasticsearch::Domain"
Properties:
ElasticsearchVersion: "7.1"
DomainName: "domain-name"
ElasticsearchClusterConfig:
DedicatedMasterEnabled: false
InstanceCount: "3"
ZoneAwarenessEnabled: false
InstanceType: "m4.large.elasticsearch"
EBSOptions:
EBSEnabled: true
Iops: 0
VolumeSize: 10
VolumeType: "gp2"
AccessPolicies:
Version: "2012-10-17"
Statement:
-
Effect: "Allow"
Principal:
AWS:
- arn:aws:iam::XXXXXXXXX:user/user1
- arn:aws:iam::XXXXXXXXX:user/user2
- arn:aws:iam::XXXXXXXXX:role/Cognito_custom_Auth_Role
Action: "es:*"
Resource: "*"在执行命令serverless deploy时,执行挂起或终止,出现以下错误
............
Serverless: Operation failed!
Serverless Error ---------------------------------------
An error occurred - domain-name elasticsearch instance already exists.此外,有时命令执行时没有错误,但在AWS控制台中选中时,ES访问策略没有变化。
我是否缺少用于更新资源的任何配置详细信息?如何使用serverless更新ES资源的访问策略?
发布于 2020-05-11 19:04:55
如果指定名称,则不能执行需要替换此资源的更新。您可以执行不需要中断或某些中断的更新。如果必须替换资源,请指定新名称。
如果AccessPolicies的更新确实需要替换域,这将解释您的问题。根据文档,它不是,但也许有一些其他的变化正在进行的域名,有吗?
一种解决方法是不对DomainName进行硬编码。
https://stackoverflow.com/questions/61725440
复制相似问题