AWSLambda실행기 4

Prameter Store를 이용해 CDK stack에서 하드코드 없애기

하드코딩이라 함은 소스코드 내부에 밖으로 새어 나가서는 안되는 정보(e.g. accesskey, secretaccesskey, host, wdbhook url 등)가 적혀있는 것을 말한다. 로컬에서 개발하는 단계에는 그런 정보가 있으나 없으나 상관은 없겠다만 commit & push를 해 버리면 위험하다. git이나 github 레포지토리에 그 이력이 남기 때문에 악의를 가진 사람들이 작정하고 알아내려 한다면 알아낼 수 있을거고 그런 위험에 대비하기 위해서는 commit해버린 정보를 파기하고 그 정보와 관련된 모든 서비스 혹은 프로그램, 소프트웨어 등을 새로 정보설정해야하는 큰일이 벌어질 것이다. 하지만 아무리 머리 속으로 생각해도 간혹 이런 중요한 방침을 잊어버릴 일도 있지 않겠는가..(내가 방금 저 ..

AWS 노트 2020.04.17

Lambda 함수 실행기 (4) AWS Cloud Watch 이용해서 주기적으로 Lambda 함수 실행시키는 CDK Stack 구축하기

오늘의 과제: 5분 간격으로 기동되는 Lambda handler를 CDK stack 안에서 구현하기 (handler를 5분 간격으로 기동되게 하는 것이 아니라 5분 동안 축적된 쿼리를 handler가 처리하게 하려면 aws-lambda-event-source 사용해야 함) AWS 설명서: Amazon Cloud Watch Amazon Cloud Watch AWS 리소스와 AWS에서 기동하는 프로그램을 실시간으로 모니터링 할 수 있음 지표 모니터링할 변수 데이터 요소: 시간에 따른 변수 값 순서 상관 없이 추가 가능 정렬된 시계열 집합으로 검색 가능 타임스탬프, 측정 단위 CloudWatch에 게시된 시간순 데이터 요소 세트 e.g. EC2 인스턴스의 CPU 사용량 AWS 서비스는 CloudWatch에 지..

AWS 노트 2020.04.09

AWS Lambda Python 실행기 (2)

event: { "key1": "value1", "key2": "value2", "key3": "value3" } 저번 글에 작성한 함수의 에러를 찾기보다 먼저 handler를 파악해야 했다. AWS Lambda에서 제공하는 위의 테스트 이벤트를 사용해 handler를 만든다. handler 1: import json def lambda_handler(event, context): return event["key1"] result 1: Response: "value1" 에러가 나지 않고 실행되었다. handler 2: import json def lambda_handler(event, context): return event retult 2: Response: { "key1": "value1", "key..

AWS 노트 2020.04.06

AWS Lambda Python 실행기 (1)

코드를 쓰기까지 콘솔에 로그인 Lambda 선택 함수 함수 생성 새로 작성 함수 이름: hello_lambda 런타임: Python 3.x 권한: 기본 Lambda 권한을 가진 새 역할 생성 "Lambda 이름이 [myFunctionName]-role-[some_number_and_alphabet]이고 Amazon CloudWatch Logs에 로그를 업로드할 수 있는 권한이 포함된 실행 역할을 생성합니다." 함수 생성 hello_lambda Code entry type: 코드 인라인 편집 런타임: Python 3.x 핸들러: lambda_function.lambda_handler 오른쪽 위 '테스트' 버튼: 테스트 이벤트 evend: HelloKeys 함수 핸들러(handler) import json ..

AWS 노트 2020.04.03