Skip to content

Instantly share code, notes, and snippets.

@shotty1
shotty1 / lambdaMonitoringVistor.ts
Created December 19, 2022 20:46
Use visitor pattern to create an alarm for every lambda with cdk-monitoring-constructs
import { IAspect } from "aws-cdk-lib";
import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
import { MonitoringFacade } from "cdk-monitoring-constructs";
import { IConstruct } from "constructs";
export class LambdaAlarms implements IAspect {
monitoringFacade: MonitoringFacade;
constructor(monitoringFacade: MonitoringFacade) {
@shotty1
shotty1 / gist:445971233cc0a898dc11b1467fc034be
Created August 30, 2022 06:57 — forked from iann0036/gist:b473bbb3097c5f4c656ed3d07b4d2222
List of expensive / long-term effect AWS IAM actions
route53domains:RegisterDomain
route53domains:RenewDomain
route53domains:TransferDomain
ec2:ModifyReservedInstances
ec2:PurchaseHostReservation
ec2:PurchaseReservedInstancesOffering
ec2:PurchaseScheduledInstances
rds:PurchaseReservedDBInstancesOffering
dynamodb:PurchaseReservedCapacityOfferings
s3:PutObjectRetention
#!/bin/bash
instance_type_filter=g5.8xlarge
echo "Getting list of Availability Zones"
all_regions=$(aws ec2 describe-regions --output text --query 'Regions[*].[RegionName]' | sort)
all_az=()
while read -r region; do
echo "Getting AZs per region $region"
az_per_region=$(aws ec2 describe-availability-zones --region "$region" --query 'AvailabilityZones[*].[ZoneName]' --output text | sort)