☁️
AWS Config カスタムルールを使用してRDSを監視する
概要
AWS Config カスタムルールを使用してRDSを監視したい
更に言えば特定のインスタンスタイプ以外は違反としたい
前提
AWS Config有効化
こちらを参考にしました。
CloudFormationによるAWS Configの有効化 - Qiita
本題
lambda関数
blueprintのconfig-rule-change-triggeredをベースに判定部分を修正します。
function evaluateChangeNotificationCompliance(
configurationItem: {
configuration: {
dBInstanceClass: string | null;
readReplicaSourceDBInstanceIdentifier: string | null;
};
resourceType: string;
},
ruleParameters: { desiredInstanceType: string | null }
) {
checkDefined(configurationItem, "configurationItem");
checkDefined(
configurationItem.configuration,
"configurationItem.configuration"
);
checkDefined(ruleParameters, "ruleParameters");
// 実チェックの部分
if (configurationItem.resourceType !== "AWS::RDS::DBInstance") {
return "NOT_APPLICABLE";
} else if (
ruleParameters.desiredInstanceType ===
configurationItem.configuration.dBInstanceClass
) {
return "COMPLIANT";
}
return "NON_COMPLIANT";
}
ロールは
・AmazonRDSFullAccess
・AWSConfigRulesExecutionRole
・CloudWatchLogsFullAccess
を雰囲気で追加しています。
AWS Config カスタムルール
ルール追加
カスタムルールの追加
名前:適当
トリガータイプ:設定変更
変更範囲:リソース、RDS:DBInstance
ルールのパラメータ
キー:desiredInstanceType
値:db.t3.micro(任意のインスタンスタイプ)
実行
AWS Configのコンソールから「再評価」を実行
評価結果を確認
Discussion