通过CloudFormation创建AWS OpenSearch域出现InternalFailure错误如何解决?
CloudFormation创建AWS OpenSearch域InternalFailure报错解决方案
报错信息:"Resource handler returned message: "null" (RequestToken: 90149a2b-10a1-2609-20e0-9e839731fc2f, HandlerErrorCode: InternalFailure)"
- 修复模板缩进语法错误
你定义的第一个日志组LogsLogGroup下的Type、Properties字段没有正确缩进,所有资源属性必须缩进在所属资源的层级下,修正后的代码片段如下:Resources: LogsLogGroup: Type: "AWS::Logs::LogGroup" Properties: LogGroupName: "/aws/aes/domains/domainName/application-logs" - 修正主用户密码复杂度
AdvancedSecurityOptions下的MasterUserPassword必须符合OpenSearch密码规则:长度不少于8位,同时包含大写字母、小写字母、数字、特殊字符四类字符,替换你当前的弱密码password为符合要求的密码即可。 - 匹配可用区与子网配置
你的集群配置ZoneAwarenessConfig.AvailabilityZoneCount设置为2,但VPCOptions.SubnetIds传入了3个子网,二者数量必须保持一致。可将可用区数量修改为3,或仅传入2个子网到VPC配置中。 - 新增CloudWatch日志组写入权限
你需要额外定义日志资源策略,授权OpenSearch服务可写入你创建的三个日志组,否则日志发布配置会触发内部错误,新增如下资源配置即可:OpenSearchLogGroupPolicy: Type: AWS::Logs::ResourcePolicy Properties: PolicyName: OpenSearchLogAccess PolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: Service: "es.amazonaws.com" Action: - logs:CreateLogStream - logs:PutLogEvents Resource: - !Sub "arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/aes/domains/domainName/application-logs:*" - !Sub "arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/aes/domains/domainName/index-logs:*" - !Sub "arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/aes/domains/domainName/search-logs:*"
完成以上修改后重新部署CloudFormation堆栈即可解决该报错。
内容的提问来源于stack exchange,提问作者Rahul Gupta
相关产品推荐
相关产品推荐

