

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Step Functions と Amazon Redshift API を使用して ETL/ELT ワークフローを実行する
<a name="sample-etl-orchestration"></a>

このサンプルプロジェクトでは、Step Functions と Amazon Redshift データ API を使用して、Amazon Redshift データウェアハウスにデータをロードする ETL/ELT ワークフローを実行する方法を示します。

このプロジェクトでは、Step Functions はAWS Lambda 関数と Amazon Redshift データ API を使用して、必要なデータベースオブジェクトを作成し、一連のサンプルデータを生成し、ディメンションテーブルのロードを実行する 2 つのジョブを並列で実行し、その後にファクトテーブルを実行します。両方のディメンションロードジョブが正常に終了すると、Step Functions はファクトテーブルのロードジョブを実行し、検証ジョブを実行し、Amazon Redshift クラスターを一時停止します。

**注記**  
 ETL ロジックを変更して、Amazon S3 などの他のソースからデータを受信できます。[[COPY]](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) (コピー) コマンドを使用して、Amazon S3 から Amazon Redshift テーブルにデータをコピーします。

Amazon Redshift と Step Functions サービスの統合の詳細については、次のガイドを参照してください。
+ [サービスと Step Functions の統合](integrate-services.md)
+  [Amazon Redshift Data API の使用](https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html) 
+  [Amazon Redshift データ API サービス](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rds-data.html) 
+  [Lambda を使用する Step Functions ステートマシン状態の作成](tutorial-creating-lambda-state-machine.md) 

Lambda および Amazon Redshift の IAM ポリシーの詳細については、次のガイドを参照してください。
+  [を呼び出すための IAM ポリシーAWS Lambda](connect-lambda.md#lambda-iam) 
+  [Amazon Redshift Data API へのアクセスの認可](https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html#data-api-access) 

**注記**  
このサンプルプロジェクトでは、料金が発生する場合があります。  
AWS の新規ユーザーには、無料利用枠があります。この枠では、サービスを利用しても一定のレベル以下であれば無料です。AWS のコストと無料利用枠の詳細については、[AWS Step Functions 料金](https://aws.amazon.com/step-functions/pricing/)を参照してください。

## ステップ 1: ステートマシンを作成する
<a name="sample-etl-orchestration-create"></a>

1. [Step Functions コンソール](https://console.aws.amazon.com/states/home?region=us-east-1#/)を開き、**[ステートマシンの作成]** を選択します。

1. **[テンプレートから作成]** を選択し、関連するスターターテンプレートを見つけます。[**次へ**] を選択して続行します。

1. テンプレートの使用方法を選択します。

   1. **デモの実行** – 読み取り専用のステートマシンを作成します。確認後、ワークフローとすべての関連リソースを作成できます。

   1. **その上に構築する** – 編集可能なワークフロー定義が提供され、内容を確認・カスタマイズし、独自のリソースでデプロイできます (関数やキューなどの関連リソースは自動的には作成**されません**)。

1. **[テンプレートの使用]** を選択して選択を続行します。
**注記**  
*アカウントにデプロイされたサービスには、Standard 料金が適用されます。*

## ステップ 2: デモステートマシンを実行する
<a name="sample-etl-orchestration-start-execution"></a>

**[デモの実行]** オプションを選択した場合、すべての関連リソースがデプロイされ、実行準備が整います。**[その上に構築する]** オプションを選択した場合は、プレースホルダー値の設定や、カスタムワークフローの実行に必要な追加リソースの作成が必要になることがあります。

1. **[Deploy and run]** (デプロイと実行) を選択します。

1. CloudFormation スタックがデプロイされるのを待ちます。これには最大 10 分かかることがあります。

1. **[実行を開始]** オプションが表示されたら、**[入力]** を確認し、**[実行を開始]** を選択します。

**お疲れ様でした。**  
これで、ステートマシンのデモが実行されます。**グラフビュー**でステートを選択すると、入力、出力、変数、定義、イベントを確認できます。