728x90
반응형
- 개요
사용중인 Lambda에서 발생한 예외를 처리하는 방법을 알아본다
- 절차
1) 예외처리
import { GameLiftClient, ListFleetsCommand } from "@aws-sdk/client-gamelift";
export const handler = async (event) => {
const client = new GameLiftClient({ region: "ap-northeast-2" });
try {
const input = {};
const command = new ListFleetsCommand(input);
const response = await client.send(command);
return response;
}
catch (error){
return {
statusCode: 500,
body: JSON.stringify({error : error.message})
};
}
};
기존의 함수의 코드를 위와 같이 변경한다
다른 언어와 동일하게 예외를 처리하기 위해 try~catch 구문을 이용한다
try 문에서는 생성한 클라이언트를 사용하여 AWS GameLift로 ListFleet 명령어를 전송한다
catch 문에서는 예외가 발생하면 다음과 같이 구성된 JavaScript 오브젝트를 반환한다
- statusCode : 상태 코드로서 서버에 요청한 결과를 의미함 + 500으로 설정하여 서버 내부 오류를 의미
- body : 오브젝트의 실제 데이터로서 에러 내용을 포함함

이전에 생성한 권한 정책을 삭제한다

권한 정책 삭제 후에 실행해보면 위와 같이 예외에 대한 처리가 이루어진 것을 확인할 수 있다
2) 관리형 정책 - 다른 방식의 권한 정책 생성

AWS Console에서 IAM을 검색하여 탭으로 이동한뒤에 정책 탭을 선택하면 권한 정책을 생성할 수 있다

우상단의 정책 생성을 선택하고 이후 똑같이 GameLift Servers에 대한 ListFleet 명령어에 대한 권한 정책을 생성한다

권한 정책의 이름을 위와 같이 작성하고 이후 정책을 생성한다

IAM 탭의 역할에서 사용중인 Lambda에 해당하는 역할을 찾아 이동한다

해당 Lambda의 권한 탭에서 권한 추가 - 정책 연결을 선택한다

생성한 권한 정책을 찾아 선택하고 권한을 추가한다
위와 같이 생성한 권한 정책은 인라인 권한 정책과 다르게
하나의 Lambda에서만 사용할 수 있는 것이 아닌, 다른 모든 Lambda에서도 사용가능하다

권한이 부여된 후에 Lambda를 실행하면 위와 같이 응답이 돌아온 것을 확인할 수 있다
728x90
반응형
'언리얼 엔진 - 게임 프로젝트 > AWS GameLift를 활용한 데디케이트 FPS 프로젝트' 카테고리의 다른 글
| API Gateway - 2) REST API 생성 (0) | 2026.05.10 |
|---|---|
| API Gateway - 1) 계획 (0) | 2026.05.09 |
| AWS Lambda - 4) ListFleets 명령어 (0) | 2026.05.07 |
| AWS Lambda - 3) 테스트와 로그 (0) | 2026.05.07 |
| AWS Lambda - 2) Lambda 함수의 구성 (0) | 2026.05.03 |