0. 먼얘기랴~!
이 글에는 aws Lambda가 무엇인지 이번시간에는 그냥 맛만 살짝 볼게요. 기본 Lambda만 만들어 보겠습니다.
1. Lambda가 머래유?
aws 기본 가이드 : https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/welcome.html?icmpid=docs_lambda_help
AWS Lambda란 무엇입니까? - AWS Lambda
AWS Lambda란 무엇입니까? Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다. Lambda는 고가용성 컴퓨팅 인프라에서 코드를 실행하고 서버와 운
docs.aws.amazon.com
Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다. Lambda는 고가용성 컴퓨팅 인프라에서 코드를 실행하고 서버와 운영 체제 유지 관리, 용량 프로비저닝 및 자동 조정, 코드 및 보안 패치 배포, 로깅 등 모든 컴퓨팅 리소스 관리를 수행합니다. Lambda를 사용하면 거의 모든 유형의 애플리케이션 또는 백엔드 서비스에 대한 코드를 실행할 수 있습니다. Lambda가 지원하는 언어 중 하나로 코드를 공급하기만 하면 됩니다.
뭔 얘긴지 원... ㅎ.

서버없이 그냥 함수 형태로 올려서 원하는 개발코드를 실행할수 있도록 하는 거다 생각하시면 됩니다. 서버가 어디서 어떻게 돌아가는지는 몰라도 된다는 거죠.
다만 람다는 지가 알아서 실행되거나 돌지는 않아요. 이녀석을 실행시켜주는 Trigger가 반드시 있어야합니다.
트리거 종류는 하다보면 자연스럽게 알게 되실거에요.
한가지 예를 들어보면 s3 파일이 새로 올라오는 경우 트리거 이벤트를 지원해주고, 여기에 해당 람다를 실행하도록 지정할 수 있습니다. 예로 s3에 이미지 파일이 올라왔는데, 썸네일을 자동으로 만들고 싶다 하는 경우 제일 흔한 예제로 많이들 보셨을거에요. 이런 겁니다.
끝.
이제 거두 절미하고, 하나 만들어보죠.

역시나 서비스를 하나 만들어서 구동시켜보겠다 하면,
첫번째로 생각할 것이 소유자와 권한이 되겠죠? 그럼 어디로 가야할까요?
그렇습니다. AWS IAM에 가서 유저를 생성하던, 기존유저에 적절한 권한을 부여해야겠죠.
2. AWS IAM에서 Lambda실행 가능한 사용자 만들기
aws IAM에서 사용자 추가 화면입니다.
1. lambda_easyaws라고 사용자를 추가하겠습니다.
2. 로그인도 할 수 있고, access key로도 접근할 수 있도록 하겠습니다.
3. 콘솔 비번은 그냥 지정하도록 할게요.
4. 다음 권한으로 이동합니다.
람다 사용자 그룹을 일단 하나 만들어서 진행할게요.
1. 그룹이름은 lambda_group
2. 정책도 하나 만들어볼게요.
관리형 정책 가져오기로 해서 만들게요.
lambda로 해서 FullAccess로 해서 가져오고요. s3도 같은 방법으로 해서 가져올게요.
lambda에서 s3로 접근하거나 하는 일이 많으니까요. 그리고, ssm이라고 parameter그룹도 사용할 수 있도록 추가해줄게요.
s3를 넣으니 2줄, Lambda하나 더 넣으니 권한이 엄청많이 들어가네요. Lambda가 뭔가 할수 있는일이 대박 많은가봅니다. 대박. 마지막 ssm까지 넣었습니다.
1. 다음:테그를 눌러 이동합니다.
마지막 정책이름과 설명 넣고,
3. 정책생성 합니다.
제 다시 그룹생성으로 돌아와서 필터링 해서 좀전에 만든 policy를 선택하고
3. 그룹생성합니다.
지금 사용자 만들고 있습니다. 잊지 않으셨죠?
사용자 만들려고 하다 그룹만들고 그룹만들려다 정책 만들어서 지금 거꾸로 하나씩 돌아와서 이제 사용자 만드는 마지막이죠. 좀전에 만든 그룹을 선택하고, 다음으로 넘어갑니다.
이제 1, 2 내용 확인하고, 3번 사용자만들기 진행합니다.
잘 만들어졌습니다.
1번 부분이 lambda_easyaws계정으로 해서 aws console에 접속할 수 있는 url입니다. 복사해 놓습니다.
그리고, 2, 3번 부분도 복사해놓습니다. aws cli를 사용할때 반드시 필요한거죠? 지난 시간에 다 한겁니다.
그리고 ~/credential파일을 열어서 2, 3번 내용으로 해서 그리고 프로필을 [lambda_easyaws]로 해서 추가해 놓도록 합니다. 지난 시간에 다 한겁니다.
2022.11.30 - [실전AWS-응용편/S3] - AWS CLI 설치 및 Profile만들어 S3 동기화
AWS CLI 설치 및 Profile만들어 S3 동기화
0. 먼얘기랴~! 이 글에서는 aws cli를 설치하고 s3 관련 명령어들을 실행해보고, 소스를 s3에 올리고 동기화해보는 내용을 담고 있습니다. 1. AWS CLI가 머래유? aws 기본 가이드 : https://docs.aws.amazon.com/ko
easyaws.tistory.com
IAM에서 한가지 더 할 일이 있습니다. 역할을 만드는 것인데요. Lambda를 생성할 때 Role을 지정하도록 되어있습니다.
위에서 만든 정책 lambda_poly의 수행자 역할을 하게 되는거다 생각해주심 됩니다.
1번 역할만들기를 클릭합니다.
1. AWS 서비스를 선택하고
2. Lambda를 선택
3. 다음으로 넘어갑니다.
기존에 만들어 놓았던 lambda_policy를 선택합니다.
다음 검토로 넘어가서
마지막 역할이름을 lambda_role이라고 입력하고 완료합니다.
3. AWS IAM에서 만든 사용자로 console접속해보기
이제 접속해봅니다.
브라우져 주소표시줄에 위 이미지 1번에서 aws console에 접속할 수 있는 url이라고 한 부분으로 접속하면
아래와 같이 표시됩니다.
root계정으로 접속하는 것과는 좀 다르죠.
1번에 12자리 숫자가 알아서 들어가있을 겁니다.
그리고, 계정만들때 지정했던 사용자이름과 암호를 입력하고 [로그인] 합니다. 저는 크롬 씨크릿창으로 새로 열었습니다.
새로 접속한 모습니다. 위에서 Lambda를 클릭해봅니다.
4. AWS Lambda 하나 만들어 보기
여기까지 잘 오셨습니다.
1. 함수 생성을 눌러서 하나 만들어볼게요.
1. 새로 작성
2. 함수이름은 myLambdaTest로 하겠습니다.
3. 런타임은 Python 3.9를 선택하겠습니다.
기본실행역할변경부분에서
1. 기존역할사용을 선택하고
기존역할은 2번 lambda_role을 선택합니다
3.번 함수생성을 클릭합니다.
축하합니다. 일단 먼지도 모르겠지만 대뜸 만들었습니다.

이제 하나씩 볼거입니다. 걍 냄새만 맡는 거에요. ㅎㅎㅎ
위에서 3번 테스트를 해볼겁니다. 잘 만들어진건지.
테스트가 잘 되었나봅니다. 성공이랍니다.
소스를 좀 수정해볼까요?
1. 코드탭으로 이동합니다.
2. lambda_function 탭으로 가서
3. Hi Lambda~~~!!! 이렇게 수정을 한 후
4. Deploy버튼을 클릭합니다.
변경되었는지 다시 테스트해봐야겠죠?
1. 테스트탭으로 이동합니다.
2. 이번에는 이벤트 이름부분을 MyTest로 수정하고
3. 저장버튼을 누른다음
4. 테스트를 눌러봅니다.
Hi Lambda~~~!! 잘 바뀐게 보이죠?
오늘은 여기까지만 하고요.
다음시간에 이제 여기서 s3 버킷 목록조회도 한번 해볼겁니다.
실무에서는 실제로 여기다 직접 코딩하지는 않아요. 간단한거야 하겠지만요.
5. 람다는 비싼가?
https://aws.amazon.com/ko/lambda/pricing/
서버리스 컴퓨팅 – AWS Lambda 요금 – Amazon Web Services
aws.amazon.com
음... 누구는 비싸다 그러는데 제 생각에는 비싸지는 않은 것 같습니다. 무료지원하는 Request량도 커서
테스트개발로 개인이 하는데는 거의 무료라고 봐야할 것 같아요.
자 그럼 다음시간에는
Local에 python을 설치해서 가상환경상에서 개발(이메일발송)도 일부 해보고
실제로 Lambda에 배포를 해보는 것까지 해 볼 예정입니다.
기대하셔용~~~!

Lambda 맛보기 대충 버젼
1. IAM에 가서 Console접근도 되고, 프로그램방식 접근도 가능한 계정하나 파면서
2. 권한은 s3, lambda, ssm권한 만들고, 정책은 이 권한 물고 있는 정책하나 만든다음
3. Lambda에 가서 함수하나 만들면 끝.
4. 머 IAM이 작업이 많지 아직 제대로 맛도 못봤네.
5. 건물올리는데 이제 땅팠으니....
6. 나머지는 금방여. 다음시간에 봐유~
아휴 이거 머 별거아녀~ 머 이까이꺼 머 대충 머.

주의!
내용상에 잘못된 정보도 있을 수 있습니다. 내가 아는대로 적는거라.
그리고, 심한 사투리와 반말이 무자비하게 섞여있으니, 임산부 및 노약자는 유의하시기 바랍니다. 알겄쥬?
'실전AWS-응용편 > Lambda' 카테고리의 다른 글
개발한 application을 aws lambda에 aws cli로 배포해 보기 (1) | 2022.12.08 |
---|