2021. 12. 30. 15:08ㆍCloud
1. 개념
: APP을 실행하고 서비스를 제공하거나 서버를 사용하는데도 불구하고 사용자가 관리하는 서버는 없는 환경.
서버는 어딘가에 존재하나, 사용자가 관리를 하지 않는다는 의미이다. 그 결과 사용자는 장애 관리, 시스템 관리적인
부분으로부터 해방된다. 관리적인 부분은 모두 AWS에서 전담한다.
- S3, DynamoDB, SNS 모두 서버리스 서비스
2. AWS Lambda
: 사용자가 실행을 원하는 코드를 원하는 시점에 실행 환경을 관리할 필요 없이 정확하게 실행시켜주는 서비스
- 완전 관리형 컴퓨팅 서비스 : 모든 관리적인 부분을 AWS가 전담하며 어딘가 존재하는 서버를 사용자가 사용
- 실행 최대 실행시간 15분 : 그 이상은 실행되지 않으며 대부분 그전에 끝나도록 코드를 짠다.
- 상태 비저장 코드 실행 : 코드가 실행될때 환경이 만들어지나, 끝나면 곧바로 사라진다. 그렇기 때문에 실행 내용이 남지 않는다.
*상태 저장을 원한다면 코드 끝에 저장할 곳을 적어두고(ex> S3), 실행 시 참조할 수 있도록 코드를 짜면 된다.
- 지원 언어 : Node.js, JAVA, Python, C#, Go, Rudy
- 다른 언어도 사용은 가능하지만 실행 환경을 같이 업로드 해주어야 사용이 가능하다.
- 사용 방법 : 트리거, 이벤트에 대한 응답으로 코드를 실행한다.
- 비용 : 트리거가 실행된 만큼 부과
- 담당 : 서버, 용량, 배포, OS, 지표, 로그
- 그 외 기능 : 코드 병렬 실행, 자체 코드 사용
1) 트리거
: Lambda 코드가 어떤 서비스에 어떤 이벤트가 발생했을때 작동하도록 만드는 기능.
ex> S3의 특정 버킷에서 파일이 업로드 될 때 Lambda 실행
- 설정 : 코드에 함수, 언어, 실행 시 권한(역할)을 연결시켜 준 뒤 업로드. 그 후 코드를 실행하는 시점을 정해야 하는데 이를 '트리거'라고 한다.
3. API Gateway
: API 함수를 호출하는 관문. Lambda와 연계하여 특정 트리거가 발생 시 해당 함수를 맞는 목적에 배치하는 기능
4. Step Functions
: 어떤 방식으로 Lambda가 실행될 지 지정하며 단계별로 확인 할 수 있는 기능
'Cloud' 카테고리의 다른 글
AWS_복구 (0) | 2021.12.30 |
---|---|
AWS_Micro Service (0) | 2021.12.29 |
AWS_결합 해제 (0) | 2021.12.28 |
AWS_Caching (0) | 2021.12.27 |
AWS_Auto Scaling (0) | 2021.12.27 |