기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Step Functions Local을 사용하여 상태 시스템 테스트(지원되지 않음)
Step Functions Local은 지원되지 않습니다.
Step Functions Local은 기능 패리티를 제공하지 않으며 지원되지 않습니다.
테스트 목적으로 Step Functions를 에뮬레이션하는 타사 솔루션을 고려할 수 있습니다.
AWS Step Functions의 다운로드 가능한 버전인 Step Functions Local을 사용하면 자체 개발 환경에서 실행되는 Step Functions로 애플리케이션을 테스트할 수 있습니다.
Step Functions Local을 실행할 때 다음 방법 중 하나를 사용하여 서비스 통합을 호출할 수 있습니다.
-
AWS Lambda 및 기타 서비스에 대한 로컬 엔드포인트 구성.
-
Step Functions Local에서 AWS 서비스에 직접 호출합니다.
-
서비스 통합의 응답 모의.
AWS Step Functions Local은 JAR 패키지 또는 Microsoft Windows, Linux, macOS 및 Java 또는 Docker를 지원하는 기타 플랫폼에서 실행되는 독립형 Docker 이미지로 사용할 수 있습니다.
주의
Step Functions Local은 테스트에만 사용해야 하며 민감한 정보를 처리해서는 안 됩니다.
주제
Docker에서 Step Functions Local(다운로드 가능 버전) 설정
Step Functions Local 도커 이미지를 사용하면 필요한 모든 종속성과 함께 도커 이미지를 사용하여 Step Functions Local을 빠르게 시작할 수 있습니다. 도커 이미지를 사용하면 Step Functions Local을 컨테이너화된 빌드에 지속적 통합 테스트의 일부로 포함할 수 있습니다.
Step Functions Local에 대한 도커 이미지를 가져오려면 https://hub.docker.com/r/amazon/aws-stepfunctions-localpull
명령을 입력합니다.
docker pull amazon/aws-stepfunctions-local
Docker에서 Step Functions의 다운로드 가능 버전을 시작하려면 다음 Docker run
명령을 실행합니다.
docker run -p 8083:8083 amazon/aws-stepfunctions-local
AWS Lambda 또는 기타 지원되는 서비스와 상호 작용하려면 먼저 자격 증명 및 기타 구성 옵션을 구성해야 합니다. 자세한 정보는 다음의 주제를 참조하세요.
Step Functions Local(다운로드 가능 버전) 설정 - Java 버전
의 다운로드 가능한 버전 AWS Step Functions 은 실행 가능한 JAR 파일 및 Docker 이미지로 제공됩니다. Java 애플리케이션은 Windows, Linux, macOS 및 Java를 지원하는 기타 플랫폼에서 실행됩니다. Java 외에도 AWS Command Line Interface ()를 설치해야 합니다AWS CLI. 설치 및 구성에 대한 자세한 내용은 AWS Command Line Interface 사용 설명서를 AWS CLI참조하세요.
컴퓨터에 Step Functions를 설정하고 실행하기
-
다음 링크를 사용하여 Step Functions를 다운로드합니다.
다운로드 링크 체크섬 .tar.gz .tar.gz.md5 .zip .zip.md5 -
.zip
파일의 압축을 풉니다. -
다운로드를 테스트하고 버전 정보를 봅니다.
$ java -jar StepFunctionsLocal.jar -v Step Function Local Version: 2.0.0 Build: 2024-05-18
-
(선택 사항) 사용 가능한 명령 목록을 봅니다.
$ java -jar StepFunctionsLocal.jar -h
-
컴퓨터에서 Step Functions를 시작하려면 명령 프롬프트를 열고
StepFunctionsLocal.jar
압축을 해제한 디렉터리로 이동한 후 다음 명령을 입력합니다.java -jar StepFunctionsLocal.jar
-
로컬에서 실행되는 Step Functions에 액세스하려면
--endpoint-url
파라미터를 사용합니다. 예를 들어를 사용하면 다음과 같이 Step Functions 명령을 지정할 AWS CLI수 있습니다.aws stepfunctions --endpoint-url http://localhost:8083
command
참고
기본적으로 Step Functions Local은 로컬 테스트 계정과 보안 인증 정보를 사용하며 AWS 리전은 미국 동부(버지니아 북부)로 설정됩니다. AWS Lambda또는 기타 지원되는 서비스와 함께 Step Functions Local을 사용하려면 자격 증명 및 리전을 구성해야 합니다.
Step Functions Local에서 Express 워크플로를 사용하면 실행 내역이 로그 파일에 저장됩니다. CloudWatch Logs에는 로깅되지 않습니다. 로그 파일 경로는 로컬 상태 시스템을 만들 때 제공된 CloudWatch Logs 로그 그룹 ARN을 기반으로 합니다. 로그 파일은 Step Functions Local을 실행하는 위치를 기준으로 /aws/states/log-group-name/
에 저장됩니다. 예를 들어 실행 ARN이 다음과 같은 경우${execution_arn}
.log
arn:aws:states:us-east-1:123456789012:express:test:example-ExpressLogGroup-wJalrXUtnFEMI
로그 파일은 다음과 같습니다.
aws/states/log-group-name/arn:aws:states:us-east-1:123456789012:express:test:example-ExpressLogGroup-wJalrXUtnFEMI.log
Step Functions Local의 구성 옵션 설정
JAR 파일을 사용하여 AWS Step Functions 로컬을 시작할 때 AWS Command Line Interface (AWS CLI)를 사용하거나 시스템 환경에 포함시켜 구성 옵션을 설정할 수 있습니다. Docker의 경우 Step Functions Local을 시작할 때 참조하는 파일에 이러한 옵션을 지정해야 합니다.
구성 옵션
Lambda 엔드포인트 및 배치 엔드포인트와 같은 재정의 엔드포인트를 사용하도록 Step Functions Local 컨테이너를 구성하고 해당 엔드포인트를 직접적으로 호출하면 Step Functions Local에서 지정된 보안 인증 정보를 사용하지 않습니다. 이러한 엔드포인트 재정의 설정은 선택 사항입니다.
옵션 | 명령줄 | 환경 |
---|---|---|
Account | -account, --aws-account | AWS_ACCOUNT_ID |
리전 | -region, --aws-region | AWS_DEFAULT_REGION |
대기 시간 비율 | -waitTimeScale, --wait-time-scale | WAIT_TIME_SCALE |
Lambda 엔드포인트 | -lambdaEndpoint, --lambda-endpoint | LAMBDA_ENDPOINT |
배치 엔드포인트 | -batchEndpoint, --batch-endpoint | BATCH_ENDPOINT |
DynamoDB 엔드포인트 | -dynamoDBEndpoint, --dynamodb-endpoint | DYNAMODB_ENDPOINT |
ECS 엔드포인트 | -ecsEndpoint, --ecs-endpoint | ECS_ENDPOINT |
Glue 엔드포인트 | -glueEndpoint, --glue-endpoint | GLUE_ENDPOINT |
SageMaker 엔드포인트 | -sageMakerEndpoint, --sagemaker-endpoint | SAGE_MAKER_ENDPOINT |
SQS 엔드포인트 | -sqsEndpoint, --sqs-endpoint | SQS_ENDPOINT |
SNS 엔드포인트 | -snsEndpoint, --sns-endpoint | SNS_ENDPOINT |
Step Functions 엔드포인트 | -stepFunctionsEndpoint, --step-functions-endpoint | STEP_FUNCTIONS_ENDPOINT |
Docker에 대한 보안 인증 정보 및 구성
Docker용 Step Functions Local을 구성하려면 aws-stepfunctions-local-credentials.txt
파일을 만듭니다.
이 파일에는 보안 인증 정보와 기타 구성 옵션이 포함됩니다. 다음은 aws-stepfunctions-local-credentials.txt
파일을 만들 때 템플릿으로 사용될 수 있습니다.
AWS_DEFAULT_REGION
=AWS_REGION_OF_YOUR_AWS_RESOURCES
AWS_ACCESS_KEY_ID=YOUR_AWS_ACCESS_KEY
AWS_SECRET_ACCESS_KEY=YOUR_AWS_SECRET_KEY
WAIT_TIME_SCALE=VALUE
LAMBDA_ENDPOINT=VALUE
BATCH_ENDPOINT=VALUE
DYNAMODB_ENDPOINT=VALUE
ECS_ENDPOINT=VALUE
GLUE_ENDPOINT=VALUE
SAGE_MAKER_ENDPOINT=VALUE
SQS_ENDPOINT=VALUE
SNS_ENDPOINT=VALUE
STEP_FUNCTIONS_ENDPOINT=VALUE
aws-stepfunctions-local-credentials.txt
에서 보안 인증 정보와 구성 옵션을 구성하면 다음 명령을 사용하여 Step Functions를 시작합니다.
docker run -p 8083:8083 --env-file aws-stepfunctions-local-credentials.txt amazon/aws-stepfunctions-local
참고
호스트에서 사용하는 내부 IP 주소(예: http://host.docker.internal:8000
)로 확인되는 특수 DNS 이름 host.docker.internal
을 사용하는 것이 좋습니다. 자세한 내용은 Mac용 Docker Desktop의 네트워킹 기능
컴퓨터에서 Step Functions Local 실행
로컬 버전의 Step Functions를 사용하여 컴퓨터에 상태 시스템을 구성, 개발 및 테스트합니다.
HelloWorld 상태 시스템을 로컬로 실행
AWS Command Line Interface (AWS CLI)를 사용하여 Step Functions를 로컬에서 실행한 후 상태 시스템 실행을 시작할 수 있습니다.
-
상태 시스템 정의를 이스케이프아웃 AWS CLI 하여에서 상태 시스템을 생성합니다.
aws stepfunctions --endpoint-url http://localhost:8083 create-state-machine --definition "{\ \"Comment\": \"A Hello World example of the Amazon States Language using a Pass state\",\ \"StartAt\": \"HelloWorld\",\ \"States\": {\ \"HelloWorld\": {\ \"Type\": \"Pass\",\ \"End\": true\ }\ }}" --name "HelloWorld" --role-arn "arn:aws:iam::012345678901:role/DummyRole"
참고
role-arn
은 Step Functions Local에 사용되지 않지만 적절한 구문을 통해 포함되도록 해야 합니다. 이전 예제의 Amazon 리소스 이름(ARN)을 사용할 수 있습니다.상태 시스템을 성공적으로 만들면 Step Functions는 생성 날짜와 상태 시스템 ARN으로 응답합니다.
{ "creationDate": 1548454198.202, "stateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld" }
-
생성한 상태 머신의 ARN을 사용하여 실행을 시작합니다.
aws stepfunctions --endpoint-url http://localhost:8083 start-execution --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld
AWS SAM CLI Local을 사용한 Step Functions Local
로컬 버전의 AWS Lambda과 함께 로컬 버전의 Step Functions를 사용할 수 있습니다. 이를 구성하려면 AWS SAM을 설치하고 구성해야 합니다.
구성 및 실행에 대한 자세한 내용은 다음을 AWS SAM참조하세요.
로컬 시스템에서 Lambda가 실행되면 Step Functions Local을 시작할 수 있습니다. Step Functions 로컬 JAR 파일을 추출한 디렉터리에서 Step Functions Local을 시작하고 --lambda-endpoint
파라미터를 사용하여 로컬 Lambda 엔드포인트를 구성합니다.
java -jar StepFunctionsLocal.jar --lambda-endpoint http://127.0.0.1:3001 command
를 사용하여 Step Functions Local을 실행하는 방법에 대한 자세한 내용은 섹션을 AWS Lambda참조하세요자습서: Step Functions 및 AWS SAM CLI Local을 사용하여 워크플로 테스트.