궁극적으로 환경변수가 필요한 이유는, 코드에서 아이디나, 비밀번호가 필요한 경우가 있을 수 있기 때문입니다. 그래서 이를 하드코딩 되서 외부에 노출되는 것보다 환경변수를 통해 백단에 숨겨주는 것이 좋습니다.
일단 실습을 위해 secret에 hyunseo라고 지정해 주었습니다.
function Function
import json
import os
def lambda_handler(event, context):
# TODO implement
print(os.getenv("secret"))
return 1
# return {
# 'statusCode': 200,
# 'body': json.dumps('Hello from version2!')
# }
다음과 같이 Lambda 함수를 작성해서 환경변수에 등록된 값을 출력해 보도록 하겠습니다.
다음과 같이 hyunseo라는 값이 잘 출력되고 1이 response로 잘 주어진 것을 보실 수 있습니다.
궁극적으로 이렇게 환경변수를 설정하는 것은 별로 안전하지 못합니다. 우리는 IAM Role을 설정해서 접근할 수 있는 권한을 주고, KMS로 저 안에 있는 value들을 암호화 해서 Lambda 함수 안에서 복호화 해서 사용하는 방법이 가장 안전합니다.
이도 나중에 시간이 나면 한번 시도해 보도록 하겠습니다.
'DevOps > AWS Architecture' 카테고리의 다른 글
[ DevOps ] - (AWS Lambda) EFS 파일시스템 생성 + 연동 (0) | 2022.07.20 |
---|---|
[ DevOps ] - (AWS Lambda) Layers (0) | 2022.07.19 |
[ DevOps ] - (AWS Lambda) 버전관리와 Alias (0) | 2022.07.19 |
[ DevOps ] - (AWS Lambda) 스케일링과 동시성 (0) | 2022.07.19 |
[ DevOps ] - (API 게이트웨이) Cors (0) | 2022.07.19 |