티스토리 뷰
AWS Lambda란?
서버를 프로비저닝하거나 관리하지 않고 코드를 실행할 수 있게 해주는 컴퓨팅 서비스이다. AWS Lambda는 필요시에만 코드를 실행하며, 요청에 따라 자동으로 확장이 가능하다. AWS Lambda가 지원하는 언어 중에서 하나로 코드를 공급하기만 하면 된다.
언제 AWS Lambda를 사용할까?
AWS Lambda에서 지원하는 언어로 애플리케이션 코드를 작성하고, 제공되는 리소스 내에서 실행할 수 있는 경우 ㅁ낳은 애플리케이션 시나리오를 위한 이상적인 컴퓨팅 시스템이 된다.
AWS Lambda를 사용하면 사용자는 자신의 코드에 대해서만 책임을 갖는다.
콘솔로 Lambda 함수 생성
이후 AWS Lambda 콘솔 편집기를 사용하여 함수를 생성하면 된다.
AWS Lambda의 보안
데이터 보호
데이터 보호를 위해 AWS 계정의 자격증명을 보호하고 AWS IAM을 사용해 개별 사용자 계정ㅇ르 설정해 각 사용자에게 직무를 수행하는데 필요한 권한만 부여하는 것이 좋다.
- 각 IAM 계정마다 MFA를 사용한다.
- SSL/TLS 1.2 이상을 사용해 AWS 리소스와 통신할 것을 권장한다.
- AWS CloudTrail로 API 및 사용자 활동 로깅을 설정한다.
- AWS 암호화 솔루션을 모든 기본 보안 컨트롤과 함께 사용한다.
- Amazon Macie와 같은 고급 관리형 보안 서비스를 사용한다.
- CLI, API를 통해 AWS에 액세스할 때 FIPS 140-2 검증된 암호화 모듈이 필요한 경우 FIPS 엔드포인트를 사용한다.
함수 이름, 태그와 같은 메타데이터나 자유 형식 필드에 고객 계정번호 등 중요 식별 정보를 입력하면 안된다.
전송 중 데이터 암호화
Lambda API 엔드포인트는 HTTPS를 통한 보안연결만을 지원한다. AWS Management 콘솔, AWS SDK, Lambda API를 통해 Lambda 리소스를 관리하는 경우 모든 통신이 TLS로 암호화된다.
저장된 암호화
사용자는 환경 변수를 사용해 암호를 Lambda 함수와 함께 사용하도록 안전히 저장할 수 있다.
그에 더해 다음 기능을 사용해 환경 변수의 암호화 방법을 사용자가 지정할 수 있다.
- 키 구성 - 사용자는 함수별로 Lambda를 구성해 AWS KMS에서 생성 및 관리하는 암호화 키를 사용할 수 있다. 이는 CMK 또는 고객 관리형 키로 불린다. 고객 관리형 키를 구성하지 않을 경우 Lambda에서는 aws/lambda로 불리는 AWS 관리형 CMK를 사용한다.
- 암호화 도우미 - Lambda 콘솔은 사용자가 환경 변수 값을 Lambda로 전송하기 전에 클라이언트 측 암호화를 진행하도록 도와준다. 그러면 암호가 Lambda 콘솔이나 API에서 반환하는 함수 구성에서 암호화되지 않은 상태로 표시되는 경우를 방지해 보안을 강화한다.
AWS Lambda의 ID 및 액세스 관리
IAM은 관리자가 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있도록 지원하는 AWS 서비스이다. IAM 관리자는 Lambda 리소스를 사용하기 위한 인증 및 권한에 대해서 제어한다.
AWS Lambda의 복원성
- 버전 관리 - Lambda에서 버전 관리를 사용해 함수 개발시 그 코드와 구성을 저장할 수 있다.
- 확장(Scaling) - 함수가 이전 요청을 처리 중 또는 다른 요청을 받는 경우, Lambda에서는 함수의 다른 인스턴스를 시작해 늘어난 요청을 처리한다. Lambda는 자동으로 리전별로 1000개까지 확장된다.
- 고가용성 - Lambda 함수를 여러 가용영역에서 실행하여 단일 영역 내 서비스 중단 발생시 이벤트를 처리할 수 있도록 한다.
- 예약 동시성 - 함수가 추가 요청을 처리할 수 있도록 항상 확장할 수 있게 해당 함수에 대한 동시성을 예약할 수 있다.
- 재시도 - 다른 서비스에 의해 트리거되는 호출의 서브셋과 비동기식 호출의 경우, Lambda에서는 재시도간의 지연시간을 두고 오류시 재시도를 자동으로 수행한다.
- 전달못한 편지 대기열 - 비동기식 호출의 경우 재시도가 모두 실패시 전달하지 못한 편지 대기열로 요청을 전송하도록 Lambda를 구성할 수 있다.
'Cloud > Concept' 카테고리의 다른 글
[AWS] CloudFront에 대한 기본적인 정리 (0) | 2021.02.01 |
---|---|
[AWS] AWS VPC 사용설명서 정리(6) - Security (2) | 2020.12.26 |
[AWS] AWS VPC 사용설명서 정리(5) - Security (0) | 2020.12.25 |
[AWS] AWS VPC 사용설명서 정리(4) - 기본 VPC 및 서브넷 (0) | 2020.12.24 |
[AWS] AWS VPC 사용설명서 정리(3) - 서브넷 (0) | 2020.12.22 |