本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
aws-lambda-彈性搜索-基班納
所有類都在積極開發中,並且在任何未來版本中都會受到非向後兼容的更改或刪除。這些不受語義版本控制
請注意: 為了確保功能正確,專案中的 AWS 解決方案建構套件和 AWS CDK 套件必須是相同的版本。
| 語言 | 套件 |
|---|---|
|
aws_solutions_constructs.aws_lambda_elasticsearch_kibana
|
|
@aws-solutions-constructs/aws-lambda-elasticsearch-kibana
|
|
software.amazon.awsconstructs.services.lambdaelasticsearchkibana
|
Overview
此 AWS 解決方案建構實作 AWS Lambda 函數和具有最低權限的 Amazon Elasticsearch Service 網域。
下面是 TypeScript 中的最小可部署模式定義:
import { LambdaToElasticSearchAndKibana } from '@aws-solutions-constructs/aws-lambda-elasticsearch-kibana'; import { Aws } from "@aws-cdk/core"; const lambdaProps: lambda.FunctionProps = { runtime: lambda.Runtime.NODEJS_14_X, // This assumes a handler function in lib/lambda/index.js code: lambda.Code.fromAsset(`${__dirname}/lambda`), handler: 'index.handler' }; new LambdaToElasticSearchAndKibana(this, 'test-lambda-elasticsearch-kibana', { lambdaFunctionProps: lambdaProps, domainName: 'test-domain', // TODO: Ensure the Cognito domain name is globally unique cognitoDomainName: 'globallyuniquedomain' + Aws.ACCOUNT_ID; });
Initializer
new LambdaToElasticSearchAndKibana(scope: Construct, id: string, props: LambdaToElasticSearchAndKibanaProps);
參數
-
scope
Construct -
id
string
模式建立道具
| 名稱 | 類型 | 描述 |
|---|---|---|
| 現在還有蘭姆達伯? |
lambda.Function
|
Lambda 函數對象的現有實例,同時提供這個和lambdaFunctionProps會導致錯誤。 |
| 拉姆針灸道具? |
lambda.FunctionProps
|
選用的使用者提供的屬性來覆寫 Lambda 函數的預設屬性。忽略existingLambdaObj提供。 |
| 電子域名道具? |
elasticsearch.CfnDomainProps
|
可選用的使用者提供的道具,以覆寫 Amazon Elasticsearch Service 的預設道具 |
| domainName |
string
|
Cognito 和 Amazon Elasticsearch Service 的域名 |
| 科尼托網域名稱? |
string
|
選擇性 Cognito 網域名稱。如果有提供,它將用於 Cognito 網域,而domainName將用於彈性搜索域。 |
| 創建雲端觀察器 |
boolean
|
是否要建立建議的警報。 |
| 網域端點虛擬名稱變數名稱? |
string
|
為 Lambda 函數設定的 ElasticSearch 網域端點環境變數選擇性名稱。 |
模式性質
| 名稱 | 類型 | 描述 |
|---|---|---|
| CloudwatchAlims? |
cloudwatch.Alarm[]
|
傳回模式建立的一或多個 CloudWatch 警示的清單。 |
| 彈性搜尋網域 |
elasticsearch.CfnDomain
|
返回由圖案創建的 Elasticsearch 域的實例。 |
| 彈性搜尋網域角色 |
iam.Role
|
傳回 Elasticsearch 網域模式所建立的 IAM 角色執行個體。 |
| IdentityPool |
cognito.CfnIdentityPool
|
傳回由模式建立的 Cognito 身分識別集區的執行個體。 |
| Lambda FAULT |
lambda.Function
|
返回由模式創建的 Lambda 函數的實例。 |
| userPool |
cognito.UserPool
|
傳回由模式建立的 Cognito 使用者集區的執行個體。 |
| UserPoolClient |
cognito.UserPoolClient
|
傳回由模式建立的 Cognito 使用者集區用戶端的執行個體。 |
Lambda 功能
此模式需要 Lambda 函數,該函數可以從 DynamoDB 串流將資料張貼至 Elasticsearch 服務。提供範例函數這裡
預設設定
此模式的開箱即用實現沒有任何覆蓋將設置以下默認值:
AWS Lambda 功能
-
設定 Lambda 函數的有限權限存取 IAM 角色。
-
針對 NodeJS Lambda 函數啟用重複使用連線的功能。
-
啟用 X-Ray 追蹤。
-
設定環境變數:
-
DOMAIN_ENDPOINT(default) -
AWS_NODEJS_CONNECTION_REUSE_ENABLED(對於節點 10.x 和更高版本的函數)
-
Amazon Cognito
-
設定「使用者集區」的密碼策略。
-
強制執行「使用者集區」的進階安全模式。
Amazon Elasticsearch Service
-
針對彈性搜尋網域部署最佳實務 CloudWatch 警示。
-
使用 Cognito 使用者集區保護 Kibana 儀表板存取權。
-
使用 AWS 受管的 KMS 金鑰為彈性搜尋網域啟用伺服器端加密。
-
啟用 Elastisearch 網域的節點對節點加密。
-
為 Amazon ES 網域設定叢集。
Architecture
GitHub
| 要查看此模式的代碼,創建/查看問題和提取請求,以及更多: | |
|---|---|
|
@aws-解決方案-構造/aw-lambda-彈性搜索-kibana |