

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS-s3-스텝 기능
<a name="aws-s3-step-function"></a>

![](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/experimental.png)


 모든 클래스는 활발히 개발 중이며 향후 버전에서 이전 버전과 호환되지 않는 변경 또는 제거 될 수 있습니다. 이들은 적용되지 않습니다[의미 체계 버전 관리](https://semver.org/)모델을 반환합니다. 즉, 이 패키지를 사용할 수도 있지만 이 패키지의 최신 버전으로 업그레이드할 때 소스 코드를 업데이트해야 할 수도 있습니다.

**참고:** 적절한 기능을 보장하려면 프로젝트의 AWS 솔루션 구성 패키지와 AWS CDK 패키지가 동일한 버전이어야 합니다.


|  **언어**  |  **패키지**  | 
| --- | --- | 
|  ![](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/python.png) Python  |  aws\_solutions\_constructs.aws\_s3\_step\_function  | 
|  ![](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/typescript.png) 타이프 스크립트  |  @aws-solutions-constructs/aws-s3-step-function  | 
|  ![](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.s3stepfunction  | 

## Overview
<a name="overview-22"></a>

 이 AWS 솔루션 구성은 AWS 단계 함수에 연결된 Amazon S3 버킷을 구현합니다.

**참고**  
이 구조는 아마존 EventBridge (Amazon CloudWatch Events) 를 사용하여 AWS Step Functions 트리거합니다. EventBridge 는 유연성이 뛰어나지만 S3 이벤트 알림으로 Step Functions 트리거하면 지연 시간이 줄어들고 비용 효율성이 높아집니다. 비용 및/또는 대기 시간이 문제인 경우`aws-s3-lambda`및`aws-lambda-stepfunctions`이 구조 대신.

 다음은 TypeScript 터의 최소 배포 가능한 패턴 정의입니다.

```
import { S3ToStepFunction, S3ToStepFunctionProps } from '@aws-solutions-constructs/aws-s3-step-function';
import * as stepfunctions from '@aws-cdk/aws-stepfunctions';

const startState = new stepfunctions.Pass(this, 'StartState');

new S3ToStepFunction(this, 'test-s3-step-function-stack', {
    stateMachineProps: {
      definition: startState
    }
});
```

## Initializer
<a name="initializer-22"></a>

```
new S3ToStepFunction(scope: Construct, id: string, props: S3ToStepFunctionProps);
```

 *파라미터* 
+  scope[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`S3ToStepFunctionProps`](#pattern-construct-props-22) 

## Prop 패턴 구성
<a name="pattern-construct-props-22"></a>


|  **이름**  |  **유형**  |  **설명**  | 
| --- | --- | --- | 
|  버켓토비 기존에? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  S3 버킷 객체의 기존 인스턴스입니다. 이것이 제공되는 경우bucketProps는 오류입니다. | 
|  버킷 소품? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)  |  버킷의 기본 속성을 재정의하는 선택적 사용자 제공 속성입니다. 이면 무시됩니다.existingBucketObj가 제공될 것입니다. | 
|  상태 머신소품  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html)  |  선택적 사용자가 SFN.StateMachine의 기본 소품을 무시하기 위해 소품을 제공했습니다. | 
|  이벤트 소품? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  선택적 사용자가 기본값을 재정의하기 위해 EventRuleProps를 제공했습니다. | 
|  배포클라우드트레일? |  boolean  |  Amazon S3 API 이벤트를 기록하기 위해 AWS CloudTrail 에 트레일을 배포할지 여부 기본값은 true입니다. | 
|  클라우드왓찰암스 만들기  |  boolean  |  권장 CloudWatch 경보를 생성할지 여부입니다. | 
|  로그그룹Props? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs 로그 그룹의 기본 소품을 재정의하기 위한 선택적 사용자 제공 prop입니다. | 

## 패턴 속성
<a name="pattern-properties-22"></a>


|  **이름**  |  **유형**  |  **설명**  | 
| --- | --- | --- | 
|  CloudTrail? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudtrail.Trail.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudtrail.Trail.html)  |  패턴에 의해 생성 된 Cloudtrail 트레일의 인스턴스를 돌려줍니다. | 
|  클라우드 트레일버킷? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Cloudtrail 데이터를 저장하기 위한 패턴으로 생성된 버킷의 인스턴스를 반환합니다. | 
|  클라우드 트레일로깅 버킷? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Cloudtrail 추적에서 사용하는 기본 버킷의 패턴으로 생성된 로깅 버킷의 인스턴스를 반환합니다. | 
|  CloudWatCalarms? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  패턴에 의해 생성된 하나 이상의 CloudWatch 경보 목록을 반환합니다. | 
|  S3Bucket? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  패턴에 의해 생성된 S3 버킷의 인스턴스를 반환합니다. | 
|  s3로깅 버킷? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  S3 버킷의 패턴으로 생성된 로깅 버킷의 인스턴스를 반환합니다. | 
|  스테이트머신  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html)  |  패턴에 의해 생성 된 상태 머신의 인스턴스를 돌려줍니다. | 
|  상태시스템로그 그룹  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  상태 시스템의 패턴으로 생성된 로그 그룹의 인스턴스를 반환합니다. | 

## 기본 설정
<a name="default-settings-22"></a>

 재정의없이이 패턴을 즉시 구현하면 다음과 같은 기본값이 설정됩니다.

### Amazon S3 버킷
<a name="amazon-s3-bucket-6"></a>
+  S3 버킷에 대한 액세스 로깅을 구성합니다.
+  AWS 관리형 KMS 키를 사용하여 S3 버킷에 대한 서버 측 암호화를 활성화합니다.
+  S3 버킷의 버전 관리를 켭니다.
+  S3 버킷에 대한 공용 액세스를 허용하지 않습니다.
+  CloudFormation 스택을 삭제할 때 S3 버킷을 유지합니다.
+  전송 중인 데이터의 암호화를 적용합니다.
+  90일 후에 비최신 객체 버전을 Glacier 스토리지로 이동하는 수명 주기 규칙을 적용합니다.

### AWS CloudTrail
<a name="aws-cloudtrail"></a>
+  AWS CloudTrail에서 트레일을 구성하여 구성에 의해 생성된 버킷과 관련된 Amazon S3 API 이벤트를 기록합니다.

### Amazon CloudWatch Events
<a name="amazon-cloudwatch-events-rule-2"></a>
+  CloudWatch 이벤트에 최소 권한을 부여하여 Lambda 함수를 트리거합니다.

### AWS Step Fun
<a name="aws-step-function-1"></a>
+  API Gateway 대해 CloudWatch 로깅을 사용하도록 설정합니다.
+  단계 기능에 대한 모범 사례 CloudWatch 경보를 배포합니다.

## Architecture
<a name="architecture-22"></a>

![](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/aws-s3-step-function.png)


## GitHub
<a name="github-22"></a>


<table>
<thead>
  <tr><th colspan="2"> 이 패턴의 코드를 보려면 문제 및 끌어오기 요청을 작성/조회하는 등의 작업을 수행합니다. </th></tr>
</thead>
<tbody>
  <tr><td> ![](http://docs.aws.amazon.com/ko_kr/solutions/latest/constructs/images/GitHub-Mark-32px.png) </td><td> [@aws -솔루션 - 구성/AWS-s3 단계 함수](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-s3-step-function) </td></tr>
</tbody>
</table>
