BLOG

새로운 기능 – AWS Step Functions용 컴퓨팅, 데이터베이스, 메시징, 분석 및 머신 러닝 통합
작성일: 2018년 12월 18일

Voiced by Amazon Polly

(원문에서 다운로드받으세요)

 

AWS Step Functions는 애플리케이션 개발자를 위한 완전한 관리형 워크플로우 서비스입니다. 비즈니스 로직을 워크플로우 로직과 별도로 유지하면서 신뢰할 수 있고 반복 가능한 방식으로 활동을 연결 및 조정하는 높은 수준에서 생각하고 작업할 수 있습니다. 워크플로우를 설계하고 테스트한 후(즉, 상태 머신이라고 합니다.) 수만 또는 수십만 개의 워크플로우를 독립적으로 동시에 실행되므로 규모에 맞게 배포할 수 있습니다. Step Functions는 각 워크플로우의 상태를 추적하고, 일시적인 장애에 대한 작업 재시도 작업을 처리하며, 모니터링 및 로깅을 단순화합니다. 자세한 내용은 AWS Step Functions 및 AWS Lambda 튜토리얼을 사용하여 서버리스 워크플로우 생성을 참조하십시오.

 

AWS re:Invent 2016에서 론칭한 이후, 고객들은 Step Functions를 많이 활용했습니다.(제 글, Step Functions와 함께 상황이 나아짐 에 실제 유스케이스를 설명합니다.) 저희의 고객들은 AWS Lambda 함수를 쉽게 호출하여 그들의 비즈니스 논리를 구현할 수 있다는 사실을 좋아하며, 저희에게 더 많은 옵션을 요청했습니다.

 

더 많은 통합, 더 강력한 기능

Step Function 상태 머신에서 8개의 AWS 서비스를 더 사용할 수 있는 기능을 제공하고자 합니다. 다음은 새 작업입니다.

 

DynamoDB – Amazon DynamoDB 테이블에서 기존 항목을 가져와 DynamoDB 테이블에 새 항목을 넣으십시오.

 

AWS Batch – AWS Batch 작업을 제출하고 완료될 때까지 기다리십시오.

 

Amazon ECS – 태스크 정의를 사용하여 Amazon ECS 또는 AWS Fargate 태스크를 실행하십시오.

 

Amazon SNS – 메시지를 Amazon SNS(Simple Notification Service) 항목에 게시하십시오.

 

Amazon SQS – Amazon SQS(Simple Queue Service) 대기열에 메시지를 보내십시오.

 

AWS Glue – AWS Glue 작업 실행을 시작하십시오.

 

Amazon SageMaker – Amazon SageMaker 교육 작업을 생성하십시오. SageMaker 변환 작업을 생성하십시오.(Amazon SageMaker의 새 기능:워크플로우, 알고리즘 및 인증 정보 읽기를 통해 더 많은 내용을 참조하십시오)

 

이러한 작업을 개별적으로 사용하거나 서로 조합하여 사용할 수 있습니다. 시작하기 위해, 저희는 배치 작업 관리, 컨테이너 태스크 관리, DynamoDB에서 데이터 복사, 배치 작업 상태 검색 등을 보여주는 몇 가지 멋진 샘플을 구축했습니다.

예를 들어, DynamoDB에서 SQS로 데이터를 복사하는 데이터 레코드 변환 샘플의 시각적 표현은 다음과 같습니다.

샘플(AWS CloudFormation 템플릿으로 사용 가능합니다.)은 테이블을 일부 테스트 데이터로 채우는 Lambda 함수를 포함하여 필요한 모든 이동 부품을 생성합니다. 스택을 생성한 후 Step Functions 콘솔에서 상태 기계를 찾아 실행할 수 있습니다.

콘솔에서 각 단계를 검사할 수 있으며, 첫 번째 단계(DynamoDB 테이블 필요)는 일부 테이블 항목을 생성하고 키 목록(메시지 ID)을 반환하는 Lambda 함수를 호출합니다.

세 번째 단계(SQS에 메시지 보내기)는 다음 입력으로 시작합니다.

그리고 SQS MessageId를 포함한 결과를 전달합니다.

보시다시피, 상태 기계는 모든 무거운 물건을 들어올리는 작업을 담당했는데, Lambda 함수를 부르고, 메시지 ID 목록을 반복하며, 각 기능별로 DynamoDB와 SQS를 호출했습니다. 여러 복사본을 동시에 실행할 수 있습니다.

저는 여러분이 이 예제를 출발점으로 삼아 멋진 것을 만들 수 있다고 확신합니다; 몇 가지 아이디어를 위해 다른 샘플과 템플릿을 반드시 검토하십시오.

 

이미 자체 상태 시스템을 구축 및 실행하고 있다면 Magic ARN 및 매개 변수에 대해 알아보십시오.

 

Magic ARN – 각각의 새로운 작업은 특별한 “매직”(Tim이 사용하는 기술 용어) ARN으로 표현됩니다. SQS에 보내는 것과 배치 작업을 실행하기 위한 것 등이 있습니다.

 

매개 변수 – 태스크 상태의 Parameters 필드를 사용하여 새 기능을 구현하는 서비스 API에 전달되는 매개 변수를 제어할 수 있습니다. 상태 시스템 정의는 상태 입력의 특정 요소에 대한 정적 JSON 또는 참조(JsonPath 양식)를 포함할 수 있습니다.

 

Magic ARN 및 매개변수를 사용하여 상태를 정의하는 방법은 다음과 같습니다.

 

“Read Next Message from DynamoDB”: {

“Type”: “Task”,

“Resource”: “arn:aws:states:::dynamodb:getItem”,

“Parameters”: {

“TableName”: “StepDemoStack-DDBTable-1DKVAVTZ1QTSH”,

“Key”: {

“MessageId”: {“S.$”: “$.List[0]”}

}

},

“ResultPath”: “$.DynamoDB”,

“Next”: “Send Message to SQS”

},

 

지금 사용 가능합니다.

새로운 통합은 지금 이용 가능하며 Step Functions이 있는 모든 AWS 리전에서 지금 바로 사용할 수 있습니다. 각 상태 전환과 사용자가 사용하는 AWS 서비스에 대해 일반적인 요금을 지불하십시오.

 

원문 URL : https://aws.amazon.com/ko/blogs/aws/new-compute-database-messaging-analytics-and-machine-learning-integration-for-aws-step-functions/

** 메가존클라우드 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.