AWS DevOps AgentをVPC内プライベートサービスにセキュアに接続する方法

益子 竜与志
益子 竜与志
XThreads
最終更新日:2026年04月20日公開日:2026年04月20日

AWS DevOps Agentは24時間365日稼働するAI運用エージェントですが、VPC内のプライベートサービスへの接続には課題がありました。本記事では、新機能「プライベート接続」を使って、MCPサーバーやGrafana・Splunkなどのプライベートエンドポイントに安全に接続する仕組みとセットアップ手順を解説します。

AWS DevOps Agentとは

AWS DevOps Agentは、AWSが提供するAI駆動の運用エージェントです。24時間365日稼働し、インシデントの解決・予防、アプリケーションの信頼性やパフォーマンスの最適化、オンデマンドのSREタスクなどを自律的に担います。AWS・マルチクラウド・オンプレミス環境を問わず対応しており、既存のオブザーバビリティツールと連携してテレメトリ・コード・デプロイデータを横断的に分析します。これにより、平均修復時間(MTTR)の短縮とオペレーショナルエクセレンスの実現を強力に支援します。

多くの組織では、カスタムのModel Context Protocol(MCP)ツールや各種インテグレーションでAWS DevOps Agentを拡張しています。代表的な拡張例として以下が挙げられます。

  • プライベートパッケージレジストリへのアクセス
  • セルフホスト型オブザーバビリティ基盤(Grafana・Splunk等)
  • 社内ドキュメントAPIとの連携
  • GitHub EnterpriseやGitLabなどのソース管理システム

こうした拡張を通じて、DevOps Agentはより高度なコンテキストを持ち、複雑な運用課題にも対応できるようになります。しかし、多くの内部サービスはVPC内に閉じており、パブリックインターネットからはアクセスできません。ここに、プライベート接続機能の必要性があります。

プライベートサービスへの接続が必要な理由

エンタープライズ環境では、セキュリティポリシーや規制対応の観点から、多くのサービスをAmazon VPC(Virtual Private Cloud)内に閉じて運用することが一般的です。Grafana・Splunk・社内ドキュメントAPIといったツールは、パブリックインターネットに公開することなく、プライベートネットワーク内でのみアクセスを許可する構成が取られています。

これは不正アクセスや情報漏洩リスクを最小化するための重要なセキュリティ対策です。しかし、このようなアーキテクチャでは、AWS DevOps AgentのAgent SpaceからVPC内のサービスに直接接続することができませんでした。こうした課題を解決するのが、AWS DevOps Agentの「プライベート接続」機能です。Agent SpaceとVPC内(または社内ネットワーク内)のサービスを、パブリックインターネットに公開せずにセキュアに接続できます。

プライベート接続の仕組みとアーキテクチャ

プライベート接続は、AWS DevOps AgentとVPC内の対象リソースの間にセキュアなネットワーク経路を確立する機能です。内部ではAmazon VPC Latticeを利用しています。VPC Latticeは、VPC・アカウント・コンピュートタイプをまたいだアプリケーション間通信を、ネットワークインフラの管理なしに接続・保護・監視できるマネージドサービスです。

プライベート接続を作成すると、以下の処理が自動的に行われます。

  1. 対象サービスと通信できるVPC・サブネット・セキュリティグループを指定する
  2. AWS DevOps Agentがサービスマネージドのリソースゲートウェイを作成し、指定サブネットにElastic Network Interface(ENI)を配置する
  3. リソースゲートウェイ経由で、対象サービスのIPアドレスまたはDNS名へプライベートにトラフィックを転送する

トラフィックのフローは次の通りです。AWS DevOps Agentが対象サービスへリクエストを送信すると、サービスマネージドのリソースゲートウェイを経由し、VPC内のENIが受け取って対象サービスへ転送します。対象サービスから見ると、リクエストの送信元はVPC内のENIのプライベートIPアドレスとなります。

リソースゲートウェイはAWS DevOps Agentが完全に管理しており、アカウント上では読み取り専用リソースとして表示されます。利用者側での設定やメンテナンスは不要で、VPC内に作成されるのは指定サブネット内のENIのみです。インターネットからのインバウンド接続は受け付けません。

AWS DevOps Agentプライベート接続アーキテクチャ図

セキュリティ上のメリット

プライベート接続には、複数のセキュリティレイヤーが組み込まれています。

  • パブリックインターネットへの公開なし — AWS DevOps Agentと対象サービス間の通信はすべてAWSネットワーク内で完結します。パブリックIPやインターネットゲートウェイは不要です。
  • サービス制御のリソースゲートウェイ — アカウント内で読み取り専用であり、AWS DevOps Agentだけが利用できます。他のIAMプリンシパルがトラフィックを送信することはできません。
  • AWS CloudTrailによる監査 — すべてのVPC Lattice API呼び出しがCloudTrailに記録され、コンプライアンス対応に活用できます。
  • セキュリティグループによる制御 — ENIのアウトバウンドトラフィックを利用者自身のセキュリティグループで制御します。必要最小限のポートのみ開放する設定が推奨されます。
  • 最小権限のサービスリンクロール — 操作対象は「AWSAIDevOpsManaged」タグが付いたリソースのみに限定され、アカウント内の他のリソースには影響しません。

プライベート接続のセットアップ手順

プライベート接続を作成する前に、以下の前提条件を確認してください。

  • アクティブなAgent Space(まだ作成していない場合は先に作成が必要)
  • プライベートに到達可能な対象サービス(同一VPC・ピアリング先VPC・オンプレミスのいずれでも可)
  • VPC内のサブネット(高可用性確保のため複数アベイラビリティーゾーンにまたがるサブネットを推奨)
  • (オプション)セキュリティグループ(未指定の場合はVPCのデフォルトセキュリティグループが適用)

なお、プライベート接続はアカウントレベルのリソースです。一度作成すれば、同じホストにアクセスする複数のインテグレーションやAgent Spaceで使い回せます。

AWSマネジメントコンソールでの手順

  1. AWS DevOps Agentコンソールを開き、ナビゲーションペインで「Capability providers」を選択
  2. 「Private connections」を選択し、「Create a new connection」をクリック
  3. 接続名を入力し、対象リソースが配置されているVPCを選択
  4. リソースゲートウェイENIを配置するサブネット(アベイラビリティーゾーンごとに1つ)を選択
  5. セキュリティグループ・TCPポート範囲(オプション)を設定
  6. ホストアドレス(DNS名またはIPアドレス)・証明書公開鍵(オプション)を入力
  7. 「Create Connection」を選択。ステータスが「Completed」になれば完了(最大10分)

AWS CLIでの手順

aws devops-agent create-private-connection \
  --name my-test-private-connection \
  --mode '{
    "serviceManaged": {
      "hostAddress": "mymcpserver.example.internal",
      "resourceGatewayConfig": {
        "create": {
          "vpcId": "vpc-00ef99bef2632b9ac",
          "subnetIds": [
            "subnet-034f636837473de13",
            "subnet-00bdfb9edf7cc1ca7"
          ],
          "securityGroupIds": ["sg-082788aaec0517905"]
        }
      }
    }
  }'

ステータスはdescribe-private-connectionコマンドで確認できます。「Completed」になれば、対象サービスへのプライベート接続が利用可能になります。接続作成に失敗した場合は、指定サブネットの空きIP・VPC Latticeのサービスクォータ・IAMポリシーの設定を確認してください。

VPCプライベート接続セキュリティレイヤー図

Grafanaへの接続例で見る実践ユースケース

プライベート接続のよくあるユースケースが、セルフホスト型Grafanaインスタンスへの接続です。多くのチームがGrafanaをVPC内のプライベートサブネットで運用しており、パブリックエンドポイントを持たない構成を取っています。組み込みのGrafanaインテグレーションとプライベート接続を組み合わせれば、ダッシュボード・アラート・データソースへの読み取り専用アクセスをDevOps Agentに付与できます。

ステップ1: Grafanaサービスアカウントの作成
Grafanaインスタンスで「Viewer」ロールのサービスアカウントを作成し、アクセストークンを生成します。

ステップ2: プライベート接続の作成
GrafanaインスタンスのホストアドレスとVPC情報を指定してプライベート接続を作成します。ステータスが「Completed」になるまで待ちます。

ステップ3: Agent SpaceへのGrafanaインテグレーション追加
コンソールから「Agent Space」→「Integrations」→「Add integration」→「Grafana」を選択し、GrafanaインスタンスのURLとアクセストークンを入力します。

この設定が完了すると、DevOps Agentはインシデント発生時にGrafanaのダッシュボードデータやアラート情報を参照し、根本原因の特定や解決策の提案をより的確に行えるようになります。GrafanaだけでなくSplunkや社内MCPサーバーなど、VPC内の各種サービスへの接続も同様の手順で設定可能です。

AWS DevOps Agentのプライベート接続機能を活用することで、セキュリティを維持しながらAI運用エージェントが組織の内部リソースにアクセスできる環境を構築できます。既存のVPCアーキテクチャを変更することなく、最小限の設定で安全な接続を実現できる点が、この機能の大きな魅力です。

IT/DXプロジェクト推進するPMO・コンサル人材を提供しています

AI利活用×高生産性のリソースで、あらゆるIT/DXプロジェクトを一気通貫支援します

詳しく見る →
AI駆動型ITコンサルティング
Careerバナーconsultingバナー