

# S3 ストレージレンズテーブルで AI アシスタントを使用する
<a name="storage-lens-s3-tables-ai-tools"></a>

AI アシスタントと会話型 AI ツールを使用して、自然言語を使用して S3 Tables にエクスポートされた S3 ストレージレンズデータとやり取りできます。モデルコンテキストプロトコル (MCP) と Amazon S3 Tables 用の MCP サーバーを活用することで、SQL クエリを記述することなく、ストレージデータのクエリ、分析、インサイトの取得が可能になります。

## 概要
<a name="storage-lens-s3-tables-ai-tools-overview"></a>

モデルコンテキストプロトコル (MCP) は、AI アプリケーションがコンテキスト情報にアクセスして活用するための標準化された方法です。Amazon S3 Tables 用 MCP サーバーは、AI アシスタントが自然言語インターフェイスを使用して S3 Tables データとやり取りできるようにするツールが用意されています。これにより、データアクセスが民主化され、あらゆる技術スキルレベルの個人が S3 ストレージレンズメトリクスを利用できるようになります。

S3 Tables 用の MCP サーバーを使用すると、自然言語を使用して以下を行うことができます。
+ S3 テーブルバケット、名前空間、テーブルを一覧表示する
+ S3 ストレージレンズメトリクスをクエリしてインサイトを取得する
+ ストレージの傾向とパターンを分析する
+ コスト最適化の機会を特定する
+ レポートとビジュアライゼーションを生成する

## サポートされている AI アシスタント
<a name="storage-lens-s3-tables-ai-tools-supported"></a>

S3 Tables 用の MCP サーバーは、モデルコンテキストプロトコルをサポートするさまざまな AI アシスタントと連携します。
+ **Kiro** - 組み込み MCP サポートを備えた AI コーディングアシスタント
+ **Amazon Q Developer** - 開発者向けの AWS の AI 搭載アシスタント
+ **Cline** - MCP 統合を備えた AI コーディングアシスタント
+ **Claude Desktop** - MCP をサポートする Anthropic のデスクトップアプリケーション
+ **カーソル** - AI 搭載のコードエディタ

**重要**  
AI が生成した SQL クエリと推奨事項は、使用前に確認および検証する必要があります。クエリがデータ構造、ユースケース、パフォーマンス要件に適していることを確認します。本番環境に実装する前に、本番稼働環境以外で必ず推奨事項をテストすることをお勧めします。

## S3 ストレージレンズテーブルを使用した Kiro のセットアップ
<a name="storage-lens-s3-tables-ai-tools-kiro-setup"></a>

Kiro は、MCP サーバーを介して S3 Tables とシームレスに統合できる AI コーディングアシスタントです。Kiro は、インターフェイスを介して MCP サーバーを直接インストールおよび設定し、セットアッププロセスを簡素化するのに役立ちます。

Kiro の詳細については、「[Kiro AI](https://kiro.ai/)」を参照してください。

### 前提条件
<a name="storage-lens-s3-tables-ai-tools-kiro-prerequisites"></a>

開始する前に、以下があることを確認してください。
+ Kiro がシステムにインストールされている。[https://kiro.ai/](https://kiro.ai/) からダウンロードします
+ AWS CLI が適切な認証情報で設定されている
+ S3 Tables のエクスポートが有効になっている S3 ストレージレンズ設定
+ S3 Tables をクエリするアクセス許可。詳細については、「[S3 ストレージレンズテーブルのアクセス許可](storage-lens-s3-tables-permissions.md)」を参照してください。

### ステップ 1: S3 Tables MCP サーバーをインストールする
<a name="storage-lens-s3-tables-ai-tools-kiro-step1"></a>

S3 Tables MCP サーバーは、次の 2 つの方法でインストールできます。

**オプション 1: Kiro の組み込み MCP サーバー管理を使用する**  
Kiro は、インターフェイスを通じて MCP サーバーを直接検出してインストールするのに役立ちます。

1. Kiro を開く

1. MCP サーバー管理インターフェイスにアクセスする (通常は設定またはコマンドパレットを使用)

1. 「S3 Tables」または「awslabs.s3-tables-mcp-server」を検索する

1. Kiro のプロンプトに従ってサーバーをインストールして設定する

**オプション 2: uvx を使用した手動インストール**  
あるいは、Python パッケージランナーである `uvx` を使用して MCP サーバーを手動でインストールすることもできます。

```
uvx awslabs.s3-tables-mcp-server@latest
```

MCP サーバーのインストールの詳細については、「[AWS S3 Tables MCP サーバードキュメント](https://awslabs.github.io/mcp/servers/s3-tables-mcp-server)」を参照してください。

### ステップ 2: Kiro MCP 設定を構成する
<a name="storage-lens-s3-tables-ai-tools-kiro-step2"></a>

`~/.kiro/settings/mcp.json` にある Kiro MCP 設定ファイルを、次の内容で作成または更新します。

```
{
  "mcpServers": {
    "awslabs.s3-tables-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.s3-tables-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}
```

`your-aws-profile` を AWS CLI プロファイル名に、`us-east-1` を AWS リージョンに置き換えます。

### ステップ 3: 設定を確認する
<a name="storage-lens-s3-tables-ai-tools-kiro-step3"></a>

MCP サーバーを設定したら、Kiro を再起動し、S3 Tables ツールが使用可能であることを確認します。使用可能な MCP サーバーは、Kiro の設定で確認するか、Kiro に使用可能なツールの一覧表示を依頼することで確認できます。

## AI アシスタントのユースケースの例
<a name="storage-lens-s3-tables-ai-tools-examples"></a>

次の例は、AI アシスタントで自然言語プロンプトを使用して S3 ストレージレンズデータを操作する方法を示しています。

### 例 1: 上位のストレージコンシューマーをクエリする
<a name="storage-lens-s3-tables-ai-tools-examples-consumers"></a>

**プロンプト:** 「S3 ストレージレンズデータから、ストレージ消費量の多い上位 10 個のバケットを表示してください。」

AI アシスタントは MCP サーバーを使用して S3 ストレージレンズテーブルをクエリし、バケット名、ストレージクラス、ストレージ量などの結果を返します。

### 例 2: ストレージの増加を分析する
<a name="storage-lens-s3-tables-ai-tools-examples-growth"></a>

**プロンプト:** 「過去 30 日間のストレージの増加を分析し、その傾向を表示してください。」

AI アシスタントは、ストレージメトリクステーブルをクエリし、日次ストレージの合計を計算して、増加傾向を表示します。

### 例 3: コスト最適化の機会の特定
<a name="storage-lens-s3-tables-ai-tools-examples-optimization"></a>

**プロンプト:** 「7 日以上前の、ストレージを浪費しているマルチパートアップロードが不完全であるバケットを検索してください。」

AI アシスタントは、ストレージメトリクステーブルに不完全なマルチパートアップロードがないかクエリし、コスト削減の可能性のあるバケットのリストを提供します。

### 例 4: コールドデータ候補の検索
<a name="storage-lens-s3-tables-ai-tools-examples-cold-data"></a>

**プロンプト:** 「ホットストレージ階層に保存されている過去 100 日間にアクティビティがないプレフィックスを特定してください。」

AI アシスタントは、ストレージメトリクスとアクティビティメトリクスの両方を分析して、コスト最適化のためにより負荷の低いストレージ層に移動できる可能性のあるデータを特定します。

### 例 5: ストレージレポートを生成する
<a name="storage-lens-s3-tables-ai-tools-examples-reports"></a>

**プロンプト:** 「先週の S3 ストレージの合計ストレージ、オブジェクト数、リクエストパターンを示す概要レポートを作成してください。」

AI アシスタントは、複数のテーブルをクエリし、データを集約して、包括的なレポートを生成します。

## AI アシスタントを使用するためのベストプラクティス
<a name="storage-lens-s3-tables-ai-tools-best-practices"></a>

S3 ストレージレンズデータで AI アシスタントを使用する場合は、次のベストプラクティスに従ってください。
+ **プロンプトに具体的に記述する** - 分析するデータと求めているインサイトに関する明確で具体的な指示を提供します。
+ **AI 生成クエリを検証する** - AI アシスタントが生成する SQL クエリと推奨事項を必ず確認および検証してから、実行したりアクションを起こします。AI アシスタントは、特定のユースケースやデータに対して検証する必要がある誤ったクエリや推奨事項を生成することがあります。
+ **適切なアクセス許可を使用する** - AI アシスタントが使用する IAM 認証情報に必要なアクセス許可のみが付与されていることを確認します。読み取り専用の分析を行う場合は、SELECT アクセス許可のみを付与します。
+ **使用状況のモニタリング** - AWS CloudTrail を使用して AI アシスタントが実行したクエリを追跡し、監査証跡を保持します。
+ **シンプルなクエリから始める** - AI アシスタントがプロンプトをどのように解釈するかを理解するために、簡単なクエリから始めて、より複雑な分析に進みます。

## ログ記録とトレーサビリティ
<a name="storage-lens-s3-tables-ai-tools-logging"></a>

AI アシスタントで S3 Tables MCP サーバーを使用する場合、オペレーションを監査する方法は複数あります。
+ **ローカルログ** - MCP サーバーはリクエストとレスポンスをローカルにログ記録します。`--log-dir` 設定オプションを使用してログディレクトリを指定できます。
+ **AWS CloudTrail** - PyIceberg を使用する MCP サーバーを介したすべての S3 Tables オペレーションでは、ユーザーエージェント文字列として `awslabs/mcp/s3-tables-mcp-server/<version>` が使用されます。このユーザーエージェントによって CloudTrail ログをフィルタリングして、AI アシスタントによって実行されたアクションをトレースできます。
+ **AI アシスタント履歴** - Kiro や Cline などの AI アシスタントは、自然言語リクエスト、LLM レスポンス、および MCP サーバーに提供された指示を記録する履歴ログを保持します。

## セキュリティに関する考慮事項
<a name="storage-lens-s3-tables-ai-tools-security"></a>

S3 ストレージレンズデータで AI アシスタントを使用する場合は、次のセキュリティのベストプラクティスに従ってください。
+ **最小特権アクセスを使用する** - AI アシスタントに、タスクに必要な最小限のアクセス許可のみを付与します。
+ **MFA を有効にする** - AI アシスタントがアクセスする AWS アカウントには多要素認証を使用します。
+ **アクセス許可を定期的に確認する** - AI アシスタントに付与されたアクセス許可を定期的に監査し、不要なアクセスを取り消します。
+ **別の認証情報を使用する** - 追跡と監査を容易にするため、AI アシスタントへのアクセスに別の AWS 認証情報を使用することを検討してください。
+ **機密データの共有を避ける** - AI アシスタントへのプロンプトでの機密情報の共有には注意してください。特にクラウドベースの AI サービスを使用する場合は注意が必要です。

## トラブルシューティング
<a name="storage-lens-s3-tables-ai-tools-troubleshooting"></a>

### AI アシスタントが S3 テーブルに接続できない
<a name="storage-lens-s3-tables-ai-tools-troubleshooting-connection"></a>

**問題:** AI アシスタントは、S3 テーブルに接続できない、または MCP サーバーが応答していないことを報告します。

**解決策:**
+ `uvx awslabs.s3-tables-mcp-server@latest --version` を使用して MCP サーバーが正しくインストールされていることを確認します。
+ AWS 認証情報が正しく設定されていることを確認します
+ MCP 設定ファイルに正しい AWS プロファイルとリージョンが設定されていることを確認します

### アクセス拒否エラー
<a name="storage-lens-s3-tables-ai-tools-troubleshooting-access"></a>

**問題:** AI アシスタントは、S3 ストレージレンズテーブルをクエリするときに、アクセス拒否エラーを受け取ります。

**解決策:**
+ `aws-s3` テーブルバケットで分析統合が有効になっていることを確認します
+ Lake Formation のアクセス許可が正しく設定されていることを確認します
+ AWS 認証情報に必要な IAM アクセス許可があることを確認します

### 誤った結果または予期しない結果
<a name="storage-lens-s3-tables-ai-tools-troubleshooting-results"></a>

**問題:** AI アシスタントが誤った結果または予期しない結果を返します。

**解決策:**
+ AI アシスタントによって生成された SQL クエリを確認します
+ ストレージレンズ設定に正しい名前空間名を使用していることを確認します
+ 最新の report\_time をクエリしてデータが利用可能であることを確認します
+ 分析する内容をより具体的にするためにプロンプトを絞り込みます

## その他のリソース
<a name="storage-lens-s3-tables-ai-tools-resources"></a>

S3 Tables で AI アシスタントを使用する方法の詳細については、次のリソースを参照してください。
+ [Kiro AI](https://kiro.ai/) - 組み込み MCP サポートを備えた AI コーディングアシスタント
+ [モデルコンテキストプロトコル (MCP) を使用した S3 Tables 用の会話型 AI の実装](https://aws.amazon.com/blogs/storage/implementing-conversational-ai-for-s3-tables-using-model-context-protocol-mcp/) - AWS ストレージブログ
+ [AWS S3 Tables MCP サーバードキュメント](https://awslabs.github.io/mcp/servers/s3-tables-mcp-server)
+ [モデルコンテキストプロトコル仕様](https://modelcontextprotocol.io/)