Python으로 Step Functions 활동 만들기
AWS에는 Step Functions라는 서비스가 있다. 여러 개의 활동(activity)를 조합해서 순서대로 또는 반복적으로 원하는 작업을 실행할 수 있도록 해 주는 서비스이다.
일반적으로는 여러 개의 Lambda 함수를 연결해서 사용하는 경우가 많다. 하지만 Lambda 함수의 실행 시간이 5분을 넘어가면, 다른 방법을 고려해야 한다. 이럴 때 활동을 생성하고 이를 수행하는 코드를 작성하면, 오래 걸리는 작업도 Step Functions로 이용할 수 있다.
활동(Activity) 만들기
- Step Functions 콘솔의 왼쪽 메뉴에서
활동
을 클릭한다. - 화면이 바뀌면 우측의
활동 생성
을 클릭하여 새로운 활동을 만든다. - 활동 이름 입력 창에서 임의의 활동 이름을 입력한다.
- 여기서 나오는 ARN을 메모한다. 활동 이름은 알고 있어도 되지만 몰라도 상관은 없다.
상태 머신(State Machine) 만들기
- 콘솔의 왼쪽 메뉴에서
상태 머신
을 클릭한다. - 우측 상단의
상태 머신 생성
을 클릭한다. - 상태 머신의 이름을 입력하고, 필요한 경우 IAM 역할을 생성한다. (
나를 위한 역할 생성
에 체크,AWS Step Functions이 Lambda 함수에 대한...
옵션에 체크) - 그리고
상태 머신 정의
칸에는 다음과 같이 입력한다. (여기가 앞에서 메모한 ARN이 사용되는 부분이다. ARN은 뒤에서도 이용하니 메모를 버리지 말자.)
{
"StartAt": "TestActivity",
"States": {
"TestActivity": {
"Type": "Task",
"Resource": "앞에서 메모한 ARN 주소",
"End": true
}
}
}
간단하게 설명을 하자면,