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 構成
Batch 構成
検証結果
ここまで動作確認ができました:
- 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。
セットアップ手順
- AWS で SQS と Lambda を用意 (IAM/SecurityGroup/ルーティングを忘れずに)
- ONTAP で FPolicy 外部エンジン/イベント/ポリシー/スコープ を作成
- 外部 FPolicy サーバーを起動
- ONTAP で作成した FPolicy を有効化
検証手順
Near-real-time の場合
- FPolicy スコープ内のボリュームにファイルを作成 (dd コマンド)
- Amazon SQS キューを確認し、メッセージを Pull
Batch 処理の場合
- FPolicy スコープ内のボリュームに複数ファイルを作成
- FPolicy 外部サーバー側のローカルログを確認
- 外部 Lambda を手動実行(テスト実行)
- 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)

