Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon SageMaker Catalogの、AIエージェントによる自動データ分類機能を...

Amazon SageMaker Catalogの、AIエージェントによる自動データ分類機能を試してみようとしたが、できなかったので、代わりに最近構築したデータ連携基盤を紹介します / 20260117jawsug-fukui

2026/01/17 (土) JAWS-UG福井 #1 にて発表した資料。

イベントページ:
https://jawsug-fukui.connpass.com/event/375652/

Avatar for kasacchiful

kasacchiful

January 17, 2026
Tweet

More Decks by kasacchiful

Other Decks in Technology

Transcript

  1. 笠原 宏 (@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
  2. 権限の問題かも? 色々試したが変わらず、権限の問題ではなさそう。 なんか、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
  3. 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
  4. 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
  5. 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
  6. ステートマシンの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
  7. Lambda → 軽めのタスクを並列でぶん回したい場合はLambdaが良い 起動は早い タイムアウト・メモリ・ストレージ等の制約は大きい タイムアウト: 最大15分 メモリ: 最大10GB エフェメラルストレージ(

    tmp ): 512MB〜10GB ECS/Fargate → 重めのタスク起動に向いている 起動するまで時間はそれなりにかかる タイムアウト・メモリ・ストレージ等の制約は少ない タイムアウト: 最大14日 メモリ: 最大120GB エフェメラルストレージ: 20GB〜200GB LambdaコンテナとECS/Fargateコンテナの違い 29