Zappa
개요Zappa
역할Lambda가 웹서버로 작동하기 위한 모든 과정을 포함하고 있다.
Stage 기반으로 AWS 인프라를 개발환경으로 관리
zappa deploy <환경이름>
zappa update <환경이름>
django remote manage
zappa manage <환경이름>
tail
status
Zappa
세팅API Gateway + lambda + RDS 환경 가정
AWS credential
Docker 설정
zappadock
을 이용한다pip freeze > requirements.txt
로 문서화한다.pip install -r 'requirements.txt'
로 설치한다.psycopg2-binary
libpq
가 없어서 바이너리로 설치해야된다.VPC 설정
RDS 설정
zappa
에서는 RDS를 설정할 수 없으므로 미리 RDS를 AWS에 생성해주자.기본 설정 자동화 :question:
IaC
로 자동화할 필요는 없는 것 같다.Zappa
에서 소개하는 자동화 라이브러리는 있지만 업데이트가 되지 않는다.Zappa
세부 설정vpc_config
"vpc_config": {
// 아키텍처상 lambda가 놓여야 할 subnet id
// 여러 subnet에 배치할 수 있다.
"SubnetIds": [ "subnet-12345678" ],
// 다른 리소스에 접근하기 위해 설정해둔 보안그룹
"SecurityGroupIds": [ "sg-12345678" ]
},
events
"events": [
{
"function": "your_module.your_recurring_function",
"expression": "rate(1 minute)"
},
{
"function": "your_module.your_reactive_function",
"event_source": {
"arn": "arn:aws:s3:::my-bucket",
"events": [
"s3:ObjectCreated:*"
]
}
}
],
keep_warm
"events": [
{
"function": "your_module.your_recurring_function",
"expression": "rate(1 minute)"
},
{
"function": "your_module.your_reactive_function",
"event_source": {
"arn": "arn:aws:s3:::my-bucket",
"events": [
"s3:ObjectCreated:*"
]
}
}
],