개요

  • AWS Step Functions란 무엇입니까?

    AWS Step Functions는 시각적 워크플로를 사용하여 분산 애플리케이션과 마이크로 서비스의 구성 요소를 손쉽게 조정할 수 있게 해주는 완전관리형 서비스입니다. 각각 기능을 수행하는 개별 구성 요소를 사용하여 애플리케이션을 구축하면 애플리케이션을 빠르게 확장하거나 변경할 수 있습니다. Step Functions는 애플리케이션의 기능을 통해 구성 요소와 단계를 조정할 수 있는 안정적인 방법입니다. Step Functions에서는 애플리케이션의 구성 요소를 일련의 단계로 배열 및 시각화할 수 있는 그래픽 콘솔을 제공합니다. 그러므로 손쉽게 다단계 애플리케이션을 구축하고 실행할 수 있습니다. Step Functions가 자동으로 각 단계를 트리거 및 추적하고 오류가 발생할 경우 재시도하므로 애플리케이션이 의도대로 정상적으로 실행됩니다. Step Functions는 각 단계의 상태를 기록합니다. 따라서 무언가 잘못된 경우 빠르게 문제를 진단하고 디버깅할 수 있습니다. 코드를 작성하지 않고 단계를 변경 및 추가할 수 있어 간편하게 애플리케이션을 개선하고 더 빠르게 혁신할 수 있습니다.

  • 서비스 오케스트레이션이 작업을 조정하도록 애플리케이션을 설계하면 어떤 장점이 있습니까?

    애플리케이션을 서비스 구성 요소(또는 단계)로 나누면 한 구성 요소에 발생한 장애로 전체 시스템이 중단되지 않도록 하고, 각 구성 요소가 개별적으로 확장되며, 변경 사항이 발생할 때마다 전체 시스템을 재배포하지 않아도 구성 요소를 업데이트할 수 있습니다. 서비스 구성 요소의 조정은 구체적으로 실행 종속성, 일정 및 동시성을 애플리케이션의 논리적 흐름에 따라 관리하는 것입니다. 이러한 애플리케이션에서는 개발자가 서비스 오케스트레이션이 조정을 수행하고 장애를 처리하도록 할 수 있습니다.

  • AWS Step Functions로 해결할 수 있는 사용 사례에는 어떤 것이 있습니까?

    AWS Step Functions는 일련의 단계로 나뉠 수 있는 컴퓨팅 문제 또는 비즈니스 프로세스를 지원합니다. 일반 사용 사례는 다음과 같습니다.

    • 문서 및 데이터 처리 – 여러 데이터베이스의 데이터를 통일된 보고서로 통합합니다. 대규모 데이터 세트를 유용한 형식으로 미세 조정하고 줄입니다.
    • 데브옵스 – 지속적 통합 및 지속적 배포를 위한 도구를 구축합니다. 인프라의 변경 사항에 자동으로 응답하는 이벤트 중심의 애플리케이션을 생성합니다.
    • 전자 상거래 – 주문 이행, 재고 추적 등 미션 크리티컬 비즈니스 프로세스를 자동화합니다.
    • 웹 애플리케이션 – 강력한 사용자 등록 프로세스와 로그인 인증을 구현합니다.
  • AWS Step Functions는 어떻게 작동합니까?

    AWS Step Functions에서는 애플리케이션을 상태 머신, 즉 앱의 동작을 캡처하는 일련의 단계로 정의합니다. 상태 머신의 상태는 태스크, 순차 단계, 병렬 단계, 분기 경로(선택 사항) 및/또는 타이머(대기)가 될 수 있습니다. 태스크는 작업 단위로서, 이 작업은 AWS Lambda 함수, 모든 유형의 Amazon EC2 인스턴스, 컨테이너 또는 온프레미스 서버에서 수행할 수 있으며 Step Functions API와 통신할 수 있는 모든 것이 태스크로 지정될 수 있습니다. 시각적 콘솔은 자동으로 각 단계를 실행 순서대로 그래프로 표시하여 다단계 애플리케이션을 손쉽게 설계할 수 있습니다. 콘솔은 각 단계의 실시간 상태를 표시하고 모든 실행 사항에 대한 상세한 기록을 제공합니다. Step Functions는 애플리케이션의 단계와 기본 컴퓨팅을 자동으로 운영 및 확장하므로 수요가 증가해도 애플리케이션이 안정적으로 실행될 수 있습니다.

  • AWS Step Functions를 시작하려면 어떻게 해야 합니까?

    AWS Step Functions를 사용하려면 AWS Step Functions 세부 정보 페이지로 이동하여 "무료로 시작하기" 버튼을 클릭합니다. Amazon Web Services 계정이 없는 경우 계정을 만들라는 메시지가 나타납니다. 가입 후에, AWS Step Functions 콘솔에서 상태 머신을 생성하는 단계를 안내해 주는 연습용 샘플을 실행할 수 있습니다. AWS Management Console에서 AWS Step Functions로 이동합니다. 그런 다음 "Hello World" 청사진을 선택하고 "HelloWorld" Lambda 함수를 추가합니다. 이제 상태 머신을 미리 보고 실행할 수 있습니다. 애플리케이션에서 AWS Step Functions 사용을 시작하려면 AWS Step Functions 설명서를 참조하십시오.

  • AWS Step Functions에서는 어떤 언어를 사용합니까?

    웹 서비스 API를 사용해 AWS Step Functions와 통신할 수 있다면 활동을 작성하는 데 어느 프로그래밍 언어든 사용할 수 있습니다. 원하는 언어용 AWS SDK를 사용하면 좀 더 간편하게 작성할 수 있습니다. AWS Lambda는 Node.js(JavaScript), Python, Java(Java 8 호환) 및 C#(.NET Core 런타임 사용)으로 작성된 코드를 지원합니다. 상태 머신은 Amazon 상태 언어를 사용하여 JSON으로 정의합니다.

  • AWS Step Functions를 내 온프레미스 리소스와 함께 사용할 수 있습니까?

    예. AWS Step Functions 애플리케이션은 데이터 센터에서 실행되는 작업자와 클라우드에서 실행되는 작업자를 결합할 수 있습니다. 데이터 센터의 작업자는 클라우드 기반 작업자와 함께 계속 정상적으로 실행됩니다.

비교

  • AWS Step Functions와 Amazon SQS는 각각 언제 사용해야 합니까?

    고도로 확장 가능하고 감사 가능한 애플리케이션을 개발하면서 서비스 구성 요소를 조정해야 할 때는 AWS Step Functions를 고려해야 합니다. 서비스 간에 메시지를 전송, 저장 및 수신하기 위해 안정적이고 확장성이 뛰어난 호스팅된 대기열이 필요할 때는 Amazon Simple Queue Service(Amazon SQS) 사용을 고려해야 합니다. Step Functions는 애플리케이션의 모든 태스크와 이벤트를 추적합니다. Amazon SQS에서는 특히 애플리케이션이 여러 대기열을 사용하는 경우, 애플리케이션 수준 추적을 사용자가 구현해야 합니다. Step Functions 콘솔과 가시성 API에서 애플리케이션 중심의 보기가 제공되므로, 특정 실행에 대한 검색, 특정 실행의 상세 정보에 대한 드릴다운, 실행 관리 등을 할 수 있습니다. Amazon SQS에서는 이런 추가 기능을 구현해야 합니다. Step Functions는 애플리케이션 개발에 유용한 몇 가지 기능(태스크 간 데이터 전달, 유연한 작업 분산 등)을 제공합니다. Amazon SQS에서는 일부 애플리케이션 수준 기능을 구현해야 합니다. Amazon SQS를 사용하여 분산 애플리케이션을 조정하는 기본 워크플로를 구축할 수 있지만, Step Functions를 사용하면 다른 애플리케이션 수준의 기능과 함께 이 기능을 바로 확보할 수 있습니다.

  • AWS Step Functions와 AWS Batch는 각각 언제 사용해야 합니까?

    AWS Batch는 AWS 클라우드에서 모든 규모의 배치 컴퓨팅 워크플로를 손쉽게 실행할 수 있는 서비스입니다. 분산 애플리케이션을 순차, 병렬 및/또는 분기 로직(선택 사항)을 비롯한 일련의 단계로 구축하려는 경우 AWS Step Functions를 사용해야 합니다. AWS Batch를 사용하여 애플리케이션의 작업을 실행하고 Step Functions를 사용하여 상호 의존성이 있는 여러 배치 작업을 제출할 수 있습니다. 필요한 배치 처리량으로 확장하기 위해 컴퓨팅 인프라를 자동으로 관리하려는 경우 Batch를 사용합니다.

  • AWS Step Functions와 Amazon Simple Workflow Service(SWF)는 각각 언제 사용해야 합니까?

    AWS Step Functions는 시각적 워크플로를 사용해 좀 더 생산적이고 민첩한 접근 방식으로 애플리케이션 구성 요소를 조정하므로 모든 새로운 애플리케이션에 AWS Step Functions 사용을 고려해야 합니다. 프로세스에 개입할 외부 신호가 필요하거나 결과를 상위 프로세스로 반환하는 하위 프로세스를 시작하려는 경우 Amazon Simple Workflow Service(Amazon SWF)를 고려해야 합니다. Amazon SWF에서는 선언형 JSON으로 상태 머신을 작성하는 대신, Decider 프로그램을 작성하여 의사 결정 단계로부터 활동 단계를 분리할 수 있습니다. Amazon SWF는 오케스트레이션 로직에 대한 완벽한 제어를 제공하지만, 애플리케이션 개발의 복잡성을 높입니다. 원하는 프로그래밍 언어로 Decider 프로그램을 작성하거나, Flow Framework를 통해 동기식 상호 작용을 구성하는 프로그래밍 구문을 사용할 수 있습니다.

통합

  • AWS Step Functions는 다른 AWS 서비스와 어떻게 연동됩니까?

    AWS Step Functions는 AWS CloudFormation, AWS Lambda, Amazon EC2, Amazon EC2 Container Service(ECS), Amazon API Gateway, Amazon CloudWatch, AWS CloudTrail, Amazon EC2 Auto Scaling을 비롯하여 다른 여러 AWS 서비스와 함께 사용할 수 있습니다. 다음은 다양한 AWS 서비스를 사용하여 수행할 수 있는 작업의 일부 예입니다.

    • AWS CloudFormation을 사용하여 AWS Step Functions 상태 머신과 활동에 필요한 여러 관련 리소스를 시작합니다
    • EC2나 ECS 컨테이너에서 실행 중인 프로그램 또는 Lambda 함수를 사용하여 작업을 구현합니다
    • Step Functions API를 API Gateway API의 메서드와 연결합니다
    • CloudWatch 지표에 대한 응답으로 AWS Step Functions 활동에 대한 EC2 작업 집합을 확장합니다
  • AWS Step Functions는 AWS Lambda와 어떻게 연동됩니까?

    AWS Lambda 함수를 사용하여 상태 머신 내 태스크를 수행할 수 있습니다. AWS Step Functions는 입력을 지정된 Lambda 함수로 전달한 다음 Lambda 함수가 결과를 반환하길 기다립니다. AWS Lambda에서는 서버를 프로비저닝하거나 관리하지 않고도 Lambda에서 지원하는 모든 언어로 태스크를 생성할 수 있습니다. Step Functions를 Lambda와 함께 사용하는 방법에 대한 자세한 내용은 Step Functions 설명서를 참조하십시오.

  • AWS Step Functions는 Amazon EC2 및 다른 컴퓨팅 리소스와 어떻게 연동됩니까?

    상태 머신의 모든 작업은 태스크별로 수행됩니다. 태스크는 활동이 될 수 있으며, 활동은 언어의 종류와 관계없이 어느 코드로나 구성될 수 있습니다. 활동은 Amazon EC2, Amazon ECS, 모바일 디바이스 등 AWS Step Functions API와 통신할 수 있는 모든 컴퓨터상에 호스팅될 수 있습니다. 활동은 API 호출을 통해 Step Functions를 긴 폴링하여 작업을 요청하고, 입력 데이터를 수신하고, 작업을 수행하고, 결과를 반환합니다.

  • AWS Step Functions는 Amazon API Gateway와 어떻게 연동됩니까?

    AWS Management Console에서 클릭 몇 번으로 Step Functions API를 API Gateway API의 메서드와 연결할 수 있습니다. 따라서 HTTPS 요청이 사용자가 정의한 API 메서드로 전송되면, API Gateway가 Step Functions API 작업을 호출합니다. Amazon API Gateway API를 사용하여 배포된 백엔드 애플리케이션의 구성 요소를 조정하는 Step Functions 상태 머신을 시작할 수 있습니다. 또한, 승인 요청과 응답과 같이 사람이 수행하는 작업을 애플리케이션 단계에 통합할 수 있습니다. 또한 애플리케이션이 사용하는 서비스 API에 대해 서버 없는 비동기식 호출을 수행할 수도 있습니다.

  • AWS Step Functions는 Amazon CloudWatch와 어떻게 연동됩니까?

    Amazon CloudWatch는 AWS에서 실행되는 AWS 서비스와 애플리케이션을 위한 모니터링 서비스입니다. Amazon CloudWatch는 AWS Step Functions의 지표를 수집 및 추적하고, 경보를 설정하며, 변경 사항에 자동으로 대응합니다. 다음은 Amazon CloudWatch와 AWS Step Functions로 수행할 수 있는 작업의 예입니다.

    • Step Functions 워크플로 지표를 모니터링합니다
    • CloudWatch Events에 대한 응답으로 Step Functions 워크플로를 시작합니다
    • Step Functions가 지표 임계치를 넘어서면 경보를 생성합니다
    • CloudWatch Events를 사용하여 최소 1분 간격으로 Step Functions 워크플로를 예약합니다

보안

AWS Step Functions 시작하기

시작 페이지로 이동
시작할 준비가 되셨습니까?
AWS Step Functions 콘솔 로그인
질문이 있으십니까?
문의하기
페이지 콘텐츠
개요 비교 통합 보안