CloudFormation에서 Lambda 함수 배포 (초보)
15873 단어 CloudFormation람다
개요
Lambda 함수 배포 자동화를 위한 CloudFormation을 사용한 Lambda 함수 배포
※이 기사의 목표는 S3에 있는 python의 zip 파일에서 Lambda 함수를 작성하는 곳까지입니다.
2018-11-15 업데이트
속성에 대해 자세히 정리한 기사 쓴
AWS::Lambda::Function 속성
참고 자료
기본은 공식 문서 참조
준비
1. Lambda 함수로 만드는 파이썬 파일
쓸데없이 쓰레기를 써도 불필요한 생각이 들어 버리므로 이번은 심플하게 ↓ 이런
test.py
# coding: utf-8
def lambda_handler(event, context):
print "OK!!"
2. zip 파일
이전의 test.py를 zip 형식으로 압축하여 모든 S3 버킷에 업로드
3. 템플릿 파일 준비
공식 문서에 따르면
AWS::Lambda::Function
에 필요한 속성은 다음과 같습니다 (JSON).템플릿
{
"Type" : "AWS::Lambda::Function",
"Properties" : {
"Code" : Code,
"DeadLetterConfig" : DeadLetterConfig,
"Description" : String,
"Environment" : Environment,
"FunctionName" : String,
"Handler" : String,
"KmsKeyArn" : String,
"MemorySize" : Integer,
"ReservedConcurrentExecutions" : Integer,
"Role" : String,
"Runtime" : String,
"Timeout" : Integer,
"TracingConfig" : TracingConfig,
"VpcConfig" : VPCConfig,
"Tags" : [ Resource Tag, ... ]
}
}
여기에서 우선 필요한 것을 남기면 ↓
{
"Type" : "AWS::Lambda::Function",
"Properties" : {
"Code" : Code,
"Description" : String,
"FunctionName" : String,
"Handler" : String,
"Role" : String,
"Runtime" : String,
}
}
속성 설명
4. 이상과 문서에서 템플릿 파일 만들기
※임의로는 ※(미표)를 넣어 둡니다.
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Description" : "※sample of cloudformation template for deploying a lambda function form S3.",
"Resources" : {
"※HelloSample": {
"Type" : "AWS::Lambda::Function",
"Properties" : {
"Code" : {
"S3Bucket" : "※S3のバケット名",
"S3Key" : "※test.zip"
},
"Description" : "※test deploy lambda template",
"FunctionName" : "※test_lambda_function",
"Handler" : "※test.lambda_handler",
"Role" : { "Fn::GetAtt" : ["LambdaExecutionRole", "Arn"] },
"Runtime" : "python2.7",
}
},
"LambdaExecutionRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [{ "Effect": "Allow", "Principal": {"Service": ["lambda.amazonaws.com"]}, "Action": ["sts:AssumeRole"] }]
},
}
}
}
}
5. CloudFormation에서 스택 생성
5-1. 템플릿을 AmazonS3에 업로드
방금 만든 템플릿 파일을 업로드합니다.
5-2. 상세 설정
스택의 임의 이름을 입력
※이번은
test-deploy-lambda-function
라는 이름으로 설정합니다.5-3. 옵션
특히 기본값으로 두는 것이 좋지만 타임 아웃 만을 위해 설정하십시오 (5 분 정도)
5-4. 작성
위의 설정으로
作成
버튼을 누르십시오.이상
확인
작성 버튼을 누르고 바로 스택의 상세 화면에 가면 이미 Lambda 함수를 deploy 해 주고있는 모습
지정한 이름으로 Lambda 함수가 생성되었는지
내용은 test.py의 내용인가?
Handler도 지정한 것인가?
끝
이번에는 전혀 실용적이지 않고 초보가되어 버렸지만, 여기까지 도착하는 데 3 일 정도 걸렸기 때문에 일단 여기까지 할 수 있으면 나머지는 템플릿의 속성 구사하여 실천적이 될 수 있을까. ...
뭔가 도움이되면
Reference
이 문제에 관하여(CloudFormation에서 Lambda 함수 배포 (초보)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/da-sugi/items/d2ba119a0e35ad1b352e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)