Lambda 함수 수동 등록
Lambda 함수 수동 등록
이 주제는 Lambda 함수를 Consul에 수동으로 등록하는 방법을 설명해요. 등록을 자동화하려면 Lambda registrator를 사용하는 방법에 대한 정보는 Automate Lambda Function Registration을 참조하세요.
출처: 문서
본문
이 주제는 Lambda 함수를 Consul에 수동으로 등록하는 방법을 설명합니다. 등록을 자동화하려면 Lambda registrator를 사용하는 방법에 대한 정보는 Automate Lambda Function Registration을 참조하세요.
요구 사항 (Requirements)
환경이 Lambda Function Registration Requirements에 지정된 요구 사항을 충족하는지 확인하세요.
메시 서비스가 호출할 수 있도록 Lambda 함수를 수동으로 등록하려면 Lambda 함수에 대한 서비스 등록 구성을 만들고 적용하고, 함수에 대한 service defaults 구성 항목을 작성해야 합니다.
Lambda 함수 등록
Lambda registrator로 프로세스를 자동화할 수 없다면 Lambda 함수를 수동으로 등록할 수 있습니다.
- 서비스 등록 구성을 만듭니다. 다음 예시를 복사하고
<SERVICE_NAME>을 Lambda 함수의 Consul 서비스 이름으로 바꾸세요. lambda.json{ "Node": "lambdas", "SkipNodeUpdate": true, "NodeMeta": { "external-node": "true", "external-probe": "true" }, "Service": { "Service": "<SERVICE_NAME>" } } - 구성을
lambda.json에 저장합니다. - 서비스를 등록하려면
catalog/registerAPI 엔드포인트로 구성을 보냅니다. 예:$ curl --request PUT --data @lambda.json localhost:8500/v1/catalog/register service-defaults구성 항목을 만들고EnvoyExtensions구성에 Lambda 함수를 호출하는 데 사용되는 AWS 태그를 포함하세요. 자세한 내용은 SupportedEnvoyExtensionarguments을 참조하세요.
다음 예시는 lambda라는 service-defaults 구성 항목을 만듭니다.
lambda-service-defaults.hcl
Kind = "service-defaults"
Name = "<SERVICE_NAME>"
Protocol = "http"
EnvoyExtensions = [
{
"Name": "builtin/aws/lambda",
"Arguments": {
"Region": "us-east-2",
"ARN": "<INSERT ARN HERE>",
"PayloadPassthrough": true
}
}
]
consul config write명령을 실행해 구성 항목을 저장합니다. 예:$ consul config write lambda-service-defaults.hcl
지원되는 EnvoyExtension 인자
lambda Envoy 확장은 다음 인자를 지원합니다.
ARN(string) - 서비스의 Lambda에 대한 AWS ARN을 지정합니다.ARN은 유효한 Lambda 함수 ARN으로 설정해야 합니다.Region(string) - Lambda가 실행 중인 AWS 리전을 지정합니다.Region은 Lambda 함수가 존재하는 유효한 AWS 리전으로 설정해야 합니다.PayloadPassthrough(boolean: false) - Envoy가 받는 본문이 JSON으로 변환되는지 아니면 Lambda에 직접 전달되는지 결정합니다.InvocationMode(string: synchronous) - Consul이 Lambda를synchronous또는asynchronous호출 모드로 호출하도록 구성할지 결정합니다.