참고 블로그: https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html
Lambda
VPC
VPC 내부 서비스(EC2, DB)와 통신하려면 Lambda는 eni가 있어야 하므로, eni를 임시 부여받을 VPC를 지정해야한다.
eni를 부여받을 VPC 및 서브넷, 보안그룹을 지정한다.
IAM Role
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"lambda:*",
"ec2:DeleteNetworkInterface",
"docdb-elastic:ListClusterSnapshots",
"ec2:DescribeSubnets",
"docdb-elastic:CreateCluster",
"ec2:DescribeSecurityGroups",
"docdb-elastic:ListClusters"
],
"Resource": "*"
},
Lambda와 연결한 IAM Role의 Policy에는 eni 생성 및 삭제하는 권한이 정의가 되어있어야 한다.
Lambda 런타임
파이썬, 루비, 자바, 고 및 닷넷 코어(C# 및 파워셀)
사용자 지정 런타임 업로드하여 C++, 코볼 및 기타 언어로 코드 실행 가능
프로세서 선택
x86_64(인텔) 와 arm64(그래비톤2) 중 선택 1
함수 트리거
다양한 이벤트를 기반으로 람다 함수 호출을 트리거할 수 있음
- S3
- ALB
- 도메인, 요청방식(GET, PUT, POST), URL에 따라 람다로 라우팅 가능
- API Gateway
- 서로 다른 API 호출, 원본 또는 엔드포인트에 따라 람다 함수 호출
- SNS
- SES
- Cognito
- CloudFront
- CloudTrail
- CodeCommit
Lambda는 평소에는 ENI를 차지 하지 않다가, 실행 시 ENI를 동적으로 생성하고 사용한다.
여기서 ENI는 Lambda를 실행하고자 하는 VPC의 ENI를 차지한다.
메시지 수가 증가하면 동시성 제한 우려
SQS 도입 필요
실습 참고
'AWS > Service' 카테고리의 다른 글
AWS VIF(가상 인터페이스) (0) | 2023.11.25 |
---|---|
EFS 자동 마운트 (0) | 2023.11.13 |
VPC 엔드포인트 (0) | 2023.10.29 |
Account (역할 전환 실습) (1) | 2023.10.27 |
Account (Multi-Account 간 리소스 공유) (0) | 2023.10.27 |