Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon SageMaker Catalogの、AIエージェントによる自動データ分類機能を...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kasacchiful
PRO
January 17, 2026
Technology
0
34
Amazon SageMaker Catalogの、AIエージェントによる自動データ分類機能を試してみようとしたが、できなかったので、代わりに最近構築したデータ連携基盤を紹介します / 20260117jawsug-fukui
2026/01/17 (土) JAWS-UG福井 #1 にて発表した資料。
イベントページ:
https://jawsug-fukui.connpass.com/event/375652/
kasacchiful
PRO
January 17, 2026
Tweet
Share
More Decks by kasacchiful
See All by kasacchiful
Amazon Q Developer CLI (現Kiro CLI) で作った 新潟ランチマップWebアプリのこれまでとこれから / 20260207jawsug-tochigi
kasacchiful
PRO
0
32
データファイルをAWSのDWHサービスに格納する / 20251115jawsug-tochigi
kasacchiful
PRO
2
210
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
PRO
0
680
ワイがおすすめする新潟の食 / 20250912jasst-niigata-lt
kasacchiful
PRO
0
37
WorkersでDiscord botを試してみた / 20250822workers-tech-talk-niigata
kasacchiful
PRO
1
80
地域コミュニティへの「感謝」と「恩返し」 / 20250726jawsug-tochigi
kasacchiful
PRO
0
250
Amazon Q Developer for CLI を使って PHP Conference 新潟 2025 参加者向けにグルメサイトを構築した話 / 20250620niigata-5min-tech
kasacchiful
PRO
1
140
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
PRO
0
480
生成AIでメタデータを生成してみた / 20250525generate-metadata-using-generative-ai
kasacchiful
PRO
0
160
Other Decks in Technology
See All in Technology
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
170
Agile Leadership Summit Keynote 2026
m_seki
1
640
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
17k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
Tebiki Engineering Team Deck
tebiki
0
24k
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
160
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.8k
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
180
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
What happened to RubyGems and what can we learn?
mikemcquaid
0
300
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
180
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
340
Featured
See All Featured
Music & Morning Musume
bryan
47
7.1k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
HDC tutorial
michielstock
1
390
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
200
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
Docker and Python
trallard
47
3.7k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
We Are The Robots
honzajavorek
0
160
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
190
Transcript
Amazon SageMaker Catalogの、AIエージェントによる自 動データ分類機能を試してみようとしたが、できなかったの で、代わりに最近構築したデータ連携基盤を紹介します JAWS-UG福井 #1 2026/01/17 笠原 宏
JAWS-UG福井 リブート おめでとうございます! 約2年前の「JAWS-UG北陸新幹線 #1 in 福井」以来、2回目の福井参加
笠原 宏 (@kasacchiful) クラスメソッド株式会社 データ事業本部 ビジネスソリューション部 ソリューションアーキテク ト 新潟県新潟市在住 JAWS-UG新潟
/ Python機械学習勉強会 in 新潟 / JaSST Niigata / ASTER / SWANII / Cloudflare Meetup Niigata / AI CRAFT Hacks Niigata / KomeKaigi AWS Community Builder (Serverless) 2025 Japan AWS Top Engineer / 2025 Japan All AWS Certifications Engineer 自己紹介 3
本日の道のり 4
本編勉強会 不定期で約2〜3時間 オフライン (たまにZoom配信あり) 講演いただいたり、ハンズオンしたり、事前にテーマ決めて開催 プチキャッチアップ会 毎週木曜夜21:00から1時間 オンライン 気になる記事を一緒に見たり、お悩み相談したり、その場でやること 決めて開催
JAWS-UG新潟のご紹介 https://jawsug-niigata.connpass.com/ 5
まずは re:Invent 2025で出てきた分析サービスについて、簡単にお話し。 タイトル申請時にこのようにしていたので https://jawsug-fukui.connpass.com/event/375652/ 6
AWS re:Invent 2025で出たデータ分析系の流れ https://speakerdeck.com/ishikawa_satoru/aws-re-invent-2025-data-and-ai-updates?slide=6 7
データカタログ作成の手間を、AIが支援 https://aws.amazon.com/jp/about-aws/whats-new/2025/11/amazon-sagemaker-catalog- automatic-data-classification-ai-agents/ 8
Amazon SageMaker Catalog
ビジネスメタデータを管理 Amazon SageMaker Unified Studioから利用可能 Amazon SageMaker Catalog 10
Glue Data Catalog テクニカルメタデータ向け 主にETLパイプラインで利用 SageMaker Catalog ビジネスメタデータ向け 主に組織全体のデータガバナンス管理で利用 Glue
Data Catalogを呼び出して管理することも可能 SageMaker Catalog vs Glue Data Catalog 11
早速試そうと、SageMaker Unified Studioを新規作成したものの... 結論: 試せませんでした... 早速試そうとしたが... 12
メニューがない ? https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/autodoc.html 13
権限の問題かも? 色々試したが変わらず、権限の問題ではなさそう。 なんか、SageMakerのドメインが、古くね? SageMaker Unified Studioの環境構築したのに、ドメインの形式が前のSageMakerのもの になってるらしい 今のドメイン: https://[domain-id].sagemaker.[region].on.aws/ 本来こうなってほしいらしい:
https://[domain-name].studio.[region].sagemaker.aws/ SageMaker Unified Studioのドメイン再作成したけど変わらず 他のAWSアカウントで作成してみたけど変わらず 最終的には、AWSサポートへの問い合わせになりました。 (Amazon Qからも、サポートに問い合わせた方がいいと助言いただきました) わからないので、Amazon Qに問い合わせ 14
このままでは大した発表にならない
代わりに最近構築したデータ連携基盤を紹介します
オンプレミスやRDSにあるOracle DBから、DWH(Snowflake)にデータを溜めたい DWHでは、データマートを整備して、BIツールでデータを可視化したい とある事例 17
構成図 18
処理の流れ 19
Oracle DBはオンプレミスや他アカウントのRDSにある お客様にてTransit GatewayやDirectConnectが整備済 Transit Gateway経由でアクセス可能 接続先は4箇所 (オンプレミス・RDS含め) Oracle DBのバージョンは全て19c
ただし、RDS以外は sec_case_sensitive_logon がFalse 「ログイン時のパスワードの大文字・小文字を区別しない」古い設定 「python-oracledb」ライブラリのthinモード(Oracleクライアント不要)では接続できず、 thickモード(Oracleクライアント必要)での接続が必須 Oracle Instant Client導入するにしても容量が大きいため、今回はコンテナ化 (Lambdaコン テナ → 後にECS/Fargate) で対応する Oracle DBへのクエリはS3に保管しておいて、実行時にダウンロード Oracle DB → S3 20
Snowflakeには「Snowpipe」という便利な機能がある 今回はSnowflake SQL REST APIをLambdaから実行して、Snowflakeのテーブルにロードする 方法をとった (なお、今回のテーマにはあまり関わってこないところなので、詳細は控える) S3 → DWH(Snowflake)
21
Lambdaの実行時間制限「15分」を超える処理が必要になる メモリも上限10GBじゃ足りなくなる Lambdaコンテナから、ECS/Fargateへ移行 その後の運用にて 22
1. Lambda関数はそのままに、ECS/Fargateのエントリポイント用の関数を用意する 2. Dockerfileのエントリポイントを変更する 3. Step Functionsのステートマシン上でサービス定義 4. ステートマシン上のpayloadは、必要な項目をCommandに渡す 5.
VPCエンドポイントを各種用意する 6. ステートマシンの実行権限に注意 LambdaコンテナからECS/Fargateへの変更方法 23
ECSサービスを定義する代わりに、ステートマシン上で定義する ステートマシンでコールされた分だけ、タスクが起動する Comment: >- ETL1 State Machine StartAt: ETL_query_serialize States:
ETL_query_serialize: Type: Pass Parameters: query_serialize.$: States.JsonToString($.queries) Next: ETL_Command ETL_Command: Type: Pass Parameters: commands.$: States.Array($.query_serialize) Next: ETL_process Step Functionsのステートマシン上でサービス定義 24
ETL_process: Type: Task Resource: "arn:aws:states:::ecs:runTask.sync" ResultPath: null Parameters: LaunchType: FARGATE
Cluster: ${EcsClusterArn} TaskDefinition: ${EcsTaskDefinitionArn} NetworkConfiguration: AwsvpcConfiguration: Subnets: - ${subnetId1} - ${subnetId2} SecurityGroups: - ${securityGroupId1} AssignPublicIp: DISABLED Overrides: ContainerOverrides: - Name: ${EcsTaskDefinitionContainerName} Command.$: $.commands Environment: - Name: TASK_TOKEN Value.$: $$.Task.Token End: true Step Functionsのステートマシン上でサービス定義 (続き) 25
コンテナのCMDは、ContainerOverridesで上書き可能 ステートマシンのpayloadから、必要な項目を配列で渡してあげると、各々の引数としてエント リポイントに渡せる JSON項目は、 States.JsonToString() で文字列化すれば渡せる ETL_Command: Type: Pass Parameters:
commands.$: States.Array($.query_serialize) Next: ETL_process Overrides: ContainerOverrides: - Name: ${EcsTaskDefinitionContainerName} Command.$: $.commands payloadは、必要な項目をCommandに渡す 26
ステートマシンのIAMロールに以下の権限を追加しないと、ステートマシンからのECSタスク起 動時にエラーになるので注意 手動で設定する場合に忘れがち { "Version": "2012-10-17", "Statement": [ { "Effect":
"Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:ap-northeast-1:<AWS_ACCOUNT_ID>:rule/StepFunctionsGetEventsForECSTaskRule" ] }, // <省略> ] } ステートマシンの実行権限に注意 27
ステートマシンの構成: 接続先毎に並列実行 28
Lambda → 軽めのタスクを並列でぶん回したい場合はLambdaが良い 起動は早い タイムアウト・メモリ・ストレージ等の制約は大きい タイムアウト: 最大15分 メモリ: 最大10GB エフェメラルストレージ(
tmp ): 512MB〜10GB ECS/Fargate → 重めのタスク起動に向いている 起動するまで時間はそれなりにかかる タイムアウト・メモリ・ストレージ等の制約は少ない タイムアウト: 最大14日 メモリ: 最大120GB エフェメラルストレージ: 20GB〜200GB LambdaコンテナとECS/Fargateコンテナの違い 29
SageMaker Catalogの新機能を試そうとしましたが、残念ながら試せませんでした。 その代わり、データ基盤でコンテナを活用した際のお話をしました。 Step FunctionsのステートマシンからECSタスクを実行する際の参考にどうぞ ECSサービスに相当する部分をステートマシン上で定義する 必要なリソースを適宜追加する LambdaコンテナからECS/Fargateコンテナに変更する際は、なるべく元のLambda関数に変更 を加えないように移行した エントリポイントのpythonコードで、Lambda関数に必要な引数や環境変数を定義
まとめ 30
来週のJAWS-UG北陸新幹線in群馬では、Apache Icebergにつ いてお話ししようかな?
おわり