-
필요성
- 인프라 관리에 너무 많은 시간을 할애합니다. 중요한 작업에 더 많은 시간을 할애하고 프로비저닝 시간을 줄여야 합니다.
서버리스 환경 구현
서버리스 컴퓨팅
- 서버를 관리하지 않고 앱과 서비스를 구축하고 실행
- 구성이 아니라 애플리케이션에 집중
- 요청 시에만 컴퓨팅 리소스 사용 (비용 절감)
- 마이크로서비스 아키텍처 구축
AWS Lambda
- 완전 관리형 컴퓨팅 서비스
- 상태 비저장 코드 실행
- Node, Java, Python, C#, Go 및 Ruby 지원
- 일정 또는 이벤트에 대한 응답으로 코드 실행 ( 예:
S3 버킷 또는 DynamoDB 테이블의 데이터 변경)
- 엣지에서 실행 가능
작동 방식
zip파일 람다함수에 올림 -> 명령 실행시간 최대 15분, (memory 올리면 cpu 도 올라간다, 최대 10GB)
Lambda가 처리하는 작업 Lambda를 사용해 할 수 있는 작업 -서버
-용량 요구
- 배포
-조정 및 내결함성
-OS 또는 언어 업데이트
- 지표 및 로깅- 자체 코드 사용 가능(네이티브 라이브러리 포함)
- 코드를 병렬로 실행
- 백엔드, 이벤트 핸들러 및 데이터 처리 시스템 생성
- 유휴 리소스에 대해 비용을 지불할 필요가 없음API GW
- 현관 역할을 하는 API를 생성
- 최대 수십만 건의 동시 API 호출을 처리합니다.
- 람다와 잘 맞다
- 엔드포인트 노출 방치
- ddos 보호
- 다양한 버전과 단계의 API를 호스팅 및 사용
- 개발자에게 API 키를 생성하여 배포
- 서명 버전 4를 활용하여 API에 대한 액세스 권한 승인
- AWS Lambda와 긴밀하게 통합됨
- 프라이빗 VPC와의 엔드포인트 통합
- 웹 소켓 지원
- 캐시 지원
-https://aws.amazon.com/ko/lambda/pricing/
배포 방법
- Region
- Edge-Location
- Private
AWS WAF ( web application Firewall)
AWS Step Functions
- 람다 워크플로우 오케스트레이션
- 상태시스템 (자판기 처럼 특정 조건에 따라 다음을 실행)
- 시작 -> StartState -> FinalState -> 종료