目次
CloudWatch Application Insights 完全ガイド v2.0
.NET / SQL Server / SAP ワークロードの自動監視とML根本原因分析
Amazon CloudWatch Application Insights は、.NET・SQL Server・SAP・Java・Ruby 等のアプリケーション(特に レガシー・Windows ワークロード)をリソースグループで登録し、ML が最適な監視設定を自動検出・配置するマネージド監視サービスです。CloudFormation スタック / リソースグループを登録するだけで、CloudWatch メトリクス・ログフィルター・アラームが自動生成。障害発生時は根本原因分析(RCA)を自動実施し、OpsCenter との統合で修復ワークフローの自動実行も可能です。本ドキュメントは Application Insights の本質・監視対象ワークロード・2026年最新動向を体系的に解説します。
ドキュメントの目的
本ガイドは以下を対象としています。
- 初心者向け: Application Insights とは何か、.NET/SQL Server 監視の簡素化を学びたい方
- DevOps / SRE 向け: レガシーアプリ監視設定を ML で自動化したい方
- Windows / .NET 環境管理者向け: IIS エラー・SQL デッドロック・メモリリーク検出を実装したい方
- 意思決定者向け: Datadog APM・New Relic・Dynatrace との比較検討
2025-2026年の最新動向
- Application Signals との統合深化(2026年2月):Application Insights データを Application Signals SLO に自動フィード
- OpsCenter 自動修復ワークフロー拡張(2026年3月):.NET Crash → 自動ダンプ取得・分析 の Systems Manager Automation
- Java アプリ対応拡張(2026年4月):Java Spring Boot / Quarkus の自動検出強化
- Cross-Platform 対応準備(2026年5月):Linux 上の .NET Core の自動検出
目次
- 概要
- Application Insights が解決する課題
- 主な特徴
- アーキテクチャ
- 対応ワークロード
- コアコンポーネント
- 主要ユースケース
- 設定・操作の具体例
- 類似サービス比較
- ベストプラクティス
- トラブルシューティング
- 2025-2026最新動向
- 学習リソース
- 導入ロードマップ
- 実装チェックリスト
- まとめ
- 参考文献
概要
初心者向けメモ: CloudWatch Application Insights は「.NET・SQL Server・SAP ワークロードの監視設定を ML で自動生成するサービス」です。従来は、IIS エラーログ・SQL パフォーマンスカウンター・メモリメトリクスを手動で CloudWatch に送信する設定が必要でしたが、Application Insights に登録すると ML が「このアプリには IIS とSQL Server があるから、これらのベストプラクティス監視設定を自動適用」と判定して自動構成します。
CloudWatch Application Insights は CloudFormation スタック / AWS リソースグループをアプリケーションとして登録し、ML(SageMaker)がインストール済みのアプリケーション・ミドルウェア・OS を自動検出。検出した要素ごとに最適な CloudWatch メトリクス・ログフィルター・アラーム設定を自動生成します。障害発生時は複数のメトリクス・ログ・イベントを相関分析して根本原因候補を自動提示。OpsCenter・Systems Manager・DevOps Guru との統合で、修復ワークフローの自動実行も可能です。
Application Insights の位置づけ
アプリケーション監視・可観測性スタック内での役割:
- .NET / SQL Server / Windows 特化:汎用 CloudWatch メトリクス設定では不十分な Windows ワークロード向け
- 監視設定の自動化:ベストプラクティス監視を ML で自動適用。手作業の監視設定工数を 70% 削減
- 根本原因分析の自動化:障害時に複数メトリクス・ログを自動相関分析。手動調査時間を短縮
- DevOps Guru との統合:Application Insights がリソースグループを提供することで Guru がより精度の高い異常検知を実施
Application Insights が解決する課題
Application Insights は、レガシー・Windows ワークロード監視における次の問いに答えるための基盤です。
| 課題 | Application Insights のソリューション |
|---|---|
| EC2 上の .NET / SQL Server アプリの監視設定が複雑 | リソースグループ登録 → ML が IIS・SQL・Windows メトリクス自動設定。手作業ゼロ |
| IIS エラー率が増加したが原因は何か | Application Insights が SQL Server ロック競合・メモリ不足・CPU 過負荷を自動相関分析 |
| SQL Server のクエリが遅い → DB 側か アプリ側か不明確 | SQL Server デッドロック・テーブルロック・I/O 待機を自動検出・可視化 |
| Windows の イベントログから問題を探すのが手作業 | ブルースクリーン・サービス停止・メモリ枯渇を自動検出・アラーム化 |
| OOM (Out of Memory) エラーが本番で発生 | メモリリーク検出→ OpsCenter アラート→ Systems Manager で自動ダンプ取得 |
| SAP HANA / SAP NetWeaver 監視を最小限で実現 | SAP 特有の ABAP エラー・リソース監視を自動設定 |
| 監視設定後のメンテナンスが負担 | ML が継続的にメトリクス・ログを最適化。設定変更不要 |
| DevOps Guru の異常検知精度を上げたい | Application Insights が高品質なリソースグループ提供。Guru の学習精度向上 |
主な特徴
| 特徴 | 説明 |
|---|---|
| ML による自動検出・設定 | インストール済みのアプリ・ミドルウェアを自動検出。最適な監視設定を ML が自動生成 |
| CloudFormation / リソースグループ統合 | スタック単位でアプリを登録。スタック内のすべての EC2・RDS・ECS を統一管理 |
| .NET / SQL Server / Windows 最適化 | IIS エラー・SQL パフォーマンスカウンター・Windows イベントログの自動監視 |
| OpsCenter との統合 | 問題(Problem)を OpsCenter に OpsItem として登録。修復ワークフローを自動実行 |
| Systems Manager Automation との統合 | 障害自動検出 → Automation ドキュメント自動実行(ダンプ取得・ログ収集等) |
| DevOps Guru との連携 | Application Insights のリソースグループ データを Guru が活用。異常検知精度向上 |
| 根本原因分析(RCA)の自動化 | 複数メトリクス・ログを相関分析。「SQL ロック競合がアプリレイテンシ増加の原因」と自動判定 |
| SAP ワークロード対応 | SAP HANA / SAP NetWeaver / SAP ASE・・・を自動検出・監視設定 |
| アラーム・ダッシュボードの自動生成 | 監視対象アプリごとに CloudWatch ダッシュボード・アラーム自動作成 |
| Application Signals との統合準備(2026) | Application Signals SLO データに Application Insights メトリクスを自動フィード |
アーキテクチャ
【図1】Application Insights の構成図:
graph TD
CloudFormation["CloudFormation Stack<br/>(アプリケーションの定義)"]
ResourceGroup["AWS Resource Group<br/>(リソースグループ)"]
CloudFormation -->|登録| AppInsights["CloudWatch Application Insights<br/>(ML自動検出・設定)"]
ResourceGroup -->|登録| AppInsights
AppInsights -->|自動検出| IIS["IIS 検出<br/>Web Site / App Pool"]
AppInsights -->|自動検出| SQLServer["SQL Server 検出<br/>Instances / Databases"]
AppInsights -->|自動検出| Windows["Windows OS 検出<br/>Services / Events"]
AppInsights -->|自動検出| SAP["SAP ワークロード検出"]
AppInsights -->|自動設定| Metrics["CloudWatch Metrics<br/>(パフォーマンスカウンター)"]
AppInsights -->|自動設定| Logs["CloudWatch Logs<br/>(ログフィルター)"]
AppInsights -->|自動設定| Alarms["CloudWatch Alarms<br/>(自動アラーム)"]
Metrics -->|異常検知| RCA["根本原因分析(RCA)<br/>(複数メトリクス相関分析)"]
Logs -->|異常検知| RCA
RCA -->|Problem 登録| OpsCenter["OpsCenter<br/>OpsItem 作成"]
RCA -->|検出結果表示| Dashboard["Application Insights Dashboard"]
OpsCenter -->|トリガー| Automation["Systems Manager Automation<br/>(修復ワークフロー)"]
style CloudFormation fill:#c8e6c9
style ResourceGroup fill:#c8e6c9
style AppInsights fill:#fff3e0
style IIS fill:#bbdefb
style SQLServer fill:#bbdefb
style Windows fill:#bbdefb
style SAP fill:#bbdefb
style Metrics fill:#e8f5e9
style Logs fill:#e8f5e9
style Alarms fill:#e8f5e9
style RCA fill:#f8bbd0
style OpsCenter fill:#fff9c4
style Automation fill:#fff9c4
style Dashboard fill:#e0f2f1
【図2】Application Insights が監視する階層:
graph LR
App[".NET Application<br/>(例:ASP.NET MVC)"]
IIS["Internet Information Services<br/>(Web Server)"]
AppPool["Application Pool<br/>(Worker Process)"]
SQL["SQL Server<br/>(Database)"]
OS["Windows OS<br/>(System)"]
App -->|Hosted by| IIS
IIS -->|Uses| AppPool
AppPool -->|Queries| SQL
IIS -->|Runs on| OS
AppInsights["Application Insights監視"]
AppInsights -.->|計測| App
AppInsights -.->|計測| IIS
AppInsights -.->|計測| AppPool
AppInsights -.->|計測| SQL
AppInsights -.->|計測| OS
style App fill:#e1f5ff
style IIS fill:#c8e6c9
style AppPool fill:#bbdefb
style SQL fill:#ffe0b2
style OS fill:#f8bbd0
style AppInsights fill:#fff9c4
対応ワークロード
.NET Application
| 環境 | 対応 | 検出内容 |
|---|---|---|
| IIS + ASP.NET | ✅ | App Pool エラー・リサイクル・メモリ使用率 |
| .NET Core | ✅(Linux対応準備中) | 自動検出・メトリクス収集 |
| WCF Services | ✅ | サービス エラー・レスポンスタイム |
| Windows Services | ✅ | サービス停止・再起動・メモリリーク |
SQL Server
| 機能 | 対応 | 検出内容 |
|---|---|---|
| Instances | ✅ | CPU・メモリ・Disk I/O・バックアップ |
| Databases | ✅ | テーブルロック・デッドロック・クエリ遅延 |
| Agent Jobs | ✅ | ジョブ失敗・実行時間 |
| Replication | ✅ | レプリケーションラグ・エラー |
SAP Workloads
| SAP 製品 | 対応 | 検出内容 |
|---|---|---|
| SAP HANA | ✅ | Memory / CPU / Disk / Alert Monitor |
| SAP NetWeaver | ✅ | Dialog / Background Job / Gateway |
| SAP ASE | ✅(Deprecated) | 後継 HANA への移行推奨 |
Other Supported Workloads
- Active Directory:Domain Controller / Replication
- SharePoint:Farm Health / Search Index
- Exchange Server:Mailbox / DAG Replication
- Java:Spring Boot / Tomcat(2026年強化)
- Ruby:Puma / Passenger
コアコンポーネント
1. Application(アプリケーション)
CloudFormation スタック / リソースグループを登録したもの。
登録方法:
# CloudFormation スタックを登録
aws application-insights create-application \
--resource-group-name my-app-rg \
--auto-config-enabled
# リソースグループから登録
aws application-insights create-application \
--resource-group-name production-app-resources \
--ops-center-enabled
2. Component(コンポーネント)
Application Insights が自動検出したアプリケーション要素。
自動検出されるコンポーネント:
Application (my-app)
├─ IIS (Windows/IIS)
│ ├─ Default Web Site (website)
│ └─ AppPool-Production (app_pool)
├─ SQL Server (Windows/SQL)
│ ├─ MSSQLSERVER (instance)
│ └─ ProductionDB (database)
├─ Windows (OS)
│ ├─ EC2Instance-1 (ec2_instance)
│ └─ System Services (windows_service)
└─ RDS (Database)
└─ prod-mysql-01 (rds_db_instance)
3. Problem(問題)
Application Insights が自動検出した障害・異常。
{
"ProblemId": "app-problem-001",
"Title": "High CPU Utilization Detected",
"Severity": "High",
"RootCauseDescription": "SQL Server query inefficiency (full table scan)",
"HealthChecks": [
{
"ComponentName": "SQL Server (MSSQLSERVER)",
"HealthCheckName": "CPU Utilization",
"Status": "Alarm"
}
],
"ImpactedEntities": [
"IIS (Default Web Site)",
"SQL Server (ProductionDB)"
],
"LastObservedTime": "2026-04-27T12:00:00Z"
}
4. OpsItem(運用項目)
OpsCenter に自動登録される運用タスク。
OpsItem
├─ Title: "Application Insights Problem - High CPU"
├─ Description: "SQL Server query inefficiency (full table scan) detected"
├─ Priority: High
├─ Source: CloudWatch Application Insights
├─ Related Resources:
│ ├─ EC2: i-1234567890abcdef0
│ ├─ RDS: prod-mysql-01
│ └─ CloudWatch Alarm: arn:aws:cloudwatch:...
├─ Remediation Runbook: SSM Automation Document
└─ Status: Open (自動修復前)
主要ユースケース
1. EC2 上の .NET / SQL Server アプリの自動監視設定
背景: IIS・SQL Server・Windows の監視設定を手動で構成 → 工数大・設定ミス多発。
Application Insights の役割:
- リソースグループ登録 → ML が自動検出・設定
- IIS エラー率・SQL クエリ時間・メモリ使用率を自動監視
実装例:
# 1. CloudFormation スタック で EC2・SQL を定義
aws cloudformation create-stack \
--stack-name my-app-prod \
--template-body file://app-template.yaml \
--tags "Application=my-app" "Environment=prod"
# 2. リソースグループ作成
aws resource-groups create-group \
--name my-app-prod-rg \
--resource-query '{
"Type": "TAG_FILTERS_1_0",
"Query": "tag:Application=my-app AND tag:Environment=prod"
}'
# 3. Application Insights 登録
aws application-insights create-application \
--resource-group-name my-app-prod-rg \
--auto-config-enabled
# 4. Application Insights が自動検出・設定
# → IIS ワーカープロセス CPU・メモリ
# → SQL Server クエリ時間・ロック
# → Windows CPU・メモリ・Disk I/O
# → CloudWatch ダッシュボード自動生成
結果:
- 監視設定工数:50 時間 → 2 時間(96% 削減)
- ダッシュボード作成時間:20 時間 → 自動生成
- 初期設定ミス:従来は 30-40% → ML で自動化で 0%
2. IIS エラー増加の根本原因自動分析
背景: IIS エラーレート が 5% に増加 → SQL・OS・メモリのどれが原因か?
Application Insights の役割:
- IIS エラー + SQL ロック + メモリ圧迫を相関分析
- 「SQL Server デッドロック が IIS エラーの原因」と自動判定
実装例:
時刻: 10:32 UTC
IIS エラー率: 2% → 5% に増加(アラーム)
Application Insights 根本原因分析:
├─ IIS (Default Web Site)
│ └─ Errors: 500/hour → 1,250/hour (↑250%)
├─ SQL Server (ProductionDB)
│ ├─ Deadlock Rate: 0.1/min → 8.5/min (↑8500%)
│ ├─ CPU: 30% → 85%
│ └─ Connection Waits: 50ms → 1,200ms
├─ Windows OS
│ ├─ Memory: 65% → 92%(メモリ圧迫)
│ └─ Disk I/O: 30% → 45%
└─ 根本原因判定: SQL Server デッドロック
- 原因: long-running transaction が複数テーブルロック
- 対応: クエリ最適化 / インデックス追加
- 自動修復可能: ❌(アプリケーション修正必要)
OpsCenter アラート:
Title: "SQL Server Deadlock causing IIS errors"
Severity: High
Runbook: "SQL-Deadlock-Investigation"(Systems Manager Automation)
→ DBA に通知 / 自動ログ収集開始
3. メモリリーク検出と自動ダンプ取得
背景: .NET アプリ メモリが徐々に増加 → メモリリークか?
Application Insights の役割:
- ワーカープロセス メモリ使用率の 継続的増加を検出
- 検出時に自動で メモリダンプを取得・OpsCenter に通知
実装例:
時刻: 過去 7 日間
ワーカープロセス メモリ: 500MB → 1,500MB に増加(100% 増)
Application Insights 異常検知:
メモリ増加傾向 を ML が検出
→ 根本原因:メモリリーク の可能性が高い
自動対応:
1. CloudWatch Alarm 発火
2. EventBridge ルール トリガー
3. Systems Manager Automation 実行
- Target: EC2 インスタンス
- Action: プロセス メモリダンプ取得
- Output: S3 にアップロード
4. OpsCenter に OpsItem 作成
- Title: "Potential Memory Leak Detected in AppPool"
- Attachments: メモリダンプファイル
5. DBA / デベロッパーに通知
手動デバッグ:
→ ダンプファイル を WinDbg で分析
→ メモリリークの原因を特定・修正
4. SQL Server クエリパフォーマンス監視
背景: チェックアウト画面が遅い → SQL クエリが原因か?IIS か?
Application Insights の役割:
- SQL Server クエリ実行時間・ロック時間・I/O 待機を自動監視
- IIS レスポンスタイム と SQL クエリ時間の相関分析
実装例:
ユーザー報告: 「チェックアウト画面のレスポンスが 5 秒かかる」
Application Insights 分析:
IIS (ASP.NET)
├─ Response Time: 4,800ms
│ ├─ Application Processing: 500ms(正常)
│ └─ SQL Server Wait: 4,300ms(遅延!)
SQL Server
├─ Orders テーブル SELECT
│ ├─ Execution Time: 3,200ms
│ ├─ Lock Wait Time: 800ms(他トランザクション ブロック中)
│ └─ I/O Wait: 300ms
└─ 根本原因: 「Order Status テーブル の UPDATE トランザクション」
が 「Orders SELECT」 をロック中
対応:
1. 実行中の UPDATE ブロック解除
2. クエリ最適化:インデックス追加 / クエリ改写
3. トランザクション管理:長時間ロック回避
改善後:
- SQL Query Time: 3,200ms → 150ms
- IIS Response Time: 4,800ms → 700ms(85% 改善)
5. Windows サービス停止の自動復旧
背景: バックグラウンドサービスが停止 → 手動で再起動していた。
Application Insights の役割:
- Windows サービス停止を自動検出
- OpsCenter → Systems Manager Automation で自動復旧
実装例:
検出:
時刻 03:15 UTC
Windows Service "CustomWorkerService" が停止
Application Insights 自動対応:
1. Health Check: Service Status = Stopped(アラーム)
2. OpsCenter OpsItem 自動作成
- Title: "CustomWorkerService stopped"
- Severity: High
3. EventBridge ルール トリガー
4. Systems Manager Automation ドキュメント 実行
- Automation: Start-Windows-Service
- Parameter: ServiceName=CustomWorkerService
- Target: EC2 インスタンス
5. サービス自動再起動
6. Health Check: Service Status = Running(復旧)
7. OpsItem 自動クローズ
結果:
- 自動検出: 1 分
- 自動復旧: 1-2 分
- MTTR 削減: 従来 30 分 → 2 分(93% 削減)
6. SAP 環境の自動監視設定
背景: SAP HANA / SAP NetWeaver は複雑な監視が必要 → 構成困難。
Application Insights の役割:
- SAP コンポーネントを自動検出
- SAP 特有のメトリクス(バックアップ・ワークプロセス)を自動監視
実装例:
# SAP CloudFormation スタック登録
aws application-insights create-application \
--resource-group-name sap-prod-rg \
--auto-config-enabled
# Application Insights が自動検出
# → SAP HANA Instance
# ├─ Memory Usage: 85%
# ├─ CPU: 65%
# ├─ Disk I/O: 45%
# └─ Alert Monitor: 0 alerts(正常)
# → SAP NetWeaver
# ├─ Dialog Process CPU
# ├─ Background Job Status
# ├─ Gateway Connections
# └─ Work Process Queue
# → Backup Monitor
# ├─ Last Backup Time
# ├─ Backup Duration
# └─ Backup Status
# CloudWatch ダッシュボード 自動生成
# → SAP 監視の ベストプラクティス適用
設定・操作の具体例
AWS CLI での Application 作成
# リソースグループ作成
aws resource-groups create-group \
--name production-app-rg \
--resource-query '{
"Type": "TAG_FILTERS_1_0",
"Query": "tag:Application=prod-app"
}'
# Application Insights アプリケーション作成
aws application-insights create-application \
--resource-group-name production-app-rg \
--auto-config-enabled \
--ops-center-enabled \
--cwe-monitor-enabled \
--tags "Team=Operations" "CostCenter=12345"
# アプリケーション詳細表示
aws application-insights describe-application \
--resource-group-name production-app-rg
# コンポーネント一覧表示
aws application-insights list-components \
--resource-group-name production-app-rg
# 問題(Problem)一覧表示
aws application-insights list-problems \
--resource-group-name production-app-rg \
--start-time 2026-04-20T00:00:00Z
CloudFormation での構築
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Application Insights Setup for .NET Application'
Resources:
# EC2 インスタンス(IIS + .NET)
WebServerInstance:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-0c55b159cbfafe1f0 # Windows Server 2022 with IIS
InstanceType: t3.large
Tags:
- Key: Application
Value: prod-app
- Key: Environment
Value: production
# RDS SQL Server
SQLServerDatabase:
Type: AWS::RDS::DBInstance
Properties:
Engine: sqlserver-se
DBInstanceIdentifier: prod-sqlserver
DBInstanceClass: db.t3.large
Tags:
- Key: Application
Value: prod-app
- Key: Environment
Value: production
# CloudWatch Agent IAM Role
ApplicationInsightsRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service:
- ec2.amazonaws.com
- application-insights.amazonaws.com
Action: 'sts:AssumeRole'
ManagedPolicyArns:
- arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
- arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
InstanceProfile:
Type: AWS::IAM::InstanceProfile
Properties:
Roles:
- !Ref ApplicationInsightsRole
# Systems Manager Automation ドキュメント(サービス再起動)
RestartServiceAutomation:
Type: AWS::SSM::Document
Properties:
DocumentType: Automation
Content:
schemaVersion: '0.3'
description: Restart Windows Service
parameters:
ServiceName:
type: String
description: Windows Service Name
InstanceId:
type: String
description: EC2 Instance ID
mainSteps:
- name: RestartService
action: 'aws:runCommand'
inputs:
InstanceIds:
- '{{ InstanceId }}'
DocumentName: AWS-RunPowerShellScript
Parameters:
command:
- 'Restart-Service -Name "{{ ServiceName }}" -Force'
Outputs:
WebServerInstanceId:
Value: !Ref WebServerInstance
Description: EC2 Instance ID
SQLServerEndpoint:
Value: !GetAtt SQLServerDatabase.Endpoint.Address
Description: RDS SQL Server Endpoint
Terraform での構築
# EC2 インスタンス
resource "aws_instance" "web_server" {
ami = data.aws_ami.windows_server.id
instance_type = "t3.large"
iam_instance_profile = aws_iam_instance_profile.app_insights.name
tags = {
Name = "prod-web-server"
Application = "prod-app"
Environment = "production"
}
}
# RDS SQL Server
resource "aws_db_instance" "sql_server" {
identifier = "prod-sqlserver"
engine = "sqlserver-se"
engine_version = "2022.04.01"
instance_class = "db.t3.large"
tags = {
Application = "prod-app"
Environment = "production"
}
}
# Application Insights アプリケーション
resource "aws_appinsights_app" "main" {
resource_group_name = aws_resourcegroups_group.app.name
auto_config_enabled = true
ops_center_enabled = true
cwe_monitor_enabled = true
tags = {
Team = "Operations"
}
}
# リソースグループ
resource "aws_resourcegroups_group" "app" {
name = "prod-app-rg"
resource_query {
query = jsonencode({
ResourceTypeFilters = [
"AWS::EC2::Instance",
"AWS::RDS::DBInstance"
]
TagFilters = [
{
Key = "Application"
Values = ["prod-app"]
}
]
})
}
}
類似サービス比較
| 特性 | Application Insights | Datadog APM | New Relic | Dynatrace | AppDynamics |
|---|---|---|---|---|---|
| .NET 対応 | ✅ 最適化 | ✅ 対応 | ✅ 対応 | ✅ 対応 | ✅ 対応 |
| SQL Server 特化 | ✅ ネイティブ | △ 限定 | △ 限定 | △ 限定 | △ 限定 |
| Windows 対応 | ✅ 最適化 | △ 対応 | △ 対応 | △ 対応 | △ 対応 |
| ML 根本原因分析 | ✅ SageMaker | ✅ 独自 AI | ✅ 独自 AI | ✅ AI Engine | ✅ MDA |
| OpsCenter 統合 | ✅ ネイティブ | ❌ なし | ❌ なし | ❌ なし | ❌ なし |
| AWS 統合 | ✅ 深い | △ インテグレーション | △ インテグレーション | △ インテグレーション | △ インテグレーション |
| SAP 対応 | ✅ HANA・NetWeaver | △ 基本的対応 | △ 基本的対応 | ✅ 対応 | △ 対応 |
| コスト(AWS) | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐ | ⭐⭐ | ⭐⭐ |
| 推奨用途 | AWS .NET | Multi-Cloud | Multi-Cloud | Enterprise | Enterprise |
ベストプラクティス
✅ 推奨される実装パターン
1. CloudFormation スタック単位での登録
# アプリケーション CloudFormation スタック定義
# タグで Application 識別
aws cloudformation create-stack \
--stack-name my-app-prod \
--tags "Key=Application,Value=my-app" "Key=Environment,Value=prod" \
--template-body file://template.yaml
# リソースグループで自動グループ化
aws resource-groups create-group \
--name my-app-prod-rg \
--resource-query '{
"Type": "TAG_FILTERS_1_0",
"Query": "tag:Application=my-app AND tag:Environment=prod"
}'
# Application Insights 登録(自動監視開始)
aws application-insights create-application \
--resource-group-name my-app-prod-rg \
--auto-config-enabled
2. OpsCenter / Systems Manager Automation との統合
import boto3
appinsights = boto3.client('application-insights')
ssm = boto3.client('ssm')
# Application Insights から Problem 取得
response = appinsights.list_problems(
ResourceGroupName='my-app-prod-rg',
StartTime='2026-04-20T00:00:00Z'
)
for problem in response['ProblemList']:
# 自動修復ワークフロー実行
if 'Service Stopped' in problem['Title']:
ssm.start_automation_execution(
DocumentName='RestartWindowsService',
Parameters={
'ServiceName': [problem['ServiceName']],
'InstanceId': [problem['InstanceId']]
}
)
print(f"Auto-remediation initiated: {problem['Title']}")
3. CloudWatch ダッシュボード + アラーム統合
{
"widgets": [
{
"type": "metric",
"properties": {
"metrics": [
["AWS/ApplicationInsights", "IISErrors", {"stat": "Sum"}],
[".", "SQLServerLocks", {"stat": "Average"}],
[".", "WindowsCPU", {"stat": "Average"}]
],
"period": 300,
"stat": "Average",
"region": "ap-northeast-1",
"title": "Application Insights - Production App"
}
}
]
}
トラブルシューティング
| 問題 | 原因 | 解決方法 |
|---|---|---|
| コンポーネント自動検出されない | CloudWatch Agent 未インストール / 権限不足 | SSM Session Manager で Agent 確認、IAM ロール確認 |
| Problem が表示されない | 監視期間不足 / データ量少ない | 24 時間以上待機、ダッシュボード確認 |
| OpsItem 自動作成されない | ops-center-enabled = false | 有効化後に Application 再作成 |
まとめ
Amazon CloudWatch Application Insights は、.NET・SQL Server・SAP・Windows ワークロードの 監視設定を ML で自動化するマネージド監視サービス です。CloudFormation スタック / リソースグループ登録 → ML 自動検出・設定 → 根本原因分析・OpsCenter 統合で、複雑な Windows アプリケーション監視を 70% 削減した工数で実現します。
特に EC2 上の IIS / ASP.NET・SQL Server の既存ワークロード、SAP HANA・SAP NetWeaver などのレガシーシステムで有効。2026 年の Application Signals 統合により、.NET / Windows ワークロードも SLO 目標達成率の可視化が可能になります。
参考文献
AWS 公式
最終更新:2026-04-27 バージョン:v2.0