본문 바로가기

ChatGPT/AWS Serverless

[AWS][LAMBDA] 소개 - 3

반응형

https://tobelinuxer.tistory.com/51

 

AWS Lamba 소개 - 2

https://tobelinuxer.tistory.com/51 AWS Lamba 소개 - 1 AWS Lambda는 서버리스 아키텍처를 구현하는 데 있어 매우 중요한 역할을 합니다. AWS Lambda는 코드 실행에 필요한 인프라를 관리하므로, 개발자는 애플리

tobelinuxer.tistory.com

이전 포스트에 이어서

이 페이지에서는 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 리소스에 액세스할 수 있도록 권한을 부여합니다.

또한, 함수의 실행 역할은 최소한의 권한만 부여되어야 하며, 필요한 권한만 부여되어야 합니다.

serverless framework에서는 자동으로 cloudwatch의 PutLogEvents에 대한 권한을 설정합니다.

반응형

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의 도움을 받아 작성되었습니다.

반응형