All Projects → jamesmoriarty → cfn-cheapest-nat

jamesmoriarty / cfn-cheapest-nat

Licence: MIT license
Cheapest AWS VPC NAT.

Projects that are alternatives of or similar to cfn-cheapest-nat

aws-cfn-custom-resource-lambda-edge
🏗 AWS CloudFormation custom resource that allows deploying Lambda@Edge from any region
Stars: ✭ 19 (-50%)
Mutual labels:  cloudformation, amazon-web-services
Aws Auto Terminate Idle Emr
AWS Auto Terminate Idle AWS EMR Clusters Framework is an AWS based solution using AWS CloudWatch and AWS Lambda using a Python script that is using Boto3 to terminate AWS EMR clusters that have been idle for a specified period of time.
Stars: ✭ 21 (-44.74%)
Mutual labels:  cloudformation, amazon-web-services
AutoSpotting
Saves up to 90% of AWS EC2 costs by automating the use of spot instances on existing AutoScaling groups. Installs in minutes using CloudFormation or Terraform. Convenient to deploy at scale using StackSets. Uses tagging to avoid launch configuration changes. Automated spot termination handling. Reliable fallback to on-demand instances.
Stars: ✭ 2,058 (+5315.79%)
Mutual labels:  cloudformation, amazon-web-services
eks-deep-dive-2019
Amazon EKS Deep Dive 2019
Stars: ✭ 61 (+60.53%)
Mutual labels:  cloudformation, amazon-web-services
Aws Sdk Perl
A community AWS SDK for Perl Programmers
Stars: ✭ 153 (+302.63%)
Mutual labels:  cloudformation, amazon-web-services
monitoring-jump-start
Monitor AWS resources with ease
Stars: ✭ 67 (+76.32%)
Mutual labels:  cloudformation, amazon-web-services
serverless-data-pipeline-sam
Serverless Data Pipeline powered by Kinesis Firehose, API Gateway, Lambda, S3, and Athena
Stars: ✭ 78 (+105.26%)
Mutual labels:  cloudformation, amazon-web-services
Cfn Create Or Update
Create or update CloudFormation stack also if no updates are to be performed.
Stars: ✭ 59 (+55.26%)
Mutual labels:  cloudformation, amazon-web-services
Devops Essentials
Source code samples for DevOps Essentials on AWS Complete Video Course
Stars: ✭ 143 (+276.32%)
Mutual labels:  cloudformation, amazon-web-services
Perun
A command-line validation tool for AWS Cloud Formation that allows to conquer the cloud faster!
Stars: ✭ 82 (+115.79%)
Mutual labels:  cloudformation, amazon-web-services
Aws Cf Templates
A cloudonaut.io project. Engineered by widdix.
Stars: ✭ 2,399 (+6213.16%)
Mutual labels:  cloudformation, amazon-web-services
Autospotting
Saves up to 90% of AWS EC2 costs by automating the use of spot instances on existing AutoScaling groups. Installs in minutes using CloudFormation or Terraform. Convenient to deploy at scale using StackSets. Uses tagging to avoid launch configuration changes. Automated spot termination handling. Reliable fallback to on-demand instances.
Stars: ✭ 2,014 (+5200%)
Mutual labels:  cloudformation, amazon-web-services
Docs
Rapid CloudFormation: Modular, production ready, open source.
Stars: ✭ 209 (+450%)
Mutual labels:  cloudformation, amazon-web-services
aws-o11y-recipes
recipes for observability solutions at AWS
Stars: ✭ 110 (+189.47%)
Mutual labels:  amazon-web-services
bridgeap
Automagically bridge any live interface to any idle interface using NATS, DHCP, and HostAP where applicable
Stars: ✭ 52 (+36.84%)
Mutual labels:  nat
gcpnatha
How to set up multiple NAT gateways with Equal Cost Multi-Path (ECMP) routing and autohealing enabled for a more resilient and high-bandwidth deployment using Deployment Manager.
Stars: ✭ 16 (-57.89%)
Mutual labels:  nat
go-libp2p-autonat
DEPRECATED: NAT Autodiscovery
Stars: ✭ 53 (+39.47%)
Mutual labels:  nat
ssm-ami-automation
Automated AMI creation using SSM
Stars: ✭ 14 (-63.16%)
Mutual labels:  cloudformation
cloudwatch-dashboards-cloudformation-sample
A sample project to demonstrate using Cloudformation, how to create and configure CloudWatch metric filters, alarms and a dashboard to monitor an AWS Lambda function.
Stars: ✭ 61 (+60.53%)
Mutual labels:  cloudformation
aws-pdf-textract-pipeline
🔍 Data pipeline for crawling PDFs from the Web and transforming their contents into structured data using AWS textract. Built with AWS CDK + TypeScript
Stars: ✭ 141 (+271.05%)
Mutual labels:  cloudformation

cfn-cheapest-nat

build status

Cheapest AWS VPC NAT solution for personal projects.

Context

The current solutions is:

  • EC2 running on Spot.
  • Auto Healing
    • automatically replaces the unhealthy instance.
    • re-attaches a persistent network interface to recover transport level details such as routes.

The solution is not:

  • Highly Available
    • instance unavailability will cause NAT disruption.
  • Fault Tolerant
    • the persistent network interface results in dependency on a single zone.

Logical Diagram

Logical Diagram

Deploy

STACK_NAME=examples-nat \
PRIVATE_ROUTE_TABLES=rtb-0eee90cf29e333813,rtb-0c1d060b614e74b88 \
PUBLIC_SUBNET=subnet-03ad595bb28ce7679 \
  ./bin/deploy

Testing

I use the AWS System Manager Session Manager to SSH into an instance in a private subnet utilizing the NAT and run:

yum install python python-pip -y \
 && pip install --upgrade pip \
 && pip install speedtest-cli \
 && speedtest-cli
Retrieving speedtest.net configuration...
Testing from Amazon.com (54.206.26.162)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Telstra (Sydney) [1.01 km]: 1.82 ms
Testing download speed................................................................................
Download: 3283.42 Mbit/s
Testing upload speed................................................................................................
Upload: 2274.26 Mbit/s

Costs

solution network cost/GB cost/hour** cost/month**
NAT Gateway 5-45 Gbps 0.059 0.059 42.48
NAT Instance (t3a.nano) 0-5 Gbps 0-0.114 0.0059 4.25
NAT Instance (t3a.nano) (spot) 0-5 Gbps 0-0.114 0.0018* 1.30*

* variable costs.

** region ap-southeast-2.

AMI

Documentation

Configuration

  • /etc/sysctl.d/10-nat-settings.conf
  • /usr/sbin/configure-pat.sh
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].