目次

問合せ履歴取得

はじめに

AWSの問い合わせ(Support Center)の履歴が12ヶ月の保存期間になるので
AWSCLI(PowerShell)にて履歴取得を実現してみた。

AWSサポートAPIはビジネス、エンタープライズプランだけでした。
AWS開発者プランで、できないできないしてしまったので備忘・・・。

取得手順

①サポートケースを取得し、「CaseList.log」に書き出し。

1.CaseId取得コマンド.ps1
 Get-ASACase -IncludeResolvedCase $true -region us-east-1 -language ja > CaseList.log

②サポートケース₍CaseList.log₎から、CaseId一覧を取得し、「CaseList.txt」に書き出し。

2.CaseList.logを加工.ps1
 Select-String -Path "CaseList.log" -Pattern "CaseId" | ForEach-Object {
  $a=$_ -split ":"
  echo $a[4].trim(" ")
  } > CaseList.txt

③CaseIdごとに履歴を取得し、CaseIdごとにテキストで保存。

3.詳細取得コマンド.ps1
 foreach($line in Get-Content .\CaseList.txt) {
    Get-ASACommunication -CaseId $line -region us-east-1 > $line".txt"
  }

気を付けるポイント

・AWSCLIのプロファイルには「AWSSupportAccess」へのアクセス権限があること。
・AWSSupport系のコマンドは「-region us-east-1」をつけること。
 →「us-east-1」以外のプロファイルだと「Could not connect」エラーとなる
  理由は公式にもあるが、support.us-east-1.amazonaws.comは単一のエンドポイントの為
・「-IncludeResolvedCase $true」
 →デフォルトだとクローズした項目は含まれないので、上記オプションをつける
・「-language ja」
 →日本語の問い合わせでフィルタする際は、jaを指定する。