Saravanan666/pypi-org huggingface dataset:
Package: cdk-ec2spot
cdk-ec2spotCDK construct library that allows you to create EC2 Spot instances withAWS AutoScaling Group,Spot Fleetor just singleSpot Instance.InstallUse the npm dist tag to opt in CDKv1 or CDKv2://forCDKv2
npminstallcdk-ec2spot
or
npminstallcdk-ec2spot@latest

//forCDKv1
npminstallcdk-ec2spot@cdkv1Sampleimport*asec2spotfrom'cdk-ec2spot';//createaec2spotproviderconstprovider=newec2spot.Provider(stack,'Provider');//importorcreateavpcconstvpc=provider.getOrCreateVpc(stack);//createanAutoScalingGroupwithLaunchTemplateforspotinstancesprovider.createAutoScalingGroup('SpotASG',{vpc,defaultCapacitySize:2,instanceType:newec2.InstanceType('m5.large'),});EC2 Spot Fleet supportIn addition to EC2 AutoScaling Group, you may usecreateFleet()to create an EC2 Spot Fleet:provider.createFleet('SpotFleet',{vpc,defaultCapacitySize:2,instanceType:newec2.InstanceType('t3.large'),});Single Spot InstnceIf you just need single spot instance without any autoscaling group or spot fleet, usecreateInstance():provider.createInstance('SpotInstance',{vpc})
Package: cdk-ec2-spot-simple
cdk-ec2-spot-simpleCDK construct library to create EC2 Spot Instances simply.InstallTypeScript/JavaScriptnpminstallcdk-ec2-spot-simplepnpmaddcdk-ec2-spot-simpleyarnaddcdk-ec2-spot-simplePythonpipinstallcdk-ec2-spot-simple.NETdotnetaddpackageTksSt.Cdk.Ec2SpotSimpleJava<dependency><groupId>st.tks.cdk</groupId><artifactId>ec2-spot-simple</artifactId></dependency>Gogogetgithub.com/tksst/cdk-ec2-spot-simple-go/cdkec2spotsimple/v2UsageTo set up a spot instance with default parameters, simply use "SpotInstance" instead of "ec2.Instance".import{SpotInstance}from"cdk-ec2-spot-simple";import*asec2from"aws-cdk-lib/aws-ec2";//SimpleusagenewSpotInstance(this,"DefaultConfigSpotInstance",{//Requiredpropertiesof"ec2.Instance"vpc:ec2.Vpc.fromLookup(this,"defaultVPC",{isDefault:true}),instanceType:ec2.InstanceType.of(ec2.InstanceClass.T3A,ec2.InstanceSize.NANO),machineImage:newec2.AmazonLinuxImage()});//AdvancedusagenewSpotInstance(this,"StoppableSpotInstance",{//Requiredpropertiesof"ec2.Instance"vpc:ec2.Vpc.fromLookup(this,"defaultVPC",{isDefault:true}),instanceType:ec2.InstanceType.of(ec2.InstanceClass.T3A,ec2.InstanceSize.NANO),machineImage:newec2.AmazonLinuxImage(),//SpotInstancespecificpropertyspotOptions:{interruptionBehavior:ec2.SpotInstanceInterruption.STOP,requestType:ec2.SpotRequestType.PERSISTENT,maxPrice:0.007}});API documentSee Construct HubBackgroundTheInstanceconstruct inaws-cdk-lib/aws-ec2does not have any spot instance functionality.ThisSpotInstanceconstruct createsLaunchTemplatethat is enabled spot request internally and associate withInstance.Also,SpotInstancecreates a Lambda-backed custom resource if the spot requiest type is PERSISTENT. That resource deletes the spot request when the stack is destroyed.
Package: cdk-ecr-asset-scanner
CDK ECR Asset ScannerThe CDK ECR Asset Scanner is a custom L3ScannedDockerImageAssetconstruct that builds and uploads your container image assets to ECR. After pushing, it will return the vulnerability report status in a Stack Output. In that way, it gives crucial and important security related information directly back to the engineer working with the stack. It aims to improve security insight while working with AWS CDK.As stated before,ScannedDockerImageAssetis a custom L3 construct in the AWS Construct Library that combines the following L2 Constructs:DockerImageAssetA Custom Resource backed by a Lambda functionStack outputsBecause it just combines existing Constructs, this means theScannedDockerImageAssetis a very stable L3 construct, not deemed experimental.USAGERunnpm i cdk-ecr-asset-scanner.Just add theScannedDockerImageAssetto your imports, and use it exactly like you would a normalDockerImageAsset. It will do all the heavy lifting under the hood by itself. Make sure cdk peer dependencies are correct as usual, but npm will point those out (> 1.118.0 cdk versions)Example (ts):# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826fromcdk_ecr_asset_scannerimportScannedDockerImageAssetimportpathaspathenv={"region":process.env.CDK_DEFAULT_REGION,"account":process.env.CDK_DEFAULT_ACCOUNT}app=cdk.App()classTestStack(cdk.Stack):def__init__(self,scope,id,props=None):super().__init__(scope,id,props)# Image without scan# const image3 = new DockerImageAsset(this, "zzz", {#   directory: path.join(__dirname, "../src/"),# });# Image with scanimage=ScannedDockerImageAsset(self,"zzz",directory=path.join(__dirname,"../src/"))image3=ecs.ContainerImage.from_docker_image_asset(image)task_definition=ecs.FargateTaskDefinition(self,"test-task-definition",memory_limit_mi_b=2048,cpu=1024)task_definition.add_container("container_example_three",image=image3,environment={"TEST_VAR":"THREE"},logging=ecs.AwsLogDriver(stream_prefix="three"))TestStack(app,"hh-stack",env=env)AvailabilityTypescript / JSPython
Package: cdk-ecr-deployment
cdk-ecr-deploymentCDK construct to synchronize single docker image between docker registries.⚠️ Version 1.* is no longer supported, as CDK v1 has reached the end-of-life
stage. Please use only ^2.0.0.FeaturesCopy image from ECR/external registry to (another) ECR/external registryCopy an archive tarball image from s3 to ECR/external registryEnvironment variablesEnable flags:true,1. e.g.export CI=1CIindicate if it's CI environment. This flag will enable building lambda from scratch.NO_PREBUILT_LAMBDAdisable using prebuilt lambda.FORCE_PREBUILT_LAMBDAforce using prebuilt lambda.⚠️ If you want to force using prebuilt lambda in CI environment to reduce build time. Tryexport FORCE_PREBUILT_LAMBDA=1.⚠️ The above flags are only available in cdk-ecr-deployment 2.x and 3.x.Examplesfromaws_cdk.aws_ecr_assetsimportDockerImageAssetimage=DockerImageAsset(self,"CDKDockerImage",directory=path.join(__dirname,"docker"))# Copy from cdk docker image asset to another ECR.ecrdeploy.ECRDeployment(self,"DeployDockerImage1",src=ecrdeploy.DockerImageName(image.image_uri),dest=ecrdeploy.DockerImageName(f"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest"))# Copy from docker registry to ECR.ecrdeploy.ECRDeployment(self,"DeployDockerImage2",src=ecrdeploy.DockerImageName("nginx:latest"),dest=ecrdeploy.DockerImageName(f"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest"))# Copy from private docker registry to ECR.# The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>ecrdeploy.ECRDeployment(self,"DeployDockerImage3",src=ecrdeploy.DockerImageName("javacs3/nginx:latest","username:password"),# src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),# src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),dest=ecrdeploy.DockerImageName(f"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest")).add_to_principal_policy(iam.PolicyStatement(effect=iam.Effect.ALLOW,actions=["secretsmanager:GetSecretValue"],resources=["*"]))Sample:test/example.ecr-deployment.ts# Run the following command to try the sample.NO_PREBUILT_LAMBDA=1npxcdkdeploy-a"npx ts-node -P tsconfig.dev.json --prefer-ts-exts test/example.ecr-deployment.ts"APITech Details & ContributionThe core of this project relies oncontainers/imagewhich is used bySkopeo.
Please take a look at those projects before contribution.To support a new docker image source(like docker tarball in s3), you need to implementimage transport interface. You could take a look atdocker-archivetransport for a good start.To test thelambdafolder,make test.
Package: cdk-ecr-image-scan-notify
cdk-ecr-image-scan-notifycdk-ecr-image-scan-notify is an AWS CDK construct library that notify the slack channel of Amazon ECR image scan results.OverviewAmazon EventBridge (CloudWatch Events) detects the image scan execution and starts the Lambda function.
The Lambda function summarizes the scan results, formatting them and notifying Slack.Basic scanningEnhanced scanning (Support for initial scan only)Click on an image name to go to the scan results page.Getting StartedTypeScriptInstallation$ yarn add cdk-ecr-image-scan-notifyUsageimport*ascdkfrom'aws-cdk-lib';import{EcrImageScanNotify}from'cdk-ecr-image-scan-notify';constmockApp=newcdk.App();conststack=newcdk.Stack(mockApp,'<your-stack-name>');newEcrImageScanNotify(stack,'ecr-image-scan-notify',{webhookUrl:'<your-incoming-webhook-url>',});Deploy!$ cdk deployPythonInstallation$ pip install cdk-ecr-image-scan-notifyUsageimportaws_cdkascdkfromcdk_ecr_image_scan_notifyimportEcrImageScanNotifyapp=cdk.App()stack=cdk.Stack(app,"<your-stack-name>",env={'region':'ap-northeast-1'})EcrImageScanNotify(stack,"EcrImageScanNotify",webhook_url='<your-incoming-webhook-url>',)Deploy!$ cdk deploy
Package: cdk-ecrpublic-gc
cdk-ecrpublic-gcCDK construct library that helps you build a garbage collector to delete all untagged images in Amazon ECR public with AWS CDK.WhyAmazon ECR public does not have lifecycle policy to clean up all untagged images at this moment(seethis issue).cdk-ecrpublic-gcallows you to deploy aAWS Step Functionsstate machine withdynamic parallelismto invoke an arbitrary of Lambda functions to remove untagged images to release the storage.ScheduleBy default, the state machine will be triggeredevery 4 hoursand can be configured in thescheduleproperty in theTidyUpconstruct.Sample# Example automatically generated from non-compiling source. May contain errors.importaws_cdk.coreascdkfromcdk_ecrpublic_gcimportTidyUpapp=cdk.App()stack=cdk.Stack(app,"ecr-public-gc")TidyUp(stack,"TidyUp",repository=["vscode","gitpod-workspace","github-codespace"],schedule=events.Schedule.cron(hour="*/4",minute="0"))In ActionStep Function state machine with dynamic tasks in parallel
Package: cdkeks
cdkeksHigher-level hybrid cdk|cdk8s construct to build an eks kubernetes platform with batteries included:Network policies withaws-calicoDNS management withexternal-dnsForwarding logs to CloudWatch Logs or ElasticSearch withfluent-bitIngress management with theaws load balancer controller:warning: This is experimental and subject to breaking changes.InstallTypeScript/JavaScript:npminstall--savecdkeksPython:pipinstallcdkeksHowto useInstall Addons# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826platform=Platform(self,"Platform",cluster=cluster,addons=[AwsCalicoAddon(),AwsLoadBalancerControllerAddon()])See moreaddons.AlbIngress# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826deployment=Deployment(self,"Deployment",platform=platform,containers=[{"image":"nginx"}])backend=IngressBackend.from_service(deployment.expose("Service",80))ingress=AlbIngress(self,"Ingress",platform=platform,target_type=TargetType.IP,internet_facing=True)ingress.connections.allow_from_any_ipv4(Port.tcp(80))ingress.add_rule("/",backend)LoadBalancer# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826deployment=Deployment(self,"Deployment",platform=platform,containers=[{"image":"nginx"}])deployment.expose("LoadBalancer",80,service_type=ServiceType.LOAD_BALANCER)API ReferenceSeeAPI.md.ExampleSee more completeexamples.LicenseMIT
Package: cdk-eks-container-insight
CDK EKS Container InsightThis construct configures the necessary dependencies and installsAmazon CloudWatch Container Insighton an EKS cluster managed by AWS CDK.UsingIn your CDK project, initialize a new Container Insight construct for your EKS cluster, like this:constcluster=newCluster(this,'testCluster',{vpc:vpc,role:clusterRole,version:KubernetesVersion.V1_24,kubectlLayer:newKubectlV24Layer(this,'KubectlLayer'),defaultCapacity:1});newContainerInsight(this,'ContainerInsight',{cluster:cluster,});This will install and configure Container Insight on EC2 managed nodes in your cluster.TestingThis construct adds a custom task toprojen, so you can test a full deployment
of an EKS cluster with CloudWatch Container Insight installed as specified intest/integ.containerinsight.tsby running the
following:exportCDK_DEFAULT_REGION=<awsregion>exportCDK_DEFAULT_ACCOUNT=<accountid>
npxprojentest:deployAnd you can valid the construct installation by login in CloudWatch console toAs the above will create a cluster. And the Container Insight will show your how cluster information in CloudWatch.You can clean things up by deleting the deployment and the CDK test stack:npxprojentest:destroySecuritySeeCONTRIBUTINGfor more information.LicenseThis project is licensed under the Apache-2.0 License.
Package: cdk-eksdistro
cdk-eksdistroCDK construct library that allows you to createAmazon EKS Distroon Amaozn EC2 instance(s).How it worksUnder the hood,cdk-eksdistrocreates an Amazon Auto Scaling Group with single Amazon EC2 instance running Ubuntu Linux LTS20.04and installs theeks snapfrom theUserData.InstallUse the npm dist tag to opt in CDKv1 or CDKv2://forCDKv2
npminstallcdk-eksdistro
or
npminstallcdk-eksdistro@latest

//forCDKv1
npminstallcdk-eksdistro@cdkv1Sampleimoprt{Cluster}from'cdk-eksdistro';constapp=newcdk.App();constenv={region:process.env.CDK_DEFAULT_REGION,account:process.env.CDK_DEFAULT_ACCOUNT,};conststack=newcdk.Stack(app,'eksdistro-stack',{env});newCluster(stack,'Cluster');Spot InstanceTo create Amazon EC2 Spot instance instead of on-demand, use thespotproperty:newCluster(stack,'Cluster',{spot:true});Validate the clusterBy default, theClusterconstruct creates a single-node EKS-D cluster on AWS EC2 with the latest Ubuntu Linux LTS AMI. To validate the cluster, open the EC2 console, select the instance and click theConnectbutton and selectsession manager.Run the following commands to executekubectlin the cluster.Referencehttps://aws.amazon.com/blogs/opensource/introducing-amazon-eks-distro/https://ubuntu.com/blog/install-amazon-eks-distro-anywherehttps://microk8s.io/https://snapcraft.io/microk8s
Package: cdk-eks-karpenter
cdk-eks-karpenterThis construct configures the necessary dependencies and installsKarpenteron an EKS cluster managed by AWS CDK.PrerequisitesUsage with EC2 Spot CapacityIf you have not used EC2 spot in your AWS account before, follow the instructionshereto create
the service linked role in your account allowing Karpenter to provision EC2 Spot Capacity.UsingIn your CDK project, initialize a new Karpenter construct for your EKS cluster, like this:constcluster=newCluster(this,'testCluster',{vpc:vpc,role:clusterRole,version:KubernetesVersion.V1_27,defaultCapacity:1});constkarpenter=newKarpenter(this,'Karpenter',{cluster:cluster});This will install and configure Karpenter in your cluster. To have Karpenter do something useful, you
also need to create anEC2NodeClassand anNodePool, for a more complete example, seetest/integ.karpenter.ts.Known issuesVersions earlier than v0.6.1 fails to installAs ofaws/karpenter#1145the Karpenter Helm chart is
refactored to specifyclusterEndpointandclusterNameon the root level of the chart values, previously
these values was specified under the keycontroller.TestingThis construct adds a custom task toprojen, so you can test a full deployment
of an EKS cluster with Karpenter installed as specified intest/integ.karpenter.tsby running the
following:exportCDK_DEFAULT_REGION=<awsregion>exportCDK_DEFAULT_ACCOUNT=<accountid>
npxprojentest:deployAs the above will create a cluster without EC2 capacity, with CoreDNS and Karpenter running as Fargate
pods, you can test out the functionality of Karpenter by deploying an inflation deployment, which will
spin up a number of pods that will trigger Karpenter creation of worker nodes:kubectlapply-ftest/inflater-deployment.ymlYou can clean things up by deleting the deployment and the CDK test stack:kubectldelete-ftest/inflater-deployment.yml
npxprojentest:destroyFAQI'm not able to launch spot instancesEnsure you have the appropriate linked role available in your account, for more details,
seethe karpenter documentation
Package: cdk-elasticache-monitor
Welcome tocdk-elasticache-monitorElasticacheAutoMonitor allows you to send email, sms, slack, or trigger aws lambda when an alarm occurs.
You will get the following monitoring:Cpu Monitor: Should be less than 90%. (See below reference)SwapUsage Monitor: Should be less than 50M.Evictions Monitor: Should not have evictions value.CurrConnections Monitor: According to your business needs, default every 1 vcup is equal to 200 connections.FreeableMemory Monitor: Not less than 10%Reference:HereUsage# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826stack=cdk.Stack()# or sent with smsElasticacheAutoMonitor.set_up_with_sms(stack,"my-elasticache-id",phones=["+15533728278"],node_type_class=NodeType.R4_16XLARGE)# or sent with slackElasticacheAutoMonitor.set_up_with_slack(stack,"my-elasticache-id",web_hook_url="http://xxx.xxx.xxx",node_type_class=NodeType.R4_16XLARGE)# or trigger lambdafn=lambda.Function(stack,"MyFunction",runtime=lambda.Runtime.NODEJS_10_X,handler="index.handler",code=lambda.Code.from_inline("exports.handler = function(event, ctx, cb) { return cb(null,\"hi\"); }"))ElasticacheAutoMonitor.set_up_with_lambda(stack,"my-elasticache-id",fn,node_type_class=NodeType.R4_16XLARGE)
Package: cdk-events-notify
cdk-events-notifycdk-events-notifyis an AWS CDK Construct Library that provides you know who login in your aws console.WhyIt’s just a small feature at the moment,
Provides you to trigger Lambda Function push notifications to Line Notify or Slack when you discover Console Login event or swith role event through Cloudtrail.Welcome to contribute another event notify case you want.OverviewNow supportLine NotifySlack (webhooks)You need enable oneManagement eventsin your account.more seehttps://aws.amazon.com/tw/cloudtrail/pricing/You need Line Notify access tokenmore seeline notify docsInstallUsethenpmdisttagtooptinCDKv1orCDKv2:

//forCDKv2
npminstallcdk-events-notify
or
npminstallcdk-events-notify@latest

//forCDKv1
npminstallcdk-events-notify@cdkv1💡💡💡 please clickhere, if you are using aws-cdk v1.x.x version.💡💡💡Usageimport*ascdkfrom'aws-cdk-lib';import{EventNotify}from'cdk-events-notify';constapp=newcdk.App();conststack=newcdk.Stack(app,'integ-stack',{env});newEventNotify(stack,'LineEventNotify',{lineNotifyToken:process.env.LINE_NOTIFY_TOKEN});To deploycdkdeployTo destroycdkdestroyFinallylineslackMore about EventBridge and LambdaEventBridgeLambdaNote: Event Bridge can not cross region , if you console sign in not the cdk-events-notify region will not get the evnet in cloudtrail see thisdocs:clap:  Supporters
Package: cdk-expects-matcher
cdk_expects_matcherPython package to provide a unit testing framework for AWS CDK in pythonFree software: MIT licenseDocumentation:https://cdk-expects-matcher.readthedocs.io.FeaturesTODOCreditsThis package was created withCookiecutterand theaudreyr/cookiecutter-pypackageproject template.History0.1.0 (2021-06-09)First release on PyPI.
Package: cdk-fargate-express
cdk-fargate-expressDeploy your serverless Express app in AWS with AWS CDKUsageOn deployment, AWS CDK executsdocker buildwith your Express code assets atexpress.dFor example:# Example automatically generated from non-compiling source. May contain errors.fromcdk_fargate_expressimportExpressServiceExpressService(stack,"testing",vpc=vpc)You may specify different folder by specifyingexpressAssetsproperty:# Example automatically generated from non-compiling source. May contain errors.ExpressService(stack,"testing",vpc=vpc,express_assets=path.join(__dirname,"../another_express.d"))
Package: cdk-fargate-run-task
cdk-fargate-run-taskDefine and run container tasks on AWS Fargate at once or by schedule.sampleconstapp=newcdk.App();constenv={account:process.env.CDK_DEFAULT_ACCOUNT,region:process.env.CDK_DEFAULT_REGION,};conststack=newcdk.Stack(app,'run-task-demo-stack',{env});//defineyourtaskconsttask=newecs.FargateTaskDefinition(stack,'Task',{cpu:256,memoryLimitMiB:512});//addcontianerintothetasktask.addContainer('Ping',{image:ecs.ContainerImage.fromRegistry('busybox'),command:['sh','-c','ping -c 3 google.com',],logging:newecs.AwsLogDriver({streamPrefix:'Ping',logGroup:newLogGroup(stack,'LogGroup',{logGroupName:`${stack.stackName}LogGroup`,retention:RetentionDays.ONE_DAY,}),}),});//deployandrunthistaskonceconstrunTaskAtOnce=newRunTask(stack,'RunDemoTaskOnce',{task});//orrunitwithschedule(everyhour0min)newRunTask(stack,'RunDemoTaskEveryHour',{task,cluster:runTaskAtOnce.cluster,runOnce:false,schedule:Schedule.cron({minute:'0'}),});Public Subnets only VPCTo run task in public subnets only VPC:newRunTask(stack,'RunTask',{task,vpcSubnets:{subnetType:ec2.SubnetType.PUBLIC,},ECS AnywhereAmazon ECS Anywhereallows you to run ECS tasks on external instances. To run external task once or on schedule:constexternalTask=newecs.TaskDefinition(stack,'ExternalTask',{cpu:'256',memoryMiB:'512',compatibility:ecs.Compatibility.EXTERNAL,});externalTask.addContainer('ExternalPing',{image:ecs.ContainerImage.fromRegistry('busybox'),command:['sh','-c','ping -c 3 google.com',],logging:newecs.AwsLogDriver({streamPrefix:'Ping',logGroup:newLogGroup(stack,'ExternalLogGroup',{retention:RetentionDays.ONE_DAY,removalPolicy:cdk.RemovalPolicy.DESTROY,}),}),});//runitonceonexternalinstancenewRunTask(stack,'RunDemoTaskFromExternal',{task:externalTask,cluster:existingCluster,launchType:LaunchType.EXTERNAL,});//runitbyscheduleonexternalinstancenewRunTask(stack,'RunDemoTaskFromExternalSchedule',{task:externalTask,cluster:existingCluster,launchType:LaunchType.EXTERNAL,runAtOnce:false,schedule:Schedule.cron({minute:'0'}),});Please note when you run task inEXTERNALlaunch type, no fargate tasks will be scheduled. You will be responsible to register the external instances to your ECS cluster. SeeRegistering an external instance to a clusterfor more details.
Package: cdk-fck-nat
CDK fck-natA CDK construct for deploying NAT Instances usingfck-nat. The (f)easible (c)ost (k)onfigurable NAT!Overpaying for AWS Managed NAT Gateways? fck-nat.Want to use NAT instances and stay up-to-date with the latest security patches? fck-nat.Want to reuse your Bastion hosts as a NAT? fck-nat.fck-nat offers a ready-to-use ARM and x86 based AMIs built on Amazon Linux 2023 which can support up to 5Gbps NAT traffic
on a t4g.nano instance. How does that compare to a Managed NAT Gateway?Hourly rates:Managed NAT Gateway hourly: $0.045t4g.nano hourly: $0.0042Per GB rates:Managed NAT Gateway per GB: $0.045fck-nat per GB: $0.00Sitting idle, fck-nat costs 10% of a Managed NAT Gateway. In practice, the savings are even greater."But what about AWS' NAT Instance AMI?"The official AWS supported NAT Instance AMI hasn't been updates since 2018, is still running Amazon Linux 1 which is
now EOL, and has no ARM support, meaning it can't be deployed on EC2's most cost effective instance types. fck-nat."When would I want to use a Managed NAT Gateway instead of fck-nat?"AWS limits outgoing internet bandwidth on EC2 instances to 5Gbps. This means that the highest bandwidth that fck-nat
can support is 5Gbps. This is enough to cover a very broad set of use cases, but if you need additional bandwidth,
you should use Managed NAT Gateway. If AWS were to lift the limit on internet egress bandwidth from EC2, you could
cost-effectively operate fck-nat at speeds up to 25Gbps, but you wouldn't need Managed NAT Gateway then would you?
fck-nat.Read more about EC2 bandwidth limits here:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html
Package: cdk-fsx-ontap
CDK FSx ONTAPOverviewAn AWS Cloud Development Kit (CDK) constructfor deploying shared file storage usingAmazon FSx for Netapp ONTAP.InstallationTypeScriptyarnaddcdk-fsx-ontapPythonpipinstallcdk-fsx-ontapUsagea)basic - going with all of the defaultsNB, check the full example insrc/examples/basic.tsdeclareconstvpc:ec2.Vpc;declareconstsecurityGroupSource:ec2.SecurityGroup;newFsxOntap(this,'FsxOntap',{vpc,ec2SecurityGroup,});AcknowledgementsThis project utilizesprojen(star it on GitHub)
and was created by followingthis guide by hayao-k(like it on Dev.to).