AWS Supply Chainのワークショップをやってみた
この記事はクラスメソッド発 製造業 Advent Calendar 2024の3日目の記事です。
AWS Supply Chainとは
2022年11月29日 re:Invent 基調講演内で発表 され、
2023年4月10日に 一般提供開始した比較的新しめのサービスです。
どういったサービスなのか?サービスページに書かれている概要を引用します。
AWS Supply Chain は、データを統合し、ML を活用した予測方法を提供して、需要予測と在庫の可視性、実用的なインサイト、組み込みのコンテキストコラボレーション、需要計画、供給計画、n 層サプライヤーの可視性、持続可能性に関する情報の管理を改善するクラウドベースのサプライチェーン管理アプリケーションです。AWS Supply Chain は、既存のエンタープライズリソースプランニング (ERP) およびサプライチェーン管理システムに接続し、ML と生成 AI を使用してさまざまなデータを変換して、サプライチェーンデータレイク (SCDL) に統合します。AWS Supply Chain は、リプラットフォーム、ライセンス料金の前払い、長期契約なしで、サプライチェーンのリスク管理を改善できます。
なるほどわからん。
私は ERPやサプライチェーンの経験がありません。そのためこれだけ読んでも全然イメージが掴めませんでした。
ワークショップやってみた
ありがたいことにAWS Supply Chainのワークショップがありました。
これをやってみてAWS Supply Chainがどういうサービスなのか、理解を深めたいと思います。
以降はワークショップの章立てごとに、どんな機能があるのか紹介していきます。
Getting Started
AWS IAM Identity Centerを有効化する
AWS Supply Chain はユーザー管理にAWS IAM Identity Center を使用します。というわけで IAM Identity Centerの有効化がSupply Chain利用の前提になります。
ここでいきなり注意点2点です。
1. 組織インスタンスを作成してください
IAM Identity Centerの有効化 = IAM Identity Centerのインスタンスの作成なのですが、現在IAM Identity Centerのインスタンスは2種類存在します。組織インスタンスとアカウントインスタンスです。
- [アップデート] AWS IAM Identity Center がメンバーアカウント個別の環境が作成出来るようになったので、作成して対応アプリケーションなどを調べてみた | DevelopersIO
- Organization and account instances of IAM Identity Center - AWS IAM Identity Center
このうちAWS Supply Chainで使えるのは組織インスタンスのみです。すごくざっくりと言うと、AWS Organizations配下のメンバーアカウントではAWS Supply Chainを利用できません。AWS Organizationsのマネジメントアカウントで有効化するか、スタンドアロンアカウントで有効化してください。
IAM Identity Centerのインスタンスがアカウントインスタンスの場合、AWS Supply Chain のインスタンスを作成はできますが、その後ユーザーアクセス管理ができません。
上記の「自動的に作成」を押しても何も起きません。
画面上部に以下注意書きが表示されます。
※ この、何もできない状態でもAWS Supply Chainのインスタンスを稼働させていることには変わりはないので課金が発生します!ご注意ください。
2. IAM Identity Centerを有効化するリージョンは、Supply Chainを利用したいリージョンと同じにしてください
- Supply Chainを利用開始すると、そのリージョンにSupply Chain インスタンスというリソースが作成されます。そのインスタンスとIAM Identity Centerを有効化したリージョンは同一リージョンである必要があります。
- Supply Chainは東京リージョン未サポートです。2024年12月時点でサポートされているリージョンは以下のみです。そのため、以下いずれかのリージョンでIAM Identity Centerを有効化する必要があります。
- US East (N. Virginia) us-east-1
- US West (Oregon) us-west-2
- Asia Pacific (Sydney) ap-southeast-2
- Europe (Frankfurt) eu-central-1
- Europe (Ireland) eu-west-1
- IAM Identity Centerの有効化は、アカウントごとにいずれか1リージョンのみです。
例えば東京リージョンで有効化しているとバージニアなど他リージョンでは有効化できません。
一度東京リージョンのIAM Identity Centerインスタンスを削除する必要があります。
インスタンスの作成
右上の「AWS Supply Chainインスタンスの作成」から始めます。
インスタンス作成完了までに少し時間がかかります。
アプリケーションオーナーの設定
次にアプリケーションオーナーを設定します。これはIAM Identity Centerのユーザーの中から選びます。選んだユーザーはIAM Identity CenterのポータルからAWS Supply Chainインスタンスにログインできるようになります。
ログイン
ログインして、最初の設定を終わらせた画面です。
Supply Chain Data Lake
まずは作成したAWS Supply Chainインスタンスで使用するデータが必要です。
AWS Supply Chainで使用されるデータエンティティは以下ページ以下にまとまっています。
AWS Supply Chainは外部データソースからデータを取り込み、サプライチェーン情報を抽出できます。以下のデータソースからのデータの抽出と取り込みをサポートしています。
- S3
- Electronic data interchange (EDI)
- SAP S/4HANA
- SAP ECC 6.0
このワークショップでは CSVファイルをS3バケットにアップロードして使用します。
AWS Supply Chainは、データソース(今回はS3)からアップロードしたテーブルをSupply Chain Data Lakeのデータエンティティに自動的にマッピングしてくれます。マッピングには大規模言語モデル (LLM) が使われています。完全に自動ではなく、各自動マッピングが正しいか確認するステップがあります。
Inventory Health(在庫健全性)
ここから面白くなってきます!
AWS Supply Chainは、各拠点の在庫状況のスナップショットと予測を取得できます。以下が例です。
下部のスライダーに注目です。
これを動かすことで未来の在庫の予測も確認できます。
マップ上の各拠点をクリックするとズームインも可能です。
その拠点にある、特定の商品の在庫状況について確認できます。
テーブル形式でも確認可能です。
先程マップでズームインしたときのように、メンフィスDCの在庫状況を確認しています。
「ピボット処理」フォーム値を「商品」に変更すれば、商品別の在庫状況が確認できます。
Insights and Collaboration(洞察(インサイト)とコラボレーション)
AWS Supply Chainは、在庫リスクとリードタイム偏差リスクを作成し、在庫のバランスを再調整して補充を改善できます。
また、インスタンスにユーザーを追加して共同作業ができます。詳細をひとつずつ見ていきましょう。
在庫リスク
在庫リスク = 在庫切れや、その反対の過剰在庫のリスクのことを指します。
「ウォッチリスト」というものを作成すると、そこで対象にした在庫のリスクのインサイトを確認できるようになります。このワーショップ内では、先程も登場した「メンフィスDC」という場所の、「すべての商品」を対象にしたウォッチリストを作成します。
ウォッチリスト作成後しばらくすると、リストに色々な項目が表示されるようになりました。また、6時間ごとに新たなリスクを検出してくれるそうです。
新規のインサイトは左列「新規のインサイト」に表示され、内容を確認し対策を講じて、「レビュー中」→「解決済み」に移動させていくようなフローになります。
インサイトを1つ選んで、詳細を表示してみます。
余剰在庫が予測されるので、在庫切れが予測されているマイアミDCへいくつか移動させませんか、という調整提案がされています。ほうほう。
移動距離は500キロで、配送料はいくら、移動時のCO2排出量はいくらみたいなことも確認できますね。
「スコア」値もありますが、このスコアはデフォルトでは以下のロジックで算出されます。
推奨要因 | デフォルトのスコア重み | 説明 |
---|---|---|
距離 | 30% | あなたを助けてくれる場所(この例だとマイアミDC)とあなたの現在地(この例だとメンフィスDC)の間の距離 |
CO₂排出量 | 30% | 特定のリバランスオプションを選択した場合に発生する排出量 |
リスク解決 | 40% | ある場所での過剰在庫を削減して現在の場所での在庫切れを防ぐと、パーセンテージが純増します。 |
送料 | 0% | 特定のリバランスオプションに関連する輸送コスト |
このロジック(各項目の重み付け)は設定変更可能です。
話を戻して、先程のマイアミDCへ在庫を移動させる案を採用することにしましょう。「選択」ボタンを押すと以下のような確認モーダルが表示されます。
画面に沿って進めていってモーダルを閉じると、該当インサイトが「解決済み」欄に移動します。
リードタイム偏差
リードタイムとは発注から納品までに要する総所要時間のことです。非常に重要な値です。リードタイムが実際のリードタイムよりも長く設定されていると、予想よりも早く商品が納品されるため、過剰在庫につながる可能性があります。反対にリードタイムが短すぎると在庫切れのリスクが生まれます。
AWS Supply Chainは機械学習を使用して、過去のパフォーマンスに基づいて正確なリードタイムを計算します。これがリードタイム偏差インサイト機能です。
在庫リスクインサイトと同様、リードタイム偏差インサイトでもウォッチリストを作成します。
シカゴDCのすべての商品でウォッチリストを作成してみます。
暫く待つと、在庫リスクインサイトの際と同様に色々な項目が表示されるようになりました。
テーブルビューに切り替えることもできます。
1つレコードを選択して、詳細を確認してみましょう。
Mark LLCなる出品者からのMIMO Antennaという商品のシカゴDCへの納品は過去12ヶ月100%遅れているというレポートです。リードタイムの設定が短すぎるので商品が届くのが予想より遅くなっており、そのためリードタイムを2日から17日への変更が提案されています。
また、過去の発注書の詳細を現在の発注書や予定発注書と比較もできます。差異を確認し、それに応じて業務を計画できます。
この問題を解決するには、外部データソース側でデータを更新してAWS Supply Chainインスタンスに反映しなおす必要があります。(今回の例だとCSVファイル再アップロード)
他のユーザーとのコラボレーション
ここまで見てきたAWS Supply ChainインスタンスのWebアプリ上で、そのまま他ユーザーとコミュニケーションが取れます。従来の対面での会話や電話、Eメールと比べて、情報をより素早くやり取りでき、また関連する文脈や背景情報も簡単に共有できるため、より効率的なコミュニケーションが可能です。
在庫リスクインサイト / リードタイム偏差ともに、詳細画面に吹き出しにプラスがついているようなアイコンがあります。ここからチャットを開始できます。
インサイトに紐づかないチャットも可能です。すべてのチャットはヘッダー右上の「コラボレーション」ボタンからまとめて確認が可能です。
Work Order Insights(作業指示の洞察(インサイト))
ここでいう「作業」は、例えば機器のメンテナンスといったものを指すようです。メンテナンスを行なうにあたり必要な資材の調達などの細かなプロセスが必要になります。そういった各プロセスの詳細や依存関係を設定すると、AWS Supply Chain上で現状の可視化、分析が可能になり、より良い計画を立てられる、そういう機能のようです。
- ※ ↑AWS re:Invent 2023 recapより引用
ここでは資材計画担当者になったと仮定して、四半期ごとのメンテナンス指示と、資産の故障に基づく修理イベント指示の両方を実施します。
機能の初期画面です。セットアップから始めます。
Asset_1_Repairというプロセスの設定を行ないます。修理イベントですね。
次の画面です。下部でマイルストーン、プロセスが次のプロセスに進むためのステップを設定します。
このワークショップでは3つのマイルストーンを設定します。修理のための材料のリクエスト、ベンダーの確認、材料の受領です。
次の画面でマイルストーンルールを設定します。これは各マイルストーンが発生するタイミングを決定するルールと値です。
設定内容全体は以下です。
以下エンティティが関連しているようです。reservation エンティティが予約の概要を管理し、process_product エンティティがプロセスの詳細な状態を管理しています。
Asset_1_Repairの設定完了です。続いて四半期ごとのメンテナンスについても同じように設定します。説明は割愛しますが、先程作成したマイルストーンがこちらでも利用できるようになっていますのでAsset_1_Repairと同じように設定します。
ここまでで設定は完了です。「作業指示のインサイト」の最初の画面に戻ると、配達遅延予測が複数ある(一番右の列)ことが確認できます。
各レコードの一番左にある下矢印を押して詳細を確認可能です。
さらに各材料の追加情報も確認できます。完了したマイルストーンと保留中のマイルストーンのほか、関連する調達、発注書、および材料の予測利用可能日が表示されます。
「購買」ビューではすべての作業指示にわたる資材要求を確認、整理できます。
「物流」ビューもありますが、購買ビューとテーブル列の並び順が違うだけで、他に何が違うのかわかりませんでした…
N-Tier Visibility(N階層の可視性)
サプライプランニングまたは作業注文インサイトと連携して、組織を超えて外部の取引パートナーに可視性を拡張する機能です。
数ステップで取引パートナーを招待、オンボード、コラボレーションできます。
初期設定から始めます。予測コミットコラボレーションの設定、発注番号コラボレーションの設定とありますがどちらも全項目をデフォルトのまま設定します。
パートナー一覧が表示されました。
パートナーをAWS Supply Chainに招待してみましょう。招待メール文面のカスタマイズが可能です。
ここからは招待されたパートナーの立場です。招待メールに記載のリンクにアクセスして、画面に沿って設定を進めていき、招待を受領します。
(パートナーではなく)管理者側に戻ります。しばらくすると、N階層の可視性の「発注番号」ページで注文書の確認ができます。
PO(発注書)がパートナーに送信され、パートナーの確認待ち状態になっていることがわかります。
パートナー側でも確認してみましょう。
上記と同じPO(発注書)データが確認できました。
お届け確認日を6月5日に2日遅らせて、右下「更新」をクリック。
メッセージを添えることもできます。
管理者側のログインに戻ります。
右上通知ボタン押下で、POが更新されたことがわかります。
PO(発注書)詳細画面に行くと、パートナーによる更新の内容を確認可能です。
承認または拒否ができます。
この項は以上です。このようにAWS Supply Chain上でパートナーと直接連携できます。
Demand Planning(需要計画)
需要計画機能は、ビジネス ユーザーが需要計画を作成、共同作業、公開できるようにする Web ベースの需要計画アプリケーションです。
過去の予測経験に基づく独自の機械学習アルゴリズムを使用して需要計画予測を生成します。
まずは初期設定です。需要計画を設定します。
詳細は割愛しますが、ここでは以下を行ないます。
- 今後 6 か月間の月次予測を生成します。
- 予測の粒度を設定します。
- brand_name をレベル 1、product_id をレベル 2 (デフォルト)として製品階層属性を構成します。
- サイト階層、顧客階層も設定します。
- プロモーションの時系列データを需要ドライバーとして設定して、予測精度を向上させます。
予測作成までには2〜3時間かかります。2回目以降ではもっと短くなるそうです。
ちょうど2時間後くらいに作成完了しました。
グラフの真ん中の縦線が現在の計画サイクルの開始を示しています。(今は2024年12月なので、なぜ24年6月と7月の間にあるのかはよくわからなかったです‥)
つまり縦線の左側は過去の実際の需要がプロットされており、右側は予測です。
カテゴリや商品を絞って表示できます。
他にもサイト(場所)で絞り込むこともできます。
このFwdDC1〜3というのがどこのことを指しているのかわかりにくいですが、「在庫の健全性」項で見たページから判断するとデトロイト、シアトル、ボルティモアのことではないかと思います。
また、顧客ごとの絞り込みも可能です。
作成された予測をただ確認するだけではなく、上書きして調整もできます。
縦線の右側、予測値の数字はリンクになっています。
リンク押下で数量の上書きができます。最下部に書かれていますが、一括編集も可能です。
上書きは即時反映されるわけではありません。右上「公開する」のクリックが必要です。
Cleanup and Summary
単にワークショップで作ったリソースを削除するだけです。
- AWS Supply Chainインスタンス
- S3バケット
- KMSキー
- IAM Identity Centerユーザー
さらに、よりAWS Supply Chainを学びたい方向けに、以下リンクが紹介されていました。
ワークショップやってみて解けた誤解
既存のERPパッケージやサプライチェーン管理システムを置き換えるSaaSではない
ワークショップをやる前は、「AWS Supply ChainはSaaSなので従量課金で始められます。高額な初期投資は不要です。またSaaSなので今後も勝手に機能拡張、改善していきます。さあ、現在お使いのERPパッケージからAWS Supply Chainに移行しましょう!」といったサービスなのかなと思っていました。
が、既存のERPパッケージやサプライチェーン管理システムを置き換えるサービスではないようです。ERP上にあるデータと連携して、そのデータを使って見やすいビューを作ったり、機械学習によるインサイトを提供するサービスであり、何かしらのERPやサプライチェーン管理システムの利用ありきのサービスでした。
高そう → 無料利用枠がある
最初の AWS Supply Chain デプロイから 30 日間は無料利用枠がありますので、この間にできるだけサービスの検証をやり切ってしまうのが良いと思います。
期間内であれば無制限利用が可能というわけではありません。詳細は料金ページをご確認ください。
無料期間が過ぎた後は高いのか?というと、この点調べたわけではないので厳密なことは言えませんが、高そうです。上記料金ページに料金例がありますがなかなか高額です。
また、最初の方にIAM Identity Centerとの連携が失敗していてもAWS Supply Chainのインスタンスを稼働させていれば課金されるという話をしました。私はそのインスタンスの削除を忘れてしまっておりしばらく課金が発生してしまいました。その時の課金額↓も決して安くはありませんでした。
感想
よくわからなかったAWS Supply Chainの理解がかなり深まりました。主要機能である在庫の可視化、リスク管理、需要予測、サプライヤーとのコラボレーションなどを、具体的な操作手順を通して理解できました。面白かったです。機械学習によって在庫切れ、過剰在庫のリスクが予想され、それが一覧できる、さらに改善提案までしてくれるとこが特に興味が湧きました。
ですが、私がERPやサプライチェーンの知見が全く無いのでこのサービスがどれほど有用なのかは判断がつかないのが正直なところです。また、用語やデータエンティティの意味を理解できていないので、ときおり設定内容、表示内容が理解できないところがあったのが歯がゆかったです。
日頃からERPやサプライチェーンに携わっている方にもこのワークショップをやっていただき、感想をぜひ聞きたいですね。