
물리적인 서버가 없다는 것이 아닌 추상 계층으로 제공하기에 사용자 입장에서는 서버를 관리할 필요가 없다는 의미에서 서버리스입니다.
개발자가 작성한 애플리케이션 실행에 필요한 만큼만 자원을 사용합니다. 따라서 로드 밸런싱도 서버 부팅도 필요하지 않습니다.
플랫폼이 모든 작업을 수행하고 실행된 횟수와 시간에 따라 비용을 청구합니다.
완전 관리형 서비스
하드웨어, 운영체제를 신경 쓸 필요 없이 코드만 작성하면 됩니다.
유연한 확장성
다른 AWS 서비스를 호출하여, 자신만의 서비스를 구축할 수 있습니다.
고가용성
여러 곳의 가용 영역을 활용하여 서비스에 문제가 될 확률을 기하급수적으로 줄입니다.
유휴 용량 없음
람다는 요청이 올 때만 프로비저닝되어 작동합니다.
마이크로서비스 호환성
마이크로서비스의 전달 수단으로 사용하여 클라우드 환경에서 효율적으로 확장하기 어려운 모놀리식 애플리케이션의 단점을 극복할 수 있습니다.
이벤트에 대한 응답으로 코드를 실행의 의미로 특정 이벤트가 들어왔을 때 실행하는 코드가 람다 함수입니다.
람다 대시보드에서 메모리를 조절할 수 있습니다. 그러나 최대 메모리를 낮게 설정할 경우 람다함수는 느리게 실행되기 때문에, 사용된 최대 메모리가 적더라도 1024MB로 설정하는 것이 좋습니다.
IAM 대시보드 접속



역할 생성

역할 만들기 대시보드

권한 추가하기

이름 지정 및 검토 생성

역할 이름과 설명을 작성하여 줍니다.
람다 접속

람다에 접속하여 "함수 생성" 버튼을 클릭하여 줍니다.
람다 함수 생성

함수 이름과 런타임을 설정한 뒤 "기존 역할 사용" 후 "role_for_sns_sending" 선택
테스트 이벤트 구성

코드 작성
const AWS = require('aws-sdk');
exports.handler = (event, context, callback) => {
const params = {
Message: event.text,
PhoneNumber: event.number
};
const publishTextPromise = new AWS.SNS({apiVersion: '2010-03-31',religion:'ap-northeast-1'}).publish(params).promise();
publishTextPromise.then(
function(data) {
callback(null, "MessageID is " + data.MessageId);
}).catch(
function(err) {
callback(err);
});
};
코드를 작성한 후, 테스트 탭에서 저장을 누른 뒤 테스트를 진행합니다.