PowershellでAWS CLIを打って地味にミスった書き方など

ダブルクォートのネスト(入れ子)をエスケープしてなかった

CISベンチマーク項目でCloudTrailにてAPI呼び出しの証跡を得て、CloudWatchで許可されていない不正なAPI呼び出しのアラートを作る際、aws logs put-metric-filter コマンドでメトリクスフィルタをつくるとき

エラー文章の抜粋

Unknown options: *UnauthorizedOperation) || ($.errorCode = AccessDenied*)}

以下がコマンドの中にありまして

--filter-pattern "{($.errorCode = "*UnauthorizedOperation") || ($.errorCode = "AccessDenied*")}"

“(ダブルクォート)の中の”(ダブルクォート)のエスケープをしていませんでした。

こいつのエスケープは、バッククオートで以下の様になります。Gutenbergのコードブロックでバッククォートを複数記載できなかったので画像ですが・・・。

CloudWatchのロググループ名をARNにしてしまっていた

aws logs put-metric-filter コマンドでCloudWatchでメトリクスフィルタをつくるとき、以下の様にコマンドしてしまった・・・

aws logs put-metric-filter --log-group-name arn:aws:logs:リージョン:AWSアカウント番号:log-group:ロググループ名

エラー文章の抜粋

An error occurred (InvalidParameterException) when calling the PutMetricFilter operation: 1 validation error detected: Value 'arn:aws:logs:リージョン:AWSアカウント番号:log-group:ロググループ名' at 'logGroupName' failed to satisfy constraint: Member must satisfy regular expression pattern: [\.\-_/#A-Za-z0-9]+

使えない文字が入ってる!って怒られてます。正しくは、

aws logs put-metric-filter --log-group-name /var/log/messages

の様にロググループ名だけでいい。

ハイフォンを抜かしていた事件

CloudWatch LogsメトリクスフィルタとSNSトピックに関連付けられているCloudWatchアラームを作成するコマンド

aws cloudwatch put-metric-alarm --alarm-name

が正しいけど

aws cloudwatch put-metric-alarm --alarmname

になり、

Unknown options: --metricname,

と怒られた。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください