如何使用 serverless.yml 部署 AWS elasticsearch
How to deploy AWS elasticsearch using serverless.yml
我需要使用 AWS elasticsearch 服务,但也想将其自动化。我们有无服务器配置。我们如何使用 serverless.yml 创建 AWS elasticsearch 服务?
您可以将 CloudFormation 资源添加到 "resources" 部分。对于 ElasticSearch,这看起来像这样。
service: aws-nodejs
provider:
name: aws
runtime: nodejs6.10
functions:
hello:
handler: handler.hello
environment:
elasticURL:
Fn::GetAtt: [ ElasticSearchInstance , DomainEndpoint ]
resources:
Resources:
ElasticSearchInstance:
Type: AWS::Elasticsearch::Domain
Properties:
EBSOptions:
EBSEnabled: true
VolumeType: gp2
VolumeSize: 10
ElasticsearchClusterConfig:
InstanceType: t2.small.elasticsearch
InstanceCount: 1
DedicatedMasterEnabled: false
ZoneAwarenessEnabled: false
ElasticsearchVersion: 5.3
要添加到 Jens 的回答中,您可能需要输出
您可以将其添加到您的 serverless.yml
配置中
Outputs:
DomainArn:
Value: !GetAtt ElasticsearchDomain.DomainArn
DomainEndpoint:
Value: !GetAtt ElasticsearchDomain.DomainEndpoint
SecurityGroupId:
Value: !Ref mySecurityGroup
SubnetId:
Value: !Ref subnet
我需要使用 AWS elasticsearch 服务,但也想将其自动化。我们有无服务器配置。我们如何使用 serverless.yml 创建 AWS elasticsearch 服务?
您可以将 CloudFormation 资源添加到 "resources" 部分。对于 ElasticSearch,这看起来像这样。
service: aws-nodejs
provider:
name: aws
runtime: nodejs6.10
functions:
hello:
handler: handler.hello
environment:
elasticURL:
Fn::GetAtt: [ ElasticSearchInstance , DomainEndpoint ]
resources:
Resources:
ElasticSearchInstance:
Type: AWS::Elasticsearch::Domain
Properties:
EBSOptions:
EBSEnabled: true
VolumeType: gp2
VolumeSize: 10
ElasticsearchClusterConfig:
InstanceType: t2.small.elasticsearch
InstanceCount: 1
DedicatedMasterEnabled: false
ZoneAwarenessEnabled: false
ElasticsearchVersion: 5.3
要添加到 Jens 的回答中,您可能需要输出
您可以将其添加到您的 serverless.yml
配置中
Outputs:
DomainArn:
Value: !GetAtt ElasticsearchDomain.DomainArn
DomainEndpoint:
Value: !GetAtt ElasticsearchDomain.DomainEndpoint
SecurityGroupId:
Value: !Ref mySecurityGroup
SubnetId:
Value: !Ref subnet