Amazon Web Services ブログ

レガシーシステムから AWS Supply Chain へのサプライチェーンデータの変換を加速

あらゆる業界のお客様が、エンタープライズリソースプランニング (ERP)、注文管理システム (OMS)、エンタープライズデータウェアハウス (EDW) などの自律分散システムを長期に渡り活用し、サプライチェーンと運用データを保存しています。 これらのシステムは基本的な機能を十分に果たしていますが、サプライチェーンのデータはこれらの別々のデータ提供元となるシステムに閉じ込められたままです。

これらのシステムの基盤となるデータモデルと定義はさまざまであるため、ビジネスアプリケーションやレポートに利用するためにデータの標準化や変換を困難にしています。一方、これらのシステムに標準化されていないデータが存在すると、データ管理者やビジネスアナリストが、レポートや計画などのビジネスニーズに合わせてデータを変換または標準化するために費やす時間が長くなります。

このような状況は、組織が統一され標準化されたデータを用いて最適化された機械学習(ML)を活用した機能や運用を活用することを妨げています。 当社のお客様からは、複雑で抽出、変換、読み込み (ETL) 機能のために、サイロ化されたデータと手動の統合が、業務に支障をきたす事例が共有されています。

このブログ記事では、AWS サービスを使用して標準化されていないデータを変換し、ETL 操作を簡素化する簡単な方法を紹介します。 この記事では、AWS Supply Chain にデータを送る自動パイプラインの設定プロセスについても説明します。

AWS Supply Chain は、既存の ERP およびサプライチェーン管理システムと連携するクラウドベースのサプライチェーン管理アプリケーションです。 AWS Supply Chain は、一連のインタラクティブなビジュアルインターフェイスを使用して、データをリアルタイムのビジュアルマップでコンテキスト化します。 現在の在庫選択と数量、および各拠点の在庫状況の健全性 (たとえば、在庫切れの恐れがある在庫) が強調表示されます。 また、AWS Supply Chain では、より正確なベンダーのリードタイムを生成し、リスクを軽減するための機械学習を活用した実用的な洞察を提供します。

ソシューション概要

データ変換ソリューションでは、Amazon Simple Storage Service (Amazon S3)AWS Glue クローラー、AWS Glue DataBrew、および AWS Supply Chain を使用しています。 次の参照図は、これらのサービスの統合を示しています。

data mapping reference architecture

  1. オンプレミスデータソース – このブロックは、お客様のオンプレミスにある古いデータソースをすべてキャプチャします。
  2. Amazon S3 raw data sink – これらの Amazon S3 バケットは、ソースシステムから未加工の (変更されていない) データを受信することを目的としています。 今回の設定では、カンマで区切られた値 (.csv) のファイルをアップロードします。
  3. AWS Glue クローラー – AWS Glue クローラーは、Amazon S3 バケット内のファイルをクロールし、ファイルに存在する基礎となるスキーマを学習するように設計されています。 このスキーマにより、顧客は通常、手動のスキーママッピングに費やされる時間を削減できます。 また、AWS Glue クローラーには、クロールジョブの実行頻度を設定するオプションが組み込まれています。 このサービスの出力は、データソースのスキーマとテーブルの定義です。
  4. AWS Glue DataBrew – このツールは、お客様に次のような機能を提供するビジュアル ETL ツールを提供します。
    1. テーブルスキーマのビュー
    2. データリネージを把握して変化の流れを把握できる
    3. ソースフィールドの変更方法を管理するためのマッピングおよび変換機能
  5. Amazon S3 で変換されたデータ – Amazon S3 のストレージロケーションには、更新データと標準化されたデータが格納されます。 これは、ビジネスアプリケーションまたは任意のレポートツールに直接接続できます。
  6. AWS Supply Chain – このエンドユーザー向けビジネスアプリケーションは、回復力のあるサプライチェーンの運営に役立つ洞察を生成するためにML アルゴリズムを利用しています。

前提条件

このブログ記事では、前述のサービスの使用方法を理解し、次の条件を満たしていることを前提としています。

  1. 記載されているサービスが有効になっている AWS アカウント
  2. AWS Identity and Access Management (IAM) ロールを作成および変更できること。 これはポリシーと権限 (特に AWS Glue に関連するサービス) を作成するために必要です。
  3. データの提供元とのなるシステムへのアクセスとこれらのシステムからCSVファイルを抽出できること。

ソリューションの範囲と前提条件

このブログ記事では、いくつかの前提条件を設けています。

  1. データの提供元とのなるシステムから CSV ファイルを抽出し、Amazon S3 バケットにアップロードするプロセスは除外しています。
  2. ソースファイルは Amazon S3 バケットに手動でアップロードされます。 ただし、どのプロセスを使用しても、Amazon S3 バケットにロードできます。
  3. 受信するファイルの形式は、値がカンマで区切られていると想定されます。 Source File Example
  4. クロールワークフローはオンデマンドで実行されるように設定されています。 ただし、この記事では、異なる頻度でワークフローを構成する方法についても説明します。
  5. スキーマに変更があった場合、現在のソリューションを拡張して、スキーマの変更やそれに関連するデータフローへの影響をユーザーに通知することができます。 この設計拡張の詳細については、AWS ブログ記事「AWS Glue を使用してソーススキーマの変更点の特定」を参照してください。 .

ソリューションの各要素

管理者として AWS マネジメントコンソールにサインインします。 検索ボックスを使用して Amazon S3 を検索してください。

Amazon S3 バケット

  1. Amazon S3 バケットを作成するには、バケットを作成を選択し、画面上の手順に従います。 この設定では、デフォルトオプションを変更しないでください。 これにより、追加されるすべてのファイルについて、Amazon S3 バケット内のコンテンツの変更が確実にスキャンされます。 S3 bucket creation processS3 Bucket process continued
  2. ソースシステムから抽出した未加工のファイルを Amazon S3 バケットにアップロードすることで、データを取り込むことができます。S3 bucket data ingestion

S3 bucket data ingestion continuedAWS Glue crawler

  1. コンソールの上部にある検索ボックスを使用して AWS Glue に移動します。AWS Glue Search
  2. 左側のナビゲーションバーで Databases, を選択し、Create database を選択します。Database creation
  3. 左側のナビゲーションバーで Clawlers を選択し、Create crawler を選択します。 Crawler creation
  4. Name フィールドと Description フィールドに、追加するエンティティに基づいた値を入力します。 次のスクリーンショットでは、Product エンティティのクローラーが作成されています。 次に Next を選択します。Set Crawler Properties Screen
  5. 次の画面で、データソースを追加するように求められます。 ここで Amazon S3 のロケーションを参照します。adding a data source screen
  6. Add a data source continuedこのクローラージョブをいつ開始するかのスケジュールを選択できます。 このウォークスルーではオンデマンドが選択されています。 要件に基づいて設定を変更できます。 次に Next を選択します。set output and scheduling screen
  7. 次の画面で、完了した選択内容を確認して Create crawler ボタンをクリックできます。crawler creation screen
  8. 作成したクローラーを選択して Run ボタンを押して実行してください。crawler creation screen
  9. 左側のナビゲーションバーの Databases をクリックし、 Tables を選択すると、作成されたテーブルのリストが表示されます。created tables list

AWS Glue Databrew

  1. 検索ボックスで AWS Glue Databrew を検索します。AWS Glue Databrew Search
  2. 左側のナビゲーションペインで、データセットを選択します。 このステップでは、AWS Glue クローラーを使用して作成したデータセットの新しい接続を作成します。 以前に定義したすべてのテーブルについて、下記の手順を繰り返します。New connection for datasets
  3. New connection for datasets continuedNew connection for datasets continuedAWS Glue DataBrew 画面のプロジェクトを作成ボタンをクリックして、新しいデータプロジェクトを開始します。AWS Glue DataBrew Porject Creation screen
  4. プロジェクトを作成画面で、プロジェクト名を入力し、以前に作成されたデータセットを選択してこの手順を完了します。 例として、Outbound OrderLine データセットは以下のプロジェクトの作成に使用されます。Project creation screen
  5. GitHub Repository: 列名の変更など、スキーマ変換ステップはすべてレシピファイルを使用して実行できます。 この GitHub のロケーションにある JSON レシピファイルを参照できます。 たとえば、Outbound OrderLine テーブルでは、列名の変更のみが必要です。 これらのレシピをローカルマシンにダウンロードして、参照または使用することができます。Github file download screen
  6. Databrew ウィンドウに戻り、レシピを選択します。 レシピ (GitHub ステップまたは独自のバージョンからダウンロードしたもの) を Databrew ウィンドウにアップロードするには、右隅にある レシピをアップロード を選択します。Upload Recipe Screen

AWS Glue Databrew – Visual Transformation [オプション]

AWS Glue DataBrew では、受信データを視覚的に変更または変更することができます。 これには、フォーマット、列名、列操作の変更が含まれます。

  1. 新しいプロジェクトを作成するには、プロジェクト に移動し、新規プロジェクトを選択します。 この例では、InventoryPositions を使用します。New project creation screen
  2. 右上隅にあるレシピオプションを使用して、変換手順を追加できます。 次の例は、既存のデータの列名の変更を示しています。column renames of existing data.
  3. フィールド変換の一例として、標準日付を UTC 形式に変更することが挙げられます。 この変更を行うには、ステップを追加 を選択します。field conversion screen
  4. field conversion screen continuedレシピがアップロードされたら、ジョブに移動して変換を自動化するジョブを作成します。ジョブを作成 を選択します。automate the conversion screen
  5. ジョブの詳細画面で、レシピジョブを選択します。 次に、データセットの下で、新しいジョブを定義したいデータセットを関連付けます。 AWS Glue Databrew サービスでは、データを抽出する形式を柔軟に選択できます (この例では、値をカンマで区切った形式を使用します)。 data extraction format
  6. 関連付けられたスケジュール [オプション]: 追加の手順として、ジョブのスケジューリングを設定できます。setup a scheduling cadence
  7. 権限を含む必須フィールドをすべて入力したら、ジョブを作成 を選択します。 ジョブが作成されたら、スケジュールに従ってジョブを実行するのを待つか、手動で実行することができます。schedule execution screen
  8. ジョブが正常に実行されると、変換された CSV ファイルが Amazon S3 の場所で利用可能になるはずです。successful execution of the job

まとめ

ERP や WMS などのレガシーで断片化されたデータシステムに存在する非標準化データは、レポートや計画などのビジネスニーズに合わせてデータを標準化するのに必要な時間と労力を増大させます。 サプライチェーン管理システム間の統合は困難かつ複雑で、非常に時間がかかる場合があり、組織は単一ベンダーまたは非常に高価な統合サービスの使用を強いることがあります。 このウォークスルーでは、AWS サービスを使用して正規化されたデータロードプロセスを自動化するデータ変換アプローチについて説明しました。

このアプローチは、貴重なサプライチェーンデータを引き出すのに役立ち、より迅速な意思決定と効率性の向上を可能にします。 このブログでは、AWS Supply Chain についても簡単に触れていますが、これはサプライチェーンの可視性を高め、サプライチェーンの回復力を向上を可能にします。 詳細と始め方については AWS Supply Chain にアクセスしてください。技術概要については自分のペースで進められる AWS ワークショップをご覧ください。

本ブログはソリューションアーキテクトの水野 貴博が翻訳し画面も日本語の最新のものを使用しました。原文はこちら

著者について

Vikram BalasubramanianVikram Balasubramanianは、サプライチェーンのシニア・ソリューション・アーキテクトです。Vikramは、サプライチェーンの経営幹部と緊密に連携して、彼らの目標や問題点を理解し、解決策の観点からベストプラクティスと連携させています。Vikramは17年以上にわたり、サプライチェーン分野のさまざまな業種のフォーチュン500企業で働いてきました。Vikramは、パデュー大学でインダストリアルエンジニアリングの修士号を取得しています。ヴィクラムはノースダラス地域を拠点としています。