npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@richkang/cdk-construct-lambda-custom-config-rule

v0.1.7

Published

Lambda function for AWS Config custom rule

Downloads

227

Readme

AWS Config Custom Lambda Rule: RDS Subnet Internet Route Detector

This AWS Config custom Lambda rule is designed to check whether an Amazon RDS subnet has an internet route in its associated route tables. The rule uses a Lambda function written in Node.js to evaluate the compliance of RDS subnets.

Lambda Function Structure

The Lambda function responsible for evaluating RDS subnets consists of the following components:

  1. Lambda Function Code (rds_public_subnet_rule.ts): The Lambda function code is written in TypeScript and utilizes the AWS SDK to invoke services from AWS EC2, Amazon RDS and AWS Config. It parses the AWS Config event to determine the resource type (AWS::RDS::RDSInstance), retrieves the associated subnets and route tables, and checks if any of them have an internet route (0.0.0.0/0). The compliance result is then reported back to AWS Config.

  2. Event Input (event: AWSConfig.Event): The Lambda function receives input from AWS Config, which includes information about the evaluated resource and the rule parameters, such as the route table IDs to check.

  3. AWS SDK Integration (AWS from 'aws-sdk'): The function uses the AWS SDK to describe the RDS Instance, subnets, and route tables, subnets. This allows it to check for internet routes.

  4. Compliance Reporting: Depending on the evaluation result, the Lambda function reports compliance as either 'COMPLIANT' or 'NON_COMPLIANT' to AWS Config. If the rule does not apply to the resource type, it reports 'NOT_APPLICABLE'.

Infrastructure Components

This AWS Config Custom Lambda Rule leverages AWS CDK (Cloud Development Kit) to define and deploy the necessary infrastructure components. The components include:

  1. AWS CDK Construct (cdk-construct-lambda-config-custom-rule.ts): A CDK construct that deploys the Lambda function using NodejsFunction.

Usage

  1. Creates a AWS CDK stack to instantiate the construct. Example of usage can be found in test/testApp.ts.

Prerequisites

  • AWS CDK installed and configured.
  • Appropriate IAM permissions to deploy AWS CDK stacks and create Lambda functions.

License

This project is licensed under the MIT License - see the LICENSE file for details.