目次

AWS Trusted Advisor API 完全ガイド v2.0

ベストプラクティス自動スキャン・推奨事項 API による組織全体最適化プラットフォーム


概要

AWS Trusted Advisor API は 「AWS Well-Architected フレームワークに基づいてアカウントを自動スキャンし、コスト削減・セキュリティ改善・パフォーマンス向上・信頼性強化・サービス制限超過の推奨事項を API で自動取得するサービス」 です。

Trusted Advisor コンソール UI とは異なり、API を通じてチェック結果を自動取得し、カスタムダッシュボード・自動修復・組織全体の最適化推奨を実装。AWS Support プランに応じて利用可能なチェック数・API 機能が異なり、Business/Enterprise/Unified Operations プラン向けの Trusted Advisor Priority は優先度付けと自動修復推奨を提供します。

このサービスを選ぶ理由

なぜ AWS Trusted Advisor API なのか

  • AWS ベストプラクティスの自動スキャン・即効性: AWS Config・Security Hub は設定ベースの監視であるが、Trusted Advisor は「今すぐ対処できるコスト削減機会」(未使用 EIP・低使用率 EC2)を定量的に提示。修復による効果額(月額 $200 削減)を明示して即座の対応を促す

  • コスト最適化の定量的根拠: 未使用 EIP・EBS スナップショット・RI 未活用を自動検出して具体的なコスト削減額を見積もり。CFO・経営層への説得力が高い

  • API による自動化・組織全体スケーラビリティ: Business/Enterprise プラン向け API で複数アカウントのチェック結果を一括取得。社内ダッシュボード・自動修復・部門別コスト最適化を組織全体で実装

  • Trusted Advisor Priority による AI 駆動優先度付け: Enterprise/Unified Operations プラン限定で、AWS のアカウントチームが組織の文脈を踏まえて「今週対処すべき上位 10 件」を AIが推奨。人的判断を減らし効率化

  • Security Hub・Config・Compute Optimizer との補完: 各サービスとの役割分担を明確に。Trusted Advisor は「即効性のあるコスト・セキュリティ」に特化し、他サービスは深い分析に注力

具体的なユースケース

  • スタートアップが Trusted Advisor で月次クラウドコスト削減機会を自動検出。未使用 EIP・RI 未活用・低使用率 EC2 を特定して毎月 $2,000 削減

  • 金融機関が Trusted Advisor API を社内ダッシュボール・ITSM ツール(ServiceNow)と連携。セキュリティチェック(MFA・パブリック S3)の状態を自動同期

  • 大規模エンタープライズが Trusted Advisor Priority で AWS アカウントチームからの AI 推奨を自動取得。対処すべき優先事項を明確化

  • AWS Organizations 配下の複数アカウント Trusted Advisor 結果を Lambda で一括取得。部門別・環境別のコスト削減機会をレポート生成・経営層に報告

  • 自動修復パイプライン構築:Trusted Advisor で S3 パブリックアクセス検出 → Lambda で Block Public Access 自動有効化 → CloudTrail で審査ログ記録


課題と特徴

Trusted Advisor が解決する課題

❌ 課題:AWS リソース最適化が手動・断片的
  → 未使用 EIP・EBS スナップショット・低使用率 EC2 が放置
  → 年に 1 回コスト棚卸しで「あ、これ削減できた」と気付く
  → セキュリティリスク(MFA 未設定・パブリック S3)を見落とし
  → RI 未活用・キャパシティオーバープロビジョニング

✅ 解決:Trusted Advisor で能動的・定量的・自動スキャン
  → 未使用リソースを自動検出・月額削減額を明示
  → セキュリティ・信頼性・パフォーマンスの改善点を優先度付け
  → API で自動修復パイプラインを構築
  → 組織全体のベストプラクティス準拠を継続監視

コアの特徴

特徴 説明
6 カテゴリ 200+ チェック コスト・セキュリティ・信頼性・パフォーマンス・制限・運用優秀性
Support プラン別利用チェック数 Basic(50)→ Developer/Business/Enterprise(200+)
即効性のあるコスト削減 未使用・低使用率リソースの月額削減額を明示
API による自動化 Business/Enterprise で API アクセス・複数アカウント統合
Trusted Advisor Priority Enterprise/Unified Ops 向けの AI 駆動優先度付け
CloudWatch Alarm 統合 チェック結果変化を CloudWatch アラームで監視
EventBridge 統合 チェック更新を自動キャッチ・Lambda で自動対応
Security Hub との相互連携 Trusted Advisor のセキュリティチェック結果を Security Hub に集約可能

アーキテクチャ(Mermaid 図 1)

graph TB
    subgraph "Trusted Advisor スキャン層"
        A["Scheduled Scan<br/>Weekly Auto Scan<br/>Manual Refresh"]
        B["Real-time API Check<br/>describe_trusted_advisor_checks<br/>get_trusted_advisor_check_result"]
    end
    
    subgraph "チェックカテゴリ"
        C["Cost Optimization<br/>未使用 EIP・EBS<br/>RI 未活用"]
        D["Security<br/>パブリック S3<br/>MFA・CloudTrail"]
        E["Fault Tolerance<br/>Multi-AZ・Backup<br/>Route 53 Health"]
        F["Performance<br/>高使用率・CDN<br/>EBS 最適化"]
        G["Service Limits<br/>VPC・EC2・Auto Scaling<br/>80% 超過警告"]
        H["Operational Excellence<br/>CloudFormation 失敗<br/>Lambda ランタイム廃止"]
    end
    
    subgraph "データ取得層"
        I["AWS Support API<br/>describe_trusted_advisor_check_result"]
        J["Trusted Advisor Priority API<br/>list_organization_recommendations<br/>get_organization_recommendation"]
    end
    
    subgraph "自動化レイヤー"
        K["Lambda<br/>自動修復スクリプト<br/>S3 Block Public Access<br/>EIP 解放"]
        L["EventBridge<br/>Trusted Advisor イベント<br/>トリガー"]
    end
    
    subgraph "アウトプット"
        M["CloudWatch Dashboard<br/>チェック状態可視化<br/>メトリクス"]
        N["Custom Dashboard<br/>社内ITSM・BI ツール<br/>ServiceNow・Tableau"]
        O["SNS/Email<br/>定期レポート・通知"]
    end
    
    A --> C
    A --> D
    A --> E
    A --> F
    A --> G
    A --> H
    
    C --> I
    D --> I
    E --> I
    F --> I
    G --> I
    H --> I
    
    D --> J
    J --> K
    L --> K
    
    I --> M
    I --> N
    I --> O
    
    style A fill:#fff3cd
    style B fill:#fff3cd
    style C fill:#cfe2ff
    style D fill:#cfe2ff
    style E fill:#cfe2ff
    style F fill:#cfe2ff
    style G fill:#cfe2ff
    style H fill:#cfe2ff
    style I fill:#d1ecf1
    style J fill:#d1ecf1
    style K fill:#d4edda
    style L fill:#d4edda
    style M fill:#f8f9fa
    style N fill:#f8f9fa
    style O fill:#f8d7da

チェックカテゴリ詳細(6 カテゴリ 200+ チェック)

1. Cost Optimization(コスト最適化)

主要チェック:

1. Underutilized Amazon EC2 Instances
   → CPU 使用率が低い(デフォルト 5%)EC2 インスタンス
   → スペックダウン・廃止で月額削減額を提示

2. Unassociated Elastic IP Addresses
   → インスタンスに紐付いていない EIP
   → 即座に削除して月額 $3.60/EIP を削減

3. Amazon RDS Idle DB Instances
   → 低アクティビティの RDS インスタンス
   → 廃止・スペックダウンで削減額を明示

4. Unattached Amazon EBS Volumes
   → インスタンスに紐付いていない EBS ボリューム
   → 削除して月額削減

5. Reserved Instance Optimization
   → RI の購入推奨・購入済み RI の未使用を検出
   → コミットメント期間・インスタンスタイプの最適化提案

6. Underutilized Load Balancers
   → 低トラフィック ALB/NLB
   → 削除または統合提案

7. Unused CloudFront Distributions
   → 低トラフィック CloudFront ディストリビューション
   → 削除提案

2. Security(セキュリティ)

主要チェック:

1. Security Groups - Specific Ports Unrestricted
   → SSH(22)・RDP(3389)が 0.0.0.0/0 で開放
   → 即座に修正すべき重大リスク

2. S3 Bucket Permissions
   → パブリックアクセス許可の S3 バケット
   → Block Public Access 有効化推奨

3. IAM Access Key Age
   → 90 日以上ローテーションされていない IAM アクセスキー
   → 新規キー生成・古いキー削除推奨

4. Root Account Access Key
   → ルートアカウントが MFA 未設定
   → MFA 有効化必須

5. CloudTrail Enabled for AWS CloudTrail
   → CloudTrail が無効化されている
   → 監査ログ記録が失われているリスク

6. AWS CloudTrail enabled across AWS Organizations
   → Organizations 配下で CloudTrail 無効アカウント
   → 一元管理の CloudTrail を推奨

7. AWS Config Enabled
   → AWS Config が無効化されている
   → コンプライアンス監視が機能していないリスク

8. CloudFront SSL/TLS Certificate Expiration
   → 有効期限切れ間近の SSL/TLS 証明書
   → 更新推奨

3. Fault Tolerance(信頼性・フォールトトレランス)

主要チェック:

1. Auto Scaling Group Health Check
   → Auto Scaling Group でヘルスチェックが未設定
   → インスタンス障害時の自動置換ができないリスク

2. EBS Snapshots
   → EBS スナップショットが存在しない
   → ディザスタリカバリのリスク

3. RDS Multi-AZ
   → RDS が Single-AZ で構成
   → Multi-AZ 有効化して AZ 障害への耐性向上

4. Route 53 Health Check
   → Route 53 ヘルスチェックが未設定
   → エンドポイント障害時のフェイルオーバーができないリスク

5. RDS Backups
   → RDS バックアップが無効化
   → データ喪失リスク

6. Lambda Dead Letter Queue
   → Lambda が Dead Letter Queue(DLQ)を設定していない
   → 失敗メッセージ追跡ができないリスク

4. Performance(パフォーマンス)

主要チェック:

1. High Utilization Amazon EC2 Instances
   → CPU 使用率が高い EC2 インスタンス
   → スケールアップ・水平スケーリング推奨

2. CloudFront Content Delivery Optimization
   → CloudFront を活用できていない静的コンテンツ
   → CloudFront デプロイで応答時間短縮

3. EBS Throughput Optimization
   → 高 I/O 容量が必要な EBS ボリューム
   → プロビジョンドー IOPS ボリュームへの変更推奨

4. EC2 Optimized Instance Types
   → 古い世代の EC2 インスタンスタイプ(M3 等)
   → 新世代インスタンス(M5・M6 等)への移行で性能向上

5. Service Quotas(サービス制限)

主要チェック:

1. VPC Count
   → VPC 数がクォータ(デフォルト 5)の 80% 超過
   → クォータ増加申請推奨

2. Security Groups per VPC
   → セキュリティグループがクォータの 80% 超過

3. Elastic IP Addresses per Region
   → EIP がクォータの 80% 超過

4. On-Demand Instance Count
   → On-Demand EC2 インスタンス数がクォータ超過傾向
   → クォータ増加申請推奨

5. Auto Scaling Group Count
   → Auto Scaling Group がクォータの 80% 超過

6. Lambda Concurrent Execution
   → Lambda 同時実行数がクォータの 80% 超過
   → 非同期処理・SQS 緩衝推奨

7. DynamoDB On-Demand Billing
   → DynamoDB On-Demand のスループットが高い
   → プロビジョンド課金への移行検討

6. Operational Excellence(運用優秀性)

主要チェック:

1. CloudFormation Stack Health
   → CloudFormation スタック作成失敗・ロールバック
   → テンプレート修正・デバッグ必要

2. AWS Lambda Runtime Deprecation
   → 廃止予定の Lambda ランタイム(Node.js 14 等)
   → 新しいランタイムへの移行推奨

3. SSL/TLS Certificate Expiration
   → サーバー証明書の有効期限切れ間近
   → 更新推奨

4. AWS Secrets Manager Rotation
   → Secrets Manager で自動ローテーション未設定
   → 有効化推奨

5. AWS Directory Service Certificate Expiration
   → AWS Directory Service 証明書期限切れ間近

Support プラン別の利用可能機能

プラン別チェック数・API アクセス:

┌─────────────────────────────────────────────────────────────┐
│ Basic(無料)                                              │
├─────────────────────────────────────────────────────────────┤
│ 利用可能チェック数:約 50 チェック                          │
│  ✓ セキュリティ 6 チェック(MFA・パブリック S3 等)       │
│  ✓ サービス制限 全チェック                                 │
│  ✗ API アクセス不可                                        │
│  ✗ Trusted Advisor Priority 不可                          │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ Developer($29/月〜)                                       │
├─────────────────────────────────────────────────────────────┤
│ 利用可能チェック数:全 200+ チェック                        │
│  ✓ 全カテゴリ:Cost・Security・Fault Tolerance 等         │
│  ✓ API アクセス可能                                        │
│  ✗ Trusted Advisor Priority 不可                          │
│  ✗ CloudWatch Alarm 統合 不可                             │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ Business($100/月〜 または使用量の 10% 以上)              │
├─────────────────────────────────────────────────────────────┤
│ 利用可能チェック数:全 200+ チェック                        │
│  ✓ 全カテゴリ・全チェック                                  │
│  ✓ API アクセス(全操作)                                 │
│  ✓ CloudWatch Alarm 統合                                  │
│  ✓ Trusted Advisor Priority(有限)                      │
│  ✓ 定期メールサマリー                                      │
│  ✗ Organizations 統合(限定的)                            │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ Enterprise($15,000/月〜)                                  │
├─────────────────────────────────────────────────────────────┤
│ 利用可能チェック数:全 200+ チェック                        │
│  ✓ 全機能・全チェック                                      │
│  ✓ API アクセス(全操作)                                 │
│  ✓ Trusted Advisor Priority(フル機能)                  │
│  ✓ Organizations 統合(全アカウント)                      │
│  ✓ AWS アカウントチームによる AI 駆動推奨                │
│  ✓ AWS Well-Architected Review との連携                 │
│  ✓ コンシェルジュサービス                                  │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ Unified Operations($10,000/月〜)                          │
├─────────────────────────────────────────────────────────────┤
│ 利用可能チェック数:全 200+ チェック                        │
│  ✓ Enterprise と同等の全機能                               │
│  ✓ Trusted Advisor Priority                              │
│  ✓ Organizations 統合                                     │
│  ✓ 他の OpsCenter サービスとの統合                        │
└─────────────────────────────────────────────────────────────┘

注意:2026 年中に Enterprise On-Ramp からの自動 Enterprise 
アップグレードが予定。詳細は AWS Support に問い合わせ。

API 操作例

CLI 操作例

# Trusted Advisor チェック一覧取得
aws support describe-trusted-advisor-checks \
  --language en \
  --region us-east-1  # Trusted Advisor API は us-east-1 のみ対応

# セキュリティカテゴリのチェックのみ取得
aws support describe-trusted-advisor-checks \
  --language en \
  --query 'checks[?category==`security`].{Id: id, Name: name, Description: description}' \
  --region us-east-1

# 特定チェック(セキュリティグループ全開放)の結果取得
aws support describe-trusted-advisor-check-result \
  --check-id HCP4007jGY \
  --language en \
  --region us-east-1

# セキュリティ問題のある S3 バケットのみ取得
aws support describe-trusted-advisor-check-result \
  --check-id Pfx0RwqBli \
  --language en \
  --query 'result.flaggedResources[?status==`error`]' \
  --region us-east-1 | jq '.[] | {ResourceId: .[0], IssueType: .[2]}'

# チェック結果サマリー(赤・黄・緑の数)
aws support describe-trusted-advisor-checks-summary \
  --region us-east-1 \
  --query 'checkSummaries[*].{CheckName: checkName, Status: resourcesSummary.resourcesProcessed, ErrorCount: resourcesSummary.resourcesFlagged}' \
  | jq '.[]'

# チェックの結果更新(キャッシュをリフレッシュ)
# Business/Enterprise プランのみ
aws support refresh-trusted-advisor-check \
  --check-id HCP4007jGY \
  --region us-east-1

# Organizations 配下の全アカウントのチェック結果統合取得
# Enterprise/Unified Operations プランのみ
aws support list-organization-recommendations \
  --language en \
  --max-results 100 \
  --region us-east-1

Terraform 操作例

# Trusted Advisor チェック結果を CloudWatch メトリクスに送信
resource "aws_cloudwatch_metric_alarm" "trusted_advisor_red" {
  alarm_name          = "trusted-advisor-red-checks"
  comparison_operator = "GreaterThanOrEqualToThreshold"
  evaluation_periods  = "1"
  metric_name         = "RedResources"
  namespace           = "AWS/TrustedAdvisor"
  period              = "300"
  statistic           = "Sum"
  threshold           = "1"
  alarm_description   = "Alert when Trusted Advisor detects issues"
  alarm_actions       = [aws_sns_topic.alerts.arn]

  dimensions = {
    CheckName = "Security Groups - Specific Ports Unrestricted"
  }
}

# Lambda 関数:Trusted Advisor チェック結果を自動取得・S3 に保存
resource "aws_lambda_function" "trusted_advisor_export" {
  filename      = "lambda_trusted_advisor.zip"
  function_name = "trusted-advisor-export"
  role          = aws_iam_role.lambda_role.arn
  handler       = "index.lambda_handler"
  runtime       = "python3.12"

  environment {
    variables = {
      BUCKET_NAME = aws_s3_bucket.trusted_advisor_reports.id
    }
  }

  timeout = 60
}

# CloudWatch Events:毎週日曜 2:00 UTC に Lambda 実行
resource "aws_cloudwatch_event_rule" "weekly_scan" {
  name                = "weekly-trusted-advisor-scan"
  description         = "Trigger weekly Trusted Advisor scan"
  schedule_expression = "cron(0 2 ? * SUN *)"  # UTC
}

resource "aws_cloudwatch_event_target" "lambda" {
  rule      = aws_cloudwatch_event_rule.weekly_scan.name
  target_id = "TrustedAdvisorLambda"
  arn       = aws_lambda_function.trusted_advisor_export.arn
}

resource "aws_lambda_permission" "allow_cloudwatch" {
  statement_id  = "AllowExecutionFromCloudWatch"
  action        = "lambda:InvokeFunction"
  function_name = aws_lambda_function.trusted_advisor_export.function_name
  principal     = "events.amazonaws.com"
  source_arn    = aws_cloudwatch_event_rule.weekly_scan.arn
}

SDK 操作例(Python)

import boto3
import json
from datetime import datetime

support = boto3.client('support', region_name='us-east-1')  # us-east-1 必須
s3 = boto3.client('s3')

def get_trusted_advisor_summary():
    """Trusted Advisor チェック結果を取得・S3 に保存"""
    
    # チェック一覧取得
    checks_response = support.describe_trusted_advisor_checks(language='en')
    checks = {check['id']: check['name'] for check in checks_response['checks']}
    
    print(f"Total checks available: {len(checks)}")
    
    # サマリー取得(赤・黄・緑の数)
    summary_response = support.describe_trusted_advisor_checks_summary()
    
    summary_data = {
        'timestamp': datetime.utcnow().isoformat(),
        'checks_summary': []
    }
    
    for summary in summary_response['checkSummaries']:
        check_data = {
            'check_id': summary['checkId'],
            'check_name': checks.get(summary['checkId'], 'Unknown'),
            'status': {
                'resources_processed': summary['resourcesSummary']['resourcesProcessed'],
                'resources_flagged': summary['resourcesSummary']['resourcesFlagged'],
                'resources_suppressed': summary['resourcesSummary']['resourcesSuppressed'],
                'resources_processed_with_flag': summary['resourcesSummary'].get('resourcesProcessedWithFlag', 0)
            }
        }
        summary_data['checks_summary'].append(check_data)
    
    # セキュリティ関連チェックの詳細取得
    security_checks = [
        'HCP4007jGY',  # Security Groups - Specific Ports Unrestricted
        'Pfx0RwqBli',  # S3 Bucket Permissions
        'uth1K0rANd'   # IAM Access Key Age
    ]
    
    for check_id in security_checks:
        result_response = support.describe_trusted_advisor_check_result(
            checkId=check_id,
            language='en'
        )
        
        result = result_response['result']
        flagged_resources = [
            resource for resource in result['flaggedResources']
            if resource['status'] == 'error'
        ]
        
        print(f"\nCheck: {checks.get(check_id)}")
        print(f"  Flagged resources: {len(flagged_resources)}")
        for res in flagged_resources[:5]:  # 最初の 5 件のみ表示
            print(f"    - {res['metadata'][:2]}")
    
    # 結果を S3 に保存
    bucket_name = 'my-trusted-advisor-reports'
    key = f"reports/{datetime.utcnow().strftime('%Y/%m/%d')}/summary.json"
    
    s3.put_object(
        Bucket=bucket_name,
        Key=key,
        Body=json.dumps(summary_data, indent=2, default=str)
    )
    
    print(f"\nSummary saved to s3://{bucket_name}/{key}")
    
    return summary_data

def auto_remediate_security_issues():
    """セキュリティ問題を自動修復"""
    
    support = boto3.client('support', region_name='us-east-1')
    ec2 = boto3.client('ec2')
    s3_client = boto3.client('s3')
    
    # S3 パブリックアクセス設定
    result = support.describe_trusted_advisor_check_result(
        checkId='Pfx0RwqBli',
        language='en'
    )
    
    for resource in result['result']['flaggedResources']:
        if resource['status'] == 'error':
            bucket_name = resource['metadata'][0]
            print(f"Enabling Block Public Access for bucket: {bucket_name}")
            
            # Block Public Access を有効化
            s3_client.put_public_access_block(
                Bucket=bucket_name,
                PublicAccessBlockConfiguration={
                    'BlockPublicAcls': True,
                    'IgnorePublicAcls': True,
                    'BlockPublicPolicy': True,
                    'RestrictPublicBuckets': True
                }
            )
            print(f"  ✓ Block Public Access enabled")

if __name__ == '__main__':
    # Trusted Advisor サマリー取得
    summary = get_trusted_advisor_summary()
    
    # セキュリティ問題の自動修復
    # auto_remediate_security_issues()

Organizations 統合(Enterprise プラン)

import boto3
import pandas as pd

support = boto3.client('support', region_name='us-east-1')

def get_organization_recommendations():
    """Organizations 配下全アカウントの推奨事項取得"""
    
    # 推奨事項一覧取得
    paginator = support.get_paginator('list_organization_recommendations')
    pages = paginator.paginate(maxResults=100)
    
    recommendations = []
    
    for page in pages:
        for rec in page.get('recommendations', []):
            recommendations.append({
                'recommendation_id': rec['id'],
                'account_id': rec.get('accountId'),
                'resource_id': rec.get('resourceId'),
                'status': rec.get('lifecycleStage'),
                'type': rec.get('type'),
                'description': rec.get('description'),
                'estimated_monthly_savings': rec.get('estimatedMonthlySavings')
            })
    
    # DataFrame に変換
    df = pd.DataFrame(recommendations)
    
    # コスト削減機会の集計
    total_monthly_savings = df['estimated_monthly_savings'].sum()
    print(f"Total estimated monthly savings: ${total_monthly_savings:,.2f}")
    
    # アカウント別集計
    account_summary = df.groupby('account_id').agg({
        'estimated_monthly_savings': 'sum',
        'recommendation_id': 'count'
    }).rename(columns={'recommendation_id': 'recommendation_count'})
    
    print("\nSavings by Account:")
    print(account_summary)
    
    # 推奨事項を CSV にエクスポート
    df.to_csv('trusted_advisor_recommendations.csv', index=False)
    
    return df

類似サービス比較表

サービス 対象 強み 弱み
Trusted Advisor AWS ベストプラクティス自動チェック 即効性・定量的・AWS ネイティブ・無料チェック多数 API は Business 以上のみ・深い分析は限定的
AWS Compute Optimizer EC2・RDS・Lambda・EBS 最適化 機械学習による推奨・詳細分析・無料 全カテゴリ非対応・Trusted Advisor より狭い
AWS Config リソース設定・コンプライアンス評価 継続監視・変更履歴・自動修復 コスト最適化に特化していない
Security Hub セキュリティ検出結果の集約 複数サービス統合・標準化 コスト最適化非対応・即効性は低い
Cloudability(IBM) クラウドコスト最適化専門プラットフォーム 深い分析・RI・Savings Plans 最適化・複数クラウド 高額・Trusted Advisor より専門的
CloudHealth(VMware) クラウド管理・コスト最適化 統合管理・複数クラウド・ガバナンス 高額・セットアップ負荷
Spot.io(NetApp) クラウドコスト最適化・ワークロード管理 Kubernetes・複数クラウド・AI 高額・AWS 限定でない
Apptio FinOps・エンタープライズクラウド管理 組織全体の FinOps・チャージバック 非常に高額・大企業向け

ベストプラクティス

✅ 推奨事項

# 項目 実装例
1 最低 Business プラン以上 Basic の 50 チェックは不十分。全 200+ チェック + API 必須
2 API による自動化・定期スキャン Lambda + EventBridge で毎週スキャン・結果を S3 に保存
3 CloudWatch Alarm で重大問題の自動通知 セキュリティグループ全開放・MFA 未設定を自動検出
4 セキュリティチェックの自動修復 S3 パブリックアクセス検出 → Block Public Access 自動有効化
5 Organizations 統合(Enterprise) 複数アカウントの推奨事項を一元管理・優先度付け
6 Trusted Advisor Priority の活用 AWS アカウントチームからの AI 推奨を実装優先順位に反映
7 月次レポート生成・経営層報告 コスト削減機会・セキュリティ改善をデータ駆動で報告
8 他サービスとの組み合わせ Trusted Advisor + Compute Optimizer + Config で完全カバー
9 クォータ監視 サービス制限チェックで事前にクォータ増加申請
10 定期的な改善実装 推奨事項を優先度付けして実装・実装後に確認

❌ 非推奨事項

# 項目 回避理由
1 Basic プランのみ使用 50 チェックのみで不十分・API なし・自動化できない
2 コンソール UI のみに依存 200+ チェック全体を把握できない・手動・非効率
3 推奨事項を無視・放置 未使用リソース・セキュリティリスク・コスト増加
4 自動修復なし 推奨事項が増える一方・対応が追いつかない
5 Organizations 非統合 複数アカウント環境で全体最適化ができない

トラブルシューティング表

問題 原因 解決策
API で Access Denied エラー IAM 権限不足・Support プラン不足 IAM ユーザーに support:DescribeTrustedAdvisorChecks 権限付与・Support プラン確認(Business 以上必須)
チェック結果が古い キャッシュされた結果・リフレッシュ未実行 refresh-trusted-advisor-check で手動リフレッシュ
Organizations 推奨事項取得できない Enterprise プラン不足・Organizations 設定 Enterprise または Unified Operations プランに upgrade・Organizations Trusted Advisor 有効化確認
セキュリティチェック 0 件 セキュリティグループ・S3 設定なし セキュリティグループ・S3 バケット確認・作成推奨

2025-2026 最新動向

Trusted Advisor Priority の AI 強化

Enterprise/Unified Operations プラン向けに、Trusted Advisor Priority が組織文脈を踏まえた「今週対処すべき上位 10 件」を AI で自動生成。2026 年 Q2 以降、生成 AI による推奨度分析が強化予定。

Organizations 統合の拡張

複数アカウント環境での推奨事項統合・優先度付けが強化。部門別・環境別・チーム別の分析が標準化。

Enterprise On-Ramp からの自動アップグレード

2026 年中、Enterprise On-Ramp サポートプランから Enterprise Support への自動アップグレードが予定。Trusted Advisor Priority 機能が自動で利用可能に。


学習リソース・参考文献

公式ドキュメント

AWS ブログ

関連 AWS サービス


実装例・導入ロードマップ

Trusted Advisor 自動化(4 週間)

Week 1: 環境準備・API 検証
  ├── Support プランを Business 以上に upgrade
  ├── IAM ユーザーに Trusted Advisor API 権限付与
  ├── CLI で API テスト実行
  └── チェック一覧・結果取得確認

Week 2: 自動スキャンパイプライン構築
  ├── Lambda 関数作成(Trusted Advisor スキャン)
  ├── CloudWatch Events で毎週スケジュール設定
  ├── 結果を S3 に保存
  └── パイプラインテスト実行

Week 3: 監視・アラーム設定
  ├── CloudWatch Alarm(セキュリティ)作成
  ├── CloudWatch Alarm(コスト)作成
  ├── SNS 通知設定
  └── 本番切り替え

Week 4: レポート・自動修復
  ├── 月次レポート生成スクリプト作成
  ├── 経営層への自動メール配信設定
  ├── セキュリティ問題の自動修復実装(S3 等)
  └── チーム向けドキュメント整備

実装チェックリスト

  • [ ] Support プラン確認(Business 以上必須)
  • [ ] Trusted Advisor API アクセス テスト
  • [ ] IAM 権限設定(DescribeTrustedAdvisor 等)
  • [ ] Lambda 関数作成(スキャン・結果保存)
  • [ ] CloudWatch Events スケジュール設定(毎週)
  • [ ] S3 バケット作成(レポート保存用)
  • [ ] CloudWatch Alarm 設定(セキュリティ・コスト)
  • [ ] SNS トピック・メール通知設定
  • [ ] CloudWatch ダッシュボード作成・可視化
  • [ ] セキュリティ問題の自動修復スクリプト実装

まとめ

AWS Trusted Advisor API は 「AWS アカウントのコスト・セキュリティ・信頼性・パフォーマンス・クォータを自動スキャンするベストプラクティス推奨サービス」 です。

6 つのカテゴリ 200+ チェック により、即効性のあるコスト削減機会(未使用 EIP・低使用率 EC2)から重大なセキュリティリスク(パブリック S3・MFA 未設定)まで網羅。API による自動化で Organizations 配下の複数アカウント推奨事項を一元管理できます。

Business プラン以上で API アクセス可能 となり、カスタムダッシュボード・自動修復・定期レポート生成を実装。Enterprise/Unified Operations プランの Trusted Advisor Priority で AWS アカウントチームからの AI 駆動推奨を活用すれば、戦略的なクラウド最適化を実現できます。

Security Hub・Config・Compute Optimizer と補完関係を維持しながら、「今すぐ対処できる改善」に特化した Trusted Advisor を組織全体のクラウド運用に組み込むことを強く推奨します。


最終更新:2026-04-26

バージョン:v2.0