Step Functions と Amazon Redshift API を使用して ETL/ELT ワークフローを実行する
このサンプルプロジェクトでは、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] (コピー) コマンドを使用して、Amazon S3 から Amazon Redshift テーブルにデータをコピーします。
Amazon Redshift と Step Functions サービスの統合の詳細については、次のガイドを参照してください。
Lambda および Amazon Redshift の IAM ポリシーの詳細については、次のガイドを参照してください。
注記
このサンプルプロジェクトでは、料金が発生する場合があります。
AWS の新規ユーザーには、無料利用枠があります。この枠では、サービスを利用しても一定のレベル以下であれば無料です。AWS のコストと無料利用枠の詳細については、AWS Step Functions 料金
ステップ 1: ステートマシンを作成する
-
Step Functions コンソール
を開き、[ステートマシンの作成] を選択します。 -
[テンプレートから作成] を選択し、関連するスターターテンプレートを見つけます。[次へ] を選択して続行します。
-
テンプレートの使用方法を選択します。
-
デモの実行 – 読み取り専用のステートマシンを作成します。確認後、ワークフローとすべての関連リソースを作成できます。
-
その上に構築する – 編集可能なワークフロー定義が提供され、内容を確認・カスタマイズし、独自のリソースでデプロイできます (関数やキューなどの関連リソースは自動的には作成されません)。
-
-
[テンプレートの使用] を選択して選択を続行します。
注記
アカウントにデプロイされたサービスには、Standard 料金が適用されます。
ステップ 2: デモステートマシンを実行する
[デモの実行] オプションを選択した場合、すべての関連リソースがデプロイされ、実行準備が整います。[その上に構築する] オプションを選択した場合は、プレースホルダー値の設定や、カスタムワークフローの実行に必要な追加リソースの作成が必要になることがあります。
[Deploy and run] (デプロイと実行) を選択します。
CloudFormation スタックがデプロイされるのを待ちます。これには最大 10 分かかることがあります。
[実行を開始] オプションが表示されたら、[入力] を確認し、[実行を開始] を選択します。
お疲れ様でした。
これで、ステートマシンのデモが実行されます。グラフビューでステートを選択すると、入力、出力、変数、定義、イベントを確認できます。