1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【MCPサーバ入門】AWS移行業務とVS Code + GitHub Copilotで開発効率を最大化する

1
Posted at

はじめに

MCP(Model Context Protocol)は、AIと外部ツールを標準化された方法で接続するためのオープン規格である。

オンプレ→AWS移行のような実務において、設計レビュー・IaC生成・コスト分析・監視設計といった各フェーズでAIを実用的に活用するための基盤技術として注目している。本記事では、MCPの概念・AWS移行業務への適用ユースケース・VS Code上でのGitHub Copilotへの設定手順を整理する。


1. MCPサーバとは何か

Model Context Protocol の概要

MCP(Model Context Protocol) は、Anthropic社が2024年11月に公開したオープン規格である。一言で言えば、**「AIと外部ツール・データソースを標準化された方法でつなぐためのプロトコル」**だ。

従来のAIチャットは、モデルが学習した知識しか使えなかった。MCPを使うと、AIがリアルタイムでGitHub・AWS・社内DBなどの外部サービスを操作しながら回答できるようになる。

RHELサーバの経験で言えば、SSHのポートフォワーディングが「通信経路を標準化」するように、MCPは「AIと外部ツールの接続を標準化」するものだ、というイメージが近い。

MCPのアーキテクチャ

MCPサーバはAIと実世界の間に立つゲートウェイとして機能する。セキュリティ・認証・アクセス制御をここで一括管理できる点が、インフラ設計の観点から見ても理にかなっている。


2. AWS移行業務でのMCP活用ユースケース

オンプレ→AWS移行プロジェクトをフェーズごとに分解すると、それぞれでMCPが直接役立つ場面がある。

2.1. フェーズ1:現状調査・アセスメント

オンプレ資産の棚卸し自動化

手作業でのExcelスプレッドシート作成が最も無駄な工数だ。Ansibleインベントリを持っているなら、それをそのままAIの入力にできる。

「現在のRHELサーバ一覧からCPUコア数・メモリ・OSバージョンを読み取り、
  最適なEC2インスタンスタイプの対照表を作成してほしい」

→ MCPサーバ(ローカルファイルシステム)がAnsibleインベントリを参照
→ MCPサーバ(AWSドキュメント)が最新EC2タイプスペックを参照
→ AIが自動でマッピング表とコスト試算を生成

2.2. フェーズ2:設計

AWS構成のWell-Architectedレビュー

設計書を書きながら、同時にAWS公式ドキュメントと照合できる。

「この構成のセキュリティグループ設定をWell-Architectedに
  照らしてレビューし、修正すべき箇所をリスト化してほしい」

→ MCPサーバ(AWSドキュメント)が最新ベストプラクティスを参照
→ MCPサーバ(AWS)が実際のSG設定を直接読み取り
→ AIが差分を特定してレポートを生成

IaCテンプレートの自動生成

「このオンプレのNginx設定ファイルを元に、
  ALB + ECSのCloudFormationテンプレートを生成してほしい」

→ MCPサーバ(ローカルファイルシステム)が/etc/nginx/nginx.confを読み取り
→ AIが対応するAWSリソースのCFnテンプレートを生成

2.3. フェーズ3:移行作業中

切り戻し判断のサポート

移行後に性能劣化が発生したとき、原因特定と意思決定を迅速化できる。

「移行後のEC2でレスポンスタイムが悪化している。
  オンプレ時代のメトリクスと比較して原因を特定してほしい」

→ MCPサーバ(CloudWatch) :移行後のAWSメトリクスを取得
→ MCPサーバ(Zabbix)      :移行前のオンプレメトリクスを取得
→ AIが両者を比較してボトルネックを特定し、切り戻し判断材料を提示

2.4. フェーズ4:移行後の運用

コスト最適化の継続監視

「先月のAWSコストを分析し、Reserved InstanceやSavings Plansの
  購入推奨を含む月次最適化レポートを作成してほしい」

→ MCPサーバ(Cost Explorer)がコストデータを自動取得・分析
→ AIが削減余地のあるリソースを特定して具体的なアクションを提案

移行プロジェクト全体でのMCP配置イメージ


3. VS Code + GitHub Copilot でのMCP設定方法

ここからが実践編だ。AWSが公式MCPサーバを無償提供しているため、設定ファイルを書くだけで即座に実務投入できる。

3.1. AWSが公開している主要MCPサーバ

MCPサーバ名 主な用途
awslabs/aws-documentation-mcp-server AWSドキュメントのリアルタイム参照
awslabs/cdk-mcp-server CDKコード生成・ベストプラクティス照合
awslabs/cost-explorer-mcp-server コスト分析・最適化提案
awslabs/cloudwatch-mcp-server メトリクス・ログの取得・分析
awslabs/core-mcp-server AWS全般のガイダンス・ベストプラクティス
awslabs/bedrock-kb-retrieval-mcp-server 社内ドキュメントのRAG検索

3.2. 前提:uvxのインストール

AWS MCP サーバは uvx 経由で実行するものが多い。uv は Python パッケージマネージャで、インストールは以下の1コマンドで完了する。

curl -LsSf https://astral.sh/uv/install.sh | sh

3.3. mcp.json の設定(VS Code)

VS Codeのワークスペースルートに .vscode/mcp.json を作成する。移行設計業務向けの設定例は以下の通りだ。

{
  "servers": {
    "aws-docs": {
      "type": "stdio",
      "command": "uvx",
      "args": ["awslabs.aws-documentation-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    },
    "aws-cdk": {
      "type": "stdio",
      "command": "uvx",
      "args": ["awslabs.cdk-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    },
    "cost-explorer": {
      "type": "stdio",
      "command": "uvx",
      "args": ["awslabs.cost-explorer-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "your-profile",
        "AWS_REGION": "ap-northeast-1"
      }
    },
    "cloudwatch": {
      "type": "stdio",
      "command": "uvx",
      "args": ["awslabs.cloudwatch-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "your-profile",
        "AWS_REGION": "ap-northeast-1"
      }
    }
  }
}

設定後、VS CodeのGitHub Copilot ChatをAgent モード@ プレフィックスなし、Chatパネル上部のモード切替で「Agent」を選択)で起動すると、MCPサーバが自動的に接続される。

3.4. セキュリティ設計:必ず守るべきこと

MCPサーバはAWSリソースへの直接アクセスを持つため、以下のルールは絶対に守る。

アクセスキーの直書きは厳禁

- "env": {
-   "AWS_ACCESS_KEY_ID": "AKIAIOSFODNN7EXAMPLE",
-   "AWS_SECRET_ACCESS_KEY": "wJalrXUtnFEMI/K7MDENG/..."
- }

+ "env": {
+   "AWS_PROFILE": "your-profile"  ← プロファイル経由を使う
+ }

mcp.json がGitにコミットされると資格情報が即座に漏洩する。AWSプロファイル経由にすることで、このリスクを完全に排除できる。

.gitignore への追加

# .gitignore
.vscode/mcp.json

ローカルの設定ファイルはリポジトリに含めない。チームで共有する必要があれば、秘匿情報を持たない雛形ファイル(mcp.json.example)をコミットする形にする。

IAMポリシーは最小権限から始める

AIには最初からReadOnly権限のみを付与する。書き込み権限は十分な検証後に慎重に追加する。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:Get*",
        "cloudwatch:List*",
        "cloudwatch:Describe*",
        "ce:GetCostAndUsage",
        "ce:GetRecommendations",
        "ec2:Describe*",
        "s3:ListAllMyBuckets"
      ],
      "Resource": "*"
    }
  ]
}

3.5. 実際の使い方:GitHub Copilot Agentへの指示例

設定が完了したら、Copilot Chatで以下のように指示するだけだ。

設計レビュー

現在の ap-northeast-1 リージョンの EC2 インスタンス一覧を取得し、
AWS Well-Architected の運用設計の柱に照らして改善点を提案してほしい。

IaC生成 + ドキュメント参照

./configs/nginx.conf を読み取り、同等の機能を持つ
ALB + ECS Fargate 構成の CDK コードを TypeScript で生成してほしい。
公式ドキュメントのベストプラクティスも参照すること。

コスト分析

過去3ヶ月のコストをサービス別に分析し、
Savings Plans 購入で削減できる推定額を試算してほしい。

4. 導入ロードマップ

MCPを初めて導入する際は、影響範囲の小さなものから順番に進める。

Step 1: aws-docs + aws-cdk
│       (ReadOnly・ネットワーク接続なし・最もリスクが低い)
│       → 設計書やIaCコード生成の品質向上を実感する
│
Step 2: cost-explorer(ReadOnly)
│       → コスト最適化レポートの自動化で定量的成果を出す
│
Step 3: cloudwatch(ReadOnly)
│       → 移行後の監視設計・障害分析に活用する
│
Step 4: 書き込み権限が必要なMCPサーバ
        (十分な検証・セキュリティレビュー後に追加)

まとめ

MCPサーバは「AIに外部世界を見せるための標準的な窓口」だ。

オンプレ→AWS移行という文脈では、両環境のメトリクスやリソース情報をAIが横断的に参照できるため、アセスメント・設計レビュー・切り戻し判断・コスト最適化のすべてのフェーズで直接的な価値をもたらす。

VS Code + GitHub Copilot の組み合わせは、AWS公式MCPサーバを mcp.json に数行書くだけで使い始められる。最初は aws-docsaws-cdk の2つだけでも、設計の質と速度が体感できるレベルで変わる。

セキュリティさえ正しく設計すれば、このツール群はインフラエンジニアの設計業務を根本から変える可能性を持っている。


参考

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?