Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AWS CodeBuild [request] - Make it possible to create a hot standby Codebuild instance to reduce PROVISIONING time #526

Closed
xXPOLYGONXx opened this issue May 13, 2022 · 11 comments

Comments

@xXPOLYGONXx
Copy link

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request

  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request

  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Tell us about your request

Since CodeBuild executes builds in containers which run on single-tenanted Amazon EC2 instances within a service-managed VPC and these instances will always be newly provisioned before running codebuild the provisioning times exceed 90 seconds per run. This may not be problematic for a single Codebuild Project, but when using Codepipeline, exspecially CDK Pipelines with self mutation, there are possibly many Codebuild-Steps in a single Pipeline. So the provisioning times add up rather quickly.

The proposal is to implement a way for creating dedicated Codebuild instances for your own VPC (for example on ec2) which can be used as a kind of hot-standby for your own Codebuild Projects. Because these will not be deleted after running and are already configured in your VPC it should be possible to reduce the provisioning time by a good amount. The only drawback would be extra cost for reserving more resources, but that could be price some people are willing to pay for faster builds. Maybe this could be implemented similar to the local build Feature of Codebuild.

@MacHu-GWU
Copy link

yeah, the codebuild provisioning time is super unstable, even with latest curated image. Sometimes 5 sec, sometimes 240 seconds. I guess AWS randomly pick EC2 to run the job, and if the EC2 happen to be the first time using the image, it takes long.

@prashantb1980
Copy link

I second this. This feature needs to be implemented

@prashantb1980
Copy link

+1

1 similar comment
@cobar79
Copy link

cobar79 commented Dec 13, 2023

+1

@taoyong-ty
Copy link

@subinataws
Copy link
Contributor

CodeBuild's reserved capacity is launched as linked above. It doesn't support VPC yet, but that's planned in the upcoming weeks. Resolving.

@CYWong-Nick
Copy link

CodeBuild's reserved capacity is launched as linked above. It doesn't support VPC yet, but that's planned in the upcoming weeks. Resolving.

When will VPC connectivity be added? VPC is the core of enterprise architecture, reserved capacity is merely useful without VPC.

@subinataws
Copy link
Contributor

VPC connectivity is now supported for Reserved capacity feature in CodeBuild: https://aws.amazon.com/about-aws/whats-new/2024/05/aws-codebuild-connecting-vpc-reserved-capacity/.

@rgoltz
Copy link

rgoltz commented May 20, 2024

Thanks a lot for providing reserved capacity fleets with VPC-support capability in AWS CodeBuild 🥇

Getting Support in CloudFormation/CDK to define such configuration in IaC is addressed here: aws-cloudformation/cloudformation-coverage-roadmap#2047 - You are welcome to upvote 👍 the linked issue in CFN repo.

@subinataws
Copy link
Contributor

subinataws commented May 24, 2024

@rgoltz - This is now supported in CloudFormation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-fleet-vpcconfig.html

@rgoltz
Copy link

rgoltz commented Jun 4, 2024

@subinataws - Any chance to implement the property ScalingConfiguration in CloudFormation? It's already addressed here: aws-cloudformation/cloudformation-coverage-roadmap#1998 and it's blocking us to get the CDK L2 construct for CodeBuild Fleet Feature (which is based on CloudFormation) ready.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants