https://tobelinuxer.tistory.com/51
이전 포스트에 이어서
이 페이지에서는 5. AWS Lambda와의 연동, 6. AWS Lambda 보안에 대해 다루도록 하겠습니다.
1. 개요
- AWS Lambda란?
- AWS Lambda의 특징
- AWS Lambda의 장점
2. 함수 작성
- 함수 코드 작성 방법
- 함수의 이벤트 트리거 설정
- 환경 변수 설정
- 실행 역할 설정
- 메모리 할당량과 실행 시간 제한 설정
- VPC 구성 설정
3. 함수 배포
- AWS Lambda 콘솔을 이용한 배포 방법
- AWS CLI를 이용한 배포 방법
- 함수 버전과 별칭
4. 함수 실행과 동시성 제어
- 함수 실행 방법
- 함수의 동시성 제어 방법
- 함수 실행 시간과 비용
5. AWS Lambda와의 연동
- S3 버킷과의 연동
- API Gateway와의 연동
- Amazon DynamoDB와의 연동
- AWS Step Functions와의 연동
6. AWS Lambda 보안
- 실행 역할을 이용한 권한 설정
- 환경 변수를 이용한 비밀 정보 관리
- AWS Key Management Service와의 연동
5. AWS Lambda와의 연동
AWS Lambda는 다양한 AWS 서비스와 연동할 수 있습니다.
이러한 연동을 통해 서버리스 아키텍처를 구현할 수 있습니다.
AWS Lambda와의 연동은 다음과 같은 방법으로 이루어집니다.
1. Amazon S3
AWS Lambda는 S3 버킷에서 새로운 파일이 업로드될 때마다 실행될 수 있습니다.
예를 들어, 새로운 이미지 파일이 업로드될 때마다 썸네일 생성 Lambda 함수가 실행되도록 설정할 수 있습니다.
2. Amazon API Gateway
AWS Lambda 함수를 API Gateway와 연동하여 RESTful API를 구현할 수 있습니다.
예를 들어, 사용자가 입력한 데이터를 받아서 처리하는 Lambda 함수를 API Gateway와 연동하여 RESTful API로 구현할 수 있습니다.
3. Amazon SNS
AWS Lambda 함수는 SNS 메시지 발행에 응답하여 실행될 수 있습니다.
예를 들어, SNS 메시지를 발행하면 이메일 전송 Lambda 함수가 실행되도록 설정할 수 있습니다.
4. Amazon Kinesis
AWS Lambda 함수는 Kinesis 스트림에서 데이터를 수집하여 처리할 수 있습니다.
예를 들어, 실시간으로 생성되는 로그 데이터를 수집하여 분석하는 Lambda 함수를 Kinesis 스트림과 연동하여 구현할 수 있습니다.
5. Amazon DynamoDB
AWS Lambda 함수는 DynamoDB에서 데이터를 읽거나 쓸 수 있습니다.
예를 들어, 새로운 데이터가 DynamoDB 테이블에 추가될 때마다 실행되는 Lambda 함수를 구현할 수 있습니다.
6. AWS Step Functions
AWS Lambda 함수는 Step Functions과 연동하여 비동기적인 워크플로우를 구현할 수 있습니다.
예를 들어, 사용자가 입력한 데이터를 처리하고 이메일을 전송하는 Lambda 함수와 이메일 전송 완료 후에 실행되는 Lambda 함수를 Step Functions과 연동하여 비동기적인 워크플로우로 구현할 수 있습니다.
위와 같이 AWS Lambda는 다양한 AWS 서비스와 연동할 수 있습니다.
이러한 연동을 통해 서버리스 아키텍처를 구현하면서도 다양한 AWS 서비스를 활용할 수 있습니다.
6. AWS Lambda 보안
AWS Lambda 보안은 다음과 같은 방법으로 이루어집니다.
1. IAM 역할 및 정책
AWS Lambda 함수는 IAM 역할을 가져야 합니다.
IAM 역할은 AWS 리소스에 대한 권한을 제어하는 역할로, 함수가 필요한 AWS 리소스에 액세스할 수 있도록 권한을 부여합니다.
또한, 함수의 실행 역할은 최소한의 권한만 부여되어야 하며, 필요한 권한만 부여되어야 합니다.
2. VPC 구성
AWS Lambda 함수는 VPC 구성을 설정하여 외부와의 통신을 제한할 수 있습니다.
VPC 구성을 설정하면 함수가 VPC 외부의 인터넷과 통신할 수 없으며, VPC 내부의 리소스에만 액세스할 수 있습니다.
3. 함수 코드 보안
AWS Lambda 함수 코드는 보안적으로 중요한 정보를 포함할 수 있으므로, 함수 코드 보안에 대한 고려가 필요합니다.
함수 코드에는 인증 정보나 비밀 키와 같은 보안적으로 중요한 정보가 포함될 수 있으므로, 이러한 정보는 암호화되거나 환경 변수로 저장되어야 합니다.
4. 로깅 및 감사
AWS Lambda 함수는 CloudWatch Logs를 이용하여 함수 실행에 대한 로깅을 수행할 수 있습니다.
로그 데이터는 함수 실행 결과, 함수 코드 실행에 대한 정보, 함수 이벤트 등을 포함합니다.
이러한 로그 데이터를 분석하여 함수 보안에 대한 이해를 높일 수 있습니다.
5. 함수 버전 및 별칭
AWS Lambda 함수는 버전과 별칭을 가질 수 있습니다.
함수 버전은 특정 시점의 함수 코드를 의미하며, 함수의 별칭은 버전을 가리키는 이름입니다.
이러한 버전과 별칭을 이용하여 함수의 안정성과 보안성을 유지할 수 있습니다.
6. 보안 업데이트
AWS Lambda는 보안 이슈가 발생할 때마다 보안 업데이트를 수행합니다.
이러한 보안 업데이트는 함수 실행에 영향을 미칠 수 있으므로, 최신 버전의 라이브러리를 사용하고, 취약점에 대한 이해를 높여야 합니다.
AWS Lambda 보안은 IAM 역할 및 정책, VPC 구성, 함수 코드 보안, 로깅 및 감사, 함수 버전 및 별칭, 보안 업데이트 등 다양한 방법으로 이루어집니다. 이러한 보안 조치를 취하여 AWS Lambda 함수를 안전하게 운영할 수 있습니다.
지금 보시는 글은 ChatGPT의 도움을 받아 작성되었습니다.
'ChatGPT > AWS Serverless' 카테고리의 다른 글
[AWS][LAMBDA][AUTHORIZER] TOKEN-BASED와 REQUEST-BASED AUTHORIZER 구현하기 - 2 (0) | 2023.04.04 |
---|---|
[AWS][LAMBDA][AUTHORIZER] Token-based와 Request-based Authorizer 구현하기 - 1 (0) | 2023.04.04 |
[AWS][LAMBDA] 소개 - 2 (0) | 2023.04.04 |
[AWS][LAMBDA] 소개 - 1 (0) | 2023.04.04 |
[AWS][LAMBDA] SERVERLESS FRAMEWORK 개발하기 - 2 (0) | 2023.04.04 |