企業のファイルサーバーに眠るデータを、そのままAIや分析に使いたい。しかしNFS/SMBでマウントされたストレージのデータを、LambdaやBedrock Knowledge Basesに渡すにはコピーが必要だった。この制約を取り払う機能がAWSから登場しています。

この記事でわかること

  • FSx for ONTAP S3アクセスポイントが何を変えるのか
  • サーバーレスAIパイプラインの構成例
  • 対応APIの制約と設計上の注意点
  • 運用コストの目安

FSx for ONTAPにS3アクセスポイントが追加された背景

https://aws.amazon.com/blogs/aws/amazon-fsx-for-netapp-ontap-now-integrates-with-amazon-s3-for-seamless-data-access/

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パイプラインの構成例

https://aws.amazon.com/blogs/storage/bridge-legacy-and-modern-applications-with-amazon-s3-access-points-for-amazon-fsx/

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パイプラインを構築できます。ファイルサーバーのデータを活用したいが移行コストが壁になっていた組織にとって、検討に値する選択肢です。