AWS
EC2
PowerShell
CloudWatch
Autorecovery

AWS EC2 AutoRecoveryをPowerShellで設定する

はじめに

PowerShellでDimensionの渡し方がわからなかったのでメモ。

コード

  • $Dimension.Valueを目的のインスタンスIDに変更すれば事足りますが、
    EvaluationPeriodとThresholdは要件に応じて変更しましょう。

  • 設定対象とするリージョンを変更する場合はAlarmActionにリージョン名が入っているので此処も変更します。

$Dimension = New-Object 'Amazon.CloudWatch.Model.Dimension'
$Dimension.Name = 'InstanceId'
$Dimension.Value = 'i-xxxxxxxxxxxxxxxxx'

Write-CWMetricAlarm `
 -AlarmName 'AutoRecovery' `
 -AlarmAction 'arn:aws:automate:ap-northeast-1:ec2:recover' `
 -AlarmDescription 'AutoRecovery Alarm' `
 -MetricName 'StatusCheckFailed_System' `
 -Namespace 'AWS/EC2' `
 -Statistic Maximum `
 -Dimension $Dimension `
 -Period 60 `
 -EvaluationPeriod 2 `
 -Threshold 1 `
 -ComparisonOperator GreaterThanOrEqualToThreshold `
 -Region ap-northeast-1