企業のファイルサーバーに眠るデータを、そのままAIや分析に使いたい。しかしNFS/SMBでマウントされたストレージのデータを、LambdaやBedrock Knowledge Basesに渡すにはコピーが必要だった。この制約を取り払う機能がAWSから登場しています。
この記事でわかること
- FSx for ONTAP S3アクセスポイントが何を変えるのか
- サーバーレスAIパイプラインの構成例
- 対応APIの制約と設計上の注意点
- 運用コストの目安
FSx for ONTAPにS3アクセスポイントが追加された背景
Amazon FSx for NetApp ONTAPは、AWSが提供するフルマネージドのNetApp ONTAPファイルシステムです。オンプレミスからの移行先として、NFS/SMBプロトコルでのファイルアクセスを維持したまま使えます。
一方、AWSのAI・分析サービスの多くはS3を前提に設計されています。Amazon Bedrock Knowledge BasesによるRAG(検索拡張生成)、Amazon SageMakerでのモデル学習、Amazon Athenaでのクエリ実行——いずれもデータの入り口はS3です。
これまで、FSx for ONTAPのデータをこれらのサービスに渡すには、S3へコピーするか、EC2インスタンスにNFSマウントして中継する必要がありました。データの二重管理や同期の手間が発生し、リアルタイム性も損なわれます。
S3アクセスポイントは、この問題を解決します。FSx for ONTAPのボリュームにS3アクセスポイントをアタッチすると、ファイルデータがS3 APIで読み書きできるようになります。データの実体はFSx for ONTAP上に残ったまま、NFS/SMBでの従来アクセスも並行して維持されます。
何が変わるのか
S3アクセスポイントの導入で、サーバーレスAI活用の前提が変わります。
NFS/SMBマウントなしでLambdaからファイルにアクセスできる。 従来、LambdaからFSx for ONTAPのデータを扱うには、VPC内でNFSマウントを構成する必要がありました。コールドスタートの遅延やコネクション制限が課題になります。S3アクセスポイント経由なら、標準のS3 SDK呼び出しでファイルを取得・書き込みできます。
AI前処理パイプラインをサーバーレスで構築できる。 EventBridge Schedulerで定期実行し、LambdaがS3アクセスポイント経由でファイル一覧を取得、前処理した結果をBedrock Knowledge Basesに渡す——といった構成が、データ移動なしで成り立ちます。
ファイルベースの業務を止めずにAI活用を始められる。 既存のNFS/SMBアクセスは一切変わりません。ファイルプロトコル側で書き込んだ変更は即座にS3 API側にも反映されます。逆方向も同様です。
サーバーレスAIパイプラインの構成例
AWS公式ブログとAWS Community Builderの藤原善基氏の実装例(参考)を基に、代表的な構成を紹介します。
構成は4層に分かれます。最上位にEventBridge SchedulerまたはStep Functionsによるオーケストレーション層。次にLambda(Python)による処理層。データパスとしてFSx ONTAP S3アクセスポイント(ListObjectsV2、GetObject、PutObject)。制御プレーンとしてONTAP REST API(ボリューム管理、スナップショット、ACL取得)です。
具体的な処理フローは次のとおりです。まずLambdaがS3アクセスポイント経由でListObjectsV2を実行し、対象ファイル(.md、.pdf、.docxなど)の一覧を取得します。次にONTAP REST APIからボリュームのセキュリティスタイルやエクスポートポリシーなどのメタデータを収集します。これらを組み合わせてタスクマニフェストを生成し、PutObjectでS3アクセスポイント経由で書き戻します。下流のBedrock Knowledge BasesやGlue ETLジョブがこのマニフェストを参照して処理を実行します。
藤原氏の実装では、容量監視(5分間隔)やSnapMirrorフェイルオーバーの自動化まで含めた運用自動化スイートとして構成されています。
対応APIの制約を押さえる
S3アクセスポイントはS3 APIの全機能をサポートしているわけではありません。自動化を設計する際に知っておくべき制約があります。
対応しているのはListObjectsV2(ファイル一覧)、GetObject(読み取り)、PutObject(書き込み)などの基本操作です。一方、GetBucketNotificationConfiguration(S3イベント通知)は非対応のため、ファイル追加をトリガーにしたイベント駆動は使えません。ポーリング方式での定期実行が前提になります。
GetObjectAcl/PutObjectAcl(オブジェクトACL管理)やPresigned URL生成も非対応です。ファイルレベルのACL情報が必要な場合は、ONTAP REST API経由で取得します。
認可は2層構造です。IAMがAWSレベルのアクセスを制御し、ファイルシステムレベルではS3アクセスポイントに設定したUNIXまたはWindowsユーザーIDが使われます。Active Directoryと統合すれば、部門ごとのきめ細かいアクセス制御も可能です。
運用コストの目安
藤原氏の検証環境での実測値が参考になります。Lambda 4関数、Step Functions、EventBridge Scheduler、Secrets Manager、CloudWatch Logsを合わせたサーバーレス部分のコストは月額約2.60ドルです。
ただしプライベートサブネット構成の場合、VPCインターフェースエンドポイント(Secrets Manager、FSx API、CloudWatch、SNS用の4つ)が月額29〜58ドルかかります。S3ゲートウェイエンドポイントは無料です。VPCに既存のエンドポイントがあれば、追加コストはサーバーレス部分のみで済みます。
FSx for ONTAP自体の料金は別途かかります。S3アクセスポイント経由のリクエストとデータ転送にはS3の標準料金が適用されます。
導入の前提と始め方
S3アクセスポイントはAmazon FSxコンソール、AWS CLI、AWS SDKから作成できます。東京リージョンを含む主要リージョンで利用可能です。
手順はシンプルです。FSxコンソールでファイルシステムを選択し、対象ボリュームの「アクション」から「S3アクセスポイントを作成」を選びます。アクセスポイント名、ファイルシステムユーザーID、ネットワーク設定を入力して作成します。
作成後、S3アクセスポイントのARNをLambda関数のBucket指定に使えば、通常のS3操作と同じコードでFSx for ONTAPのファイルを読み書きできます。既存のS3対応ツールやサービス(Bedrock、Athena、Glueなど)もそのまま接続できます。
まとめ
FSx for ONTAPのS3アクセスポイントは、エンタープライズのファイルデータとクラウドネイティブなAI・分析サービスの間に立つ橋です。データをコピーする必要がなく、既存のファイルアクセスも維持される。サーバーレス構成と組み合わせれば、月額数ドルの追加コストでAIパイプラインを構築できます。ファイルサーバーのデータを活用したいが移行コストが壁になっていた組織にとって、検討に値する選択肢です。