2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【FPolicy魔改造①】FSx for NetApp ONTAPのNFS/SMBファイルイベントをAI Data Pipelineと連携

2
Last updated at Posted at 2026-02-25

Amazon FSx for NetApp ONTAP、FPolicyとS3 Access Point の簡単紹介

Amazon FSx for NetApp ONTAP (FSxN)

フルマネージドな ONTAP ファイルシステムを AWS 上に提供し、Snapshot/SnapLock/FPolicy などの ONTAP 機能を活用できるFSxシリーズのファイルシステムです。

FPolicy

SMB/NFS のファイル操作(作成・削除・変更・リネーム等)を検知・通知するフレームワークで、ネイティブ(簡易ブロッキング等)と 外部(外部サーバーで高機能処理)の2モードを持ちます。
外部モードでは、通知を TCP/SSL の制御チャネルで外部FPolicyサーバーへ送り、柔軟な連携(SIEM/ワークフロー/クラウド処理など)が可能です。

FSxN S3 Access Point

FSxN のボリュームに Amazon S3 Access Point をアタッチし、データを S3 にコピーせずに S3 API (GetObject/PutObject 等) でファイルデータへアクセスできます。データは引き続き FSxN に常駐し、NFS/SMB と S3 API を並行利用できます。

課題(解決したいこと)

イベント駆動

NFS/SMB プロトコルで新規ファイル作成をトリガーに AWS 上の Lambda/ETL/分析基盤ジョブを起動したい。

AI Data Pipeline に Multi-protocol を実現

NFS/SMB で保存された NAS データを AWS S3 にコピーせず、FSxN の S3 Access Point 経由でそのまま S3 API で取得・活用できるようにしたい。

ソリューションのいきなりまとめ

Near-real-time 構成

FPolicy_Realtime.png

Batch 構成

FPolicy_Batch.png

検証結果

ここまで動作確認ができました:

  • FPolicy 外部サーバーが ONTAP (FSxN) から送られる通知を問題なく受信。

Near-real-time の場合:

  • 受信したファイルイベントを S3 パス形式へ変換。
  • 変換済みイベントを 直接 Amazon SQS へ Push。

Batch処理の場合

  • 受信イベントを JSON Lines 形式に変換してローカル保存。
  • Lambda が S3 Access Point 経由で定期的にログを取得 (S3 get) 。
  • Lambda 内でイベントを S3 パス形式に整形し、1件ずつ Amazon SQS に Push。

セットアップ手順

  1. AWS で SQS と Lambda を用意 (IAM/SecurityGroup/ルーティングを忘れずに)
  2. ONTAP で FPolicy 外部エンジン/イベント/ポリシー/スコープ を作成
  3. 外部 FPolicy サーバーを起動
  4. ONTAP で作成した FPolicy を有効化

検証手順

Near-real-time の場合

  1. FPolicy スコープ内のボリュームにファイルを作成 (dd コマンド)
  2. Amazon SQS キューを確認し、メッセージを Pull

Batch 処理の場合

  1. FPolicy スコープ内のボリュームに複数ファイルを作成
  2. FPolicy 外部サーバー側のローカルログを確認
  3. 外部 Lambda を手動実行(テスト実行)
  4. Amazon SQS キューからメッセージを Pull

注意:ONTAP 側のセットアップやベストプラクティスは公式ドキュメントを必ず確認してください。

リポジトリ説明

ログ/メッセージ形式

{"timestamp":"2026-02-18 12:30:00","operation":"create","file_path":"/vol_onpre/file.txt","source":"FSxN FPolicy"}

SQSメッセージ例


{
  "Records": [
    {
      "eventName": "ObjectCreated:Put",
      "s3": {"object": {"key": "file.txt"}}
    }
  ]
}

ONTAP側の基本コマンド

# 外部エンジン(非同期)
vserver fpolicy policy external-engine create \
  -vserver $VSERVER \
  -engine-name $ENGINE_NAME \
  -primary-servers $EC2_IP \
  -port $FPOLICY_PORT \
  -extern-engine-type asynchronous

# イベント(SMB/NFSに合わせて protocol, file-operations を設定)
vserver fpolicy policy event create \
  -vserver $VSERVER \
  -event-name $EVENT_NAME \
  -protocol {cifs|nfsv3|nfsv4} \
  -file-operations {create,delete,rename,write,open,...}

# ポリシー/スコープ/有効化
vserver fpolicy policy create -vserver $VSERVER -policy-name $POLICY_NAME -events $EVENT_NAME -engine $ENGINE_NAME
vserver fpolicy policy scope create -vserver $VSERVER -policy-name $POLICY_NAME -volumes-to-include $VOLUME
vserver fpolicy enable -vserver $VSERVER -policy-name $POLICY_NAME

ONTAP側の設定確認コマンド

vserver fpolicy show -vserver $VSERVER
vserver fpolicy show-engine -vserver $VSERVER
vserver fpolicy policy show -vserver $VSERVER -policy-name $POLICY_NAME -instance
vserver fpolicy policy event show -vserver $VSERVER -event-name $EVENT_NAME -instance
vserver fpolicy policy external-engine show -vserver $VSERVER -engine-name $ENGINE_NAME -instance

まとめ

本検証では、FPolicy 外部サーバー → Amazon SQS → AWS Lambda の疎結合パイプラインを構築し、Near-real-time と Batch の両パターンで FSxN(ONTAP)上のファイルイベントを確実に連携できることを確認しました。
FSxN S3 Access Point を併用することで、データを S3 にコピーせず S3 API によるアクセスが可能になり、ログ取得や後段の分析処理(サーバレス連携・ETL)をシンプルに実装できます。

次のステップ

  • API Gateway 連携(リクエスト駆動の最小データ実行)
  • IaC と信頼性検証(Terraform/CDK)

参考リンク

GitHub
NetApp Docs – Create and use a NetApp FPolicy

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?