Step Functions と Amazon Redshift API を使用して ETL/ELT ワークフローを実行する - AWS Step Functions

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

Step Functions と Amazon Redshift API を使用して ETL/ELT ワークフローを実行する

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

このプロジェクトでは、Step Functions は AWS Lambda 関数と Amazon Redshift Data 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: ステートマシンを作成する

  1. Step Functions コンソールを開き、[ステートマシンの作成] を選択します。

  2. 使用するスターターテンプレートを見つけて選択します。[次へ] を選択して続行します。

  3. [デモの実行] を選択して読み取り専用ですぐにデプロイできるワークフローを作成するか、[その上に構築する] を選択して編集可能なステートマシン定義を作成し、構築した後にデプロイできます。

  4. [テンプレートの使用] を選択して選択を続行します。

次のステップは、前の選択によって異なります。

  1. デモの実行 – によって AWS CloudFormation にデプロイされたリソースを使用して読み取り専用プロジェクトを作成する前に、ステートマシンを確認できます AWS アカウント。

    ステートマシン定義を表示し、準備ができたら、[デプロイと実行] を選択してプロジェクトをデプロイし、リソースを作成します。

    デプロイには、リソースとアクセス許可の作成に最大 10 分かかる場合があります。スタック ID リンクを使用して、 AWS CloudFormationの進行状況をモニタリングできます。

    デプロイが完了すると、コンソールに新しいステートマシンが表示されます。

  2. その上に構築する - ワークフロー定義を確認して編集できます。カスタムワークフローの実行を試みる前に、サンプルプロジェクト内のプレースホルダーの値を設定する必要がある場合があります。

注記

アカウントにデプロイされたサービスには、Standard 料金が適用される場合があります。

ステップ 2: ステートマシンを実行する

  1. [ステートマシン] ページで、サンプルプロジェクトを選択します。

  2. サンプルプロジェクトページで、[実行を開始] を選択します。

  3. [実行を開始] ダイアログボックスで、以下の操作を行います。

    1. (オプション) 生成されたデフォルトを上書きするカスタム実行名を入力します。

      非 ASCII 名とログ記録

      Step Functions では、ステートマシン、実行、アクティビティ、ラベルに、ASCII 以外の文字を含む名前を使用できます。このような文字は Amazon CloudWatch では機能しないため、CloudWatch でメトリクスを追跡できるように ASCII 文字のみを使用することをお勧めします。

    2. (オプション) [入力] ボックスに、入力値を JSON として入力します。デモを実行している場合は、このステップをスキップできます。

    3. [実行のスタート] を選択します。

    Step Functions コンソールから [実行の詳細] ページに移動し、[グラフビュー] で状態を選択して [ステップの詳細] ペインの関連情報を確認できます。

お疲れ様でした。

これで、実行中のデモまたはカスタマイズできるステートマシン定義のいずれかが完成しました。