Triage and Remediation
- Remediation
Remediation
Using Console
Using Console
To ensure Bedrock model customization jobs run inside a VPC using the AWS Console, you must (a) have a suitable VPC setup, and (b) explicitly select it when creating the customization job.
1. Prepare the VPC networking (one-time setup, if not already done)
-
Create or choose a VPC
- Go to VPC Console → Your VPCs.
- Either:
- Use an existing VPC, or
- Click Create VPC (VPC only), give it a CIDR (e.g.,
10.0.0.0/16) and create it.
-
Create private subnets
- In the VPC console, go to Subnets → Create subnet.
- Select your VPC.
- Create at least 2 subnets in different Availability Zones (for high availability).
- Mark them as “private” by not associating a route to an Internet Gateway (i.e., no 0.0.0.0/0 to IGW).
-
Create or choose a security group
- Go to Security groups → Create security group.
- Attach it to your VPC.
- In Inbound rules, only allow the traffic you actually need (often no inbound is required for Bedrock customization jobs if they don’t accept external connections).
- In Outbound rules, you may allow outbound to required services (for example via VPC endpoints or NAT).
-
(Recommended) Create VPC endpoints for private access
- Go to Endpoints → Create endpoint.
- For fully private operation, create:
- S3 Gateway endpoint for your VPC (service type: Gateway,
com.amazonaws.<region>.s3). - Interface endpoints as needed (e.g., for CloudWatch Logs, STS, etc., depending on what your jobs use).
- S3 Gateway endpoint for your VPC (service type: Gateway,
- Attach these endpoints to the private subnets and security group you created.
2. Configure Bedrock model customization to use the VPC
- Go to the Amazon Bedrock Console.
- In the left navigation pane, choose Custom models (or Model customization depending on the UI).
- Click Create customization job (or Customize model).
-
Fill in:
- Base model
- Training data location (S3 bucket)
- Output model location, etc.
-
In the Network or VPC configuration section:
- Turn on the option like “Enable VPC” / “Run this job in a VPC”.
- Select your VPC.
- Select the private subnets you prepared.
- Select the security group you prepared.
- Confirm there is no requirement for public IPs (leave public IP assignment disabled if there’s an option).
- Review all settings and click Create / Start job.
3. Enforce VPC usage going forward
- Update any internal runbooks or templates so that:
- All Bedrock customization jobs are created with the VPC networking section enabled.
- For jobs already running without a VPC:
- You cannot change the network of an existing job.
- Stop/let them complete, and recreate future jobs with the VPC configuration as above.
Using CLI
Using CLI
To ensure Amazon Bedrock model customization jobs use a VPC, you must:
Record the
Optionally add inbound rules if your jobs need to talk to internal services:
Use the correct If you use Bedrock Agent or other specialized endpoints, also create those corresponding interface endpoints.Repeat similarly for
Replace:
- Have a VPC and private subnets.
- Create VPC endpoints for Bedrock, S3, and (optionally) CloudWatch Logs.
- Run
start-model-customization-jobwithvpcConfigspecified.
1. Identify / create VPC and private subnets
If you already have a VPC and isolated/private subnets, you can reuse them and skip to step 2.SubnetId values; you’ll pass them to Bedrock.2. Create a security group for Bedrock jobs
3. Create required VPC endpoints
3.1. Interface endpoint for Bedrock
List the Bedrock endpoint service name for your region:ServiceName (example below for com.amazonaws.us-east-1.bedrock):3.2. Gateway endpoint for S3 (required for training data / output in S3)
3.3. (Optional) Interface endpoint for CloudWatch Logs / Events
com.amazonaws.us-east-1.events if needed.4. Start a Bedrock model customization job with VPC config
The key is to passvpcConfig in the --cli-input-json.Example:baseModelIdentifierwith the specific model you’re customizing.- IAM role ARN, bucket names, subnet IDs, and security group ID.
5. Enforce VPC usage going forward
To systematically remediate the finding:- Update all automation (scripts, CI/CD, IaC) to always include
vpcConfigonstart-model-customization-job. - Optionally add an SCP or Config rule (e.g., custom Config rule or EventBridge rule + Lambda) that detects jobs started without
vpcConfigand alerts or remediates.
Using Python
Using Python
To fix this, you must ensure every model customization job is created with a VPC attached. Bedrock does not let you “update” an existing job’s VPC settings; remediation is:
Make sure you already have:
Key remediation point: the
Use this pattern in your pipelines so every Bedrock model customization job is launched with
- Stop / let non‑compliant jobs finish.
- Re‑create future jobs with
vpcConfig.
1. Prerequisites
- A VPC ID
- Private subnet IDs in that VPC
- Security group IDs allowing required egress (e.g. to S3, KMS via NAT)
2. Python: Create a Bedrock Model Customization Job with VPC
vpcConfig block must be present in create_model_customization_job.3. (Optional) Stop Non‑Compliant Jobs
You can’t retrofit a VPC onto a running job; you can only stop it and recreate it withvpcConfig.4. Validation
Programmatically verify new jobs are compliant:vpcConfig, satisfying the “Bedrock Model Customization Jobs Should Use VPC” requirement.Using Terraform
Using Terraform
Terraform cannot currently create or manage Amazon Bedrock model customization jobs; the AWS provider exposes no
aws_bedrock_* or similar resource for this API surface, so the VPC configuration cannot be set or corrected via Terraform.You must remediate this finding outside Terraform using the AWS CLI or Console, following the same steps as the verified remediation:- Check the job, 2) stop the non‑compliant job (irreversible), and 3) create a new model customization job with the required VPC configuration (
subnetIdsandsecurityGroupIds) using--vpc-configor the equivalent fields in the Console.

