<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rebase</title>
    <description>The latest articles on DEV Community by Rebase (@rebase-ai).</description>
    <link>https://dev.to/rebase-ai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11164%2Fcfa4c3d3-32f2-477d-8d67-a0079887c4d4.png</url>
      <title>DEV Community: Rebase</title>
      <link>https://dev.to/rebase-ai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rebase-ai"/>
    <language>en</language>
    <item>
      <title>How to Release Unused Elastic IPs on AWS with One Prompt</title>
      <dc:creator>Mubbashir Mustafa</dc:creator>
      <pubDate>Mon, 21 Jul 2025 21:10:10 +0000</pubDate>
      <link>https://dev.to/rebase-ai/how-to-release-unused-elastic-ips-on-aws-with-one-prompt-3hi8</link>
      <guid>https://dev.to/rebase-ai/how-to-release-unused-elastic-ips-on-aws-with-one-prompt-3hi8</guid>
      <description>&lt;p&gt;&lt;a href="https://rebase.run" rel="noopener noreferrer"&gt;👉🏽 Try Rebase for free, no credit card needed&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have used AWS, you know about Elastic IPs. These are public IPs you can stick to your EC2 instances, load balancers, or NAT gateways. They let you keep the same public IP, even if you stop and start your resources. This comes in handy if you want to keep your DNS or firewall rules simple.&lt;/p&gt;

&lt;p&gt;The thing is, Elastic IPs are not free if you leave them unused. AWS will charge you for any Elastic IP that is not attached to a running resource. If you forget to clean up, your bill goes up for no good reason. Removing unused IPs is one of those things people put off, especially if you have a bunch of them across different regions.&lt;/p&gt;

&lt;p&gt;With Rebase, you do not have to mess around in the console or write a script for it. You just give it a prompt and it handles everything for you. Here is how it looks in action.&lt;/p&gt;

&lt;p&gt;First, just ask the agent to show you the VPCs and Elastic IPs you have.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqwlr14lmxhvif45lpvpa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqwlr14lmxhvif45lpvpa.png" alt="Rebase agent showing a list of VPCs and Elastic IPs in the AWS account" width="800" height="662"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, ask the agent to release all the unassociated Elastic IPs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9316ddn3b9dhb6bqbmw3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9316ddn3b9dhb6bqbmw3.png" alt="Rebase agent prompt and output showing unassociated Elastic IPs being released" width="800" height="662"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That is all it takes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjzwn329qdra8oj1ei9w4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjzwn329qdra8oj1ei9w4.png" alt="Rebase agent showing a confirmation that all unassociated Elastic IPs have been released" width="800" height="662"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can check in the AWS Console to confirm they are gone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1cz0l2d69smnh9dc8b5h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1cz0l2d69smnh9dc8b5h.png" alt="AWS Console showing no unassociated Elastic IPs remaining" width="800" height="662"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cloud</category>
      <category>aws</category>
      <category>ai</category>
    </item>
    <item>
      <title>How to Set Up AWS VPC Peering for Private Connectivity - Effortlessly</title>
      <dc:creator>Mubbashir Mustafa</dc:creator>
      <pubDate>Fri, 18 Jul 2025 13:44:18 +0000</pubDate>
      <link>https://dev.to/rebase-ai/how-to-set-up-aws-vpc-peering-for-private-connectivity-effortlessly-4962</link>
      <guid>https://dev.to/rebase-ai/how-to-set-up-aws-vpc-peering-for-private-connectivity-effortlessly-4962</guid>
      <description>&lt;p&gt;&lt;a href="https://rebase.run" rel="noopener noreferrer"&gt;👉🏽 Try Rebase for free, no credit card needed&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you work with multiple VPCs in AWS, sooner or later you’ll want them to talk to each other. Sometimes you split workloads into different VPCs to keep things separate, or your team is working across different AWS accounts. AWS lets you connect those VPCs with something called VPC peering. That way, the traffic stays private, never hitting the public internet. But if you’ve ever tried to set this up by hand, you know it can be a hassle. You have to make sure the CIDR blocks do not overlap, the route tables are right, and both sides accept the connection. Missing one step means your setup just doesn’t work.&lt;/p&gt;

&lt;p&gt;With Rebase, you can do all of this just by telling the agent what you want. Here’s how it works from start to finish.&lt;/p&gt;

&lt;p&gt;We’ll start by spinning up two VPCs, both with private subnets and non-overlapping CIDR blocks. This is important, because VPC peering won’t work if the address ranges clash.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbxch3txb51te8gze7w7h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbxch3txb51te8gze7w7h.png" alt="This screenshot shows two separate VPCs with their own private subnets and unique CIDR blocks. The network diagrams are side by side." width="800" height="625"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The AI agent will put together a plan and show you exactly what it’s about to do. If it needs more info, it’ll ask before moving ahead.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8d5nxb2gefsgh4988agf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8d5nxb2gefsgh4988agf.png" alt="Here, the agent prompts for any extra details it needs to finish building the plan, like subnet ranges or region." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you answer, the agent finalizes the plan for you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsgxjypztr8bbkfjfn8we.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsgxjypztr8bbkfjfn8we.png" alt="This step displays the full breakdown of what’s going to be created in AWS." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The agent asks for a quick confirmation to make sure everything looks right.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fami159k439ry8qh6yqfg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fami159k439ry8qh6yqfg.png" alt="The agent displays a confirmation message, waiting for your approval." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you confirm, the agent goes ahead and provisions everything.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyfum4v9feq76ibhgcybe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyfum4v9feq76ibhgcybe.png" alt="The UI shows that resources are being created and progress updates as it moves through the steps." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When it’s done, you’ll get a summary of everything it created. You can see all the details here.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43s7lia7tofo519fpb52.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43s7lia7tofo519fpb52.png" alt="Summary screen with the new VPC IDs, subnets, and other details." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now grab those VPC and subnet IDs. Let’s try connecting to an EC2 instance in one of these VPCs using AWS SSM (Session Manager).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi0wsxi5cnipzqx236xvi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi0wsxi5cnipzqx236xvi.png" alt="Here, the screenshot highlights EC2 instance details, showing where to find instance IDs and SSM status." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you tell the agent you want to access EC2 via SSM, it will ask for confirmation and take care of the setup.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzvqlheh9txvidnegqbs0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzvqlheh9txvidnegqbs0.png" alt="The UI confirms that it’s about to set up the IAM permissions and any prerequisites needed for SSM." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After it’s done, it will let you know that everything is set up and ready.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F65lx72cu0w9road8ll55.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F65lx72cu0w9road8ll55.png" alt="Screenshot shows SSM access has been configured successfully." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You’ll see the exact commands you need to connect through AWS SSM.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fks1o995pvi3hqb103jcg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fks1o995pvi3hqb103jcg.png" alt="Screen with copy-paste ready commands to connect to your EC2 instances using SSM." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you hit any errors, just tell the agent and it will troubleshoot and fix things for you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpo0tkcgz20xk82smmfe8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpo0tkcgz20xk82smmfe8.png" alt="Screenshot shows the agent working through and resolving a user-reported problem." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’ll walk you through any follow-up steps if you need more help.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3mve3g6kklzehzqjgb2q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3mve3g6kklzehzqjgb2q.png" alt="Agent is showing additional instructions or info on the screen." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F94kn3erl935iy9c3zl5a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F94kn3erl935iy9c3zl5a.png" alt="Another example of the agent breaking things down for you." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, grab the private IPs of both instances in each VPC. You’ll need them for the next step.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fic3xqdlsicg84ptqlwlu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fic3xqdlsicg84ptqlwlu.png" alt="The EC2 dashboard displays private IP addresses for each running instance." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’re not sure how to test the setup, just ask the agent and it’ll help out.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff264gzir7aa1lfoj6f54.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff264gzir7aa1lfoj6f54.png" alt="Screen displays suggested ways to check connectivity, like ping commands." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you log in with SSM and try to ping the other instance from the first one, it won’t work yet. That’s because VPC peering isn’t enabled.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm562oat77g6ujspjmtx7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm562oat77g6ujspjmtx7.png" alt="Screenshot shows a ping command timing out, showing the two VPCs are not connected yet." width="800" height="585"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, let the agent know you want to enable VPC peering. It will handle everything needed for that.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcxutbah4bkbm2yxiqref.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcxutbah4bkbm2yxiqref.png" alt="Screen shows the agent starting the VPC peering setup." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The agent figures out all the steps, including updating route tables, so traffic can flow between the VPCs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdsuqa3dsy3cf6v1slkzq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdsuqa3dsy3cf6v1slkzq.png" alt="Here, it shows the agent updating routes and confirming peering is enabled." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If there’s anything else needed, the agent will suggest it and ask for your go-ahead.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fekarls2xrv5g8yaxq9ay.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fekarls2xrv5g8yaxq9ay.png" alt="Screenshot with a confirmation prompt for additional changes." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When it’s all done, you’ll get a summary of what was changed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxp9cycbwu031jjcb1ljr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxp9cycbwu031jjcb1ljr.png" alt="Screen shows a summary of the peering connection and updated route tables." width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to double-check, you can confirm everything from the AWS console.&lt;/p&gt;

&lt;p&gt;Here’s the VPCs:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flvoqr4kipw9s8hhzfjhr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flvoqr4kipw9s8hhzfjhr.png" alt="Screenshot shows the AWS VPC dashboard with both VPCs and the peering connection." width="800" height="658"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here’s the EC2 instances:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fazmctrdroam228umryxj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fazmctrdroam228umryxj.png" alt="EC2 dashboard with both instances running in separate VPCs." width="800" height="658"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, if you try pinging from one EC2 instance to the other over their private IPs, it works. You’re all set.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xth2ck0ab5gzkov56f6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xth2ck0ab5gzkov56f6.png" alt="Screenshot shows a successful ping from one instance to the other after peering is complete." width="800" height="585"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That’s it. VPC peering, start to finish, without having to mess with the AWS console or memorize all the steps.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cloud</category>
      <category>aws</category>
      <category>ai</category>
    </item>
    <item>
      <title>How to Set Up a VPC with Public and Private Subnets, Multi-AZ, IGW, and NAT Gateway on AWS in Seconds</title>
      <dc:creator>Mubbashir Mustafa</dc:creator>
      <pubDate>Mon, 14 Jul 2025 22:21:50 +0000</pubDate>
      <link>https://dev.to/rebase-ai/how-to-set-up-a-vpc-with-public-and-private-subnets-multi-az-igw-and-nat-gateway-on-aws-in-3h1g</link>
      <guid>https://dev.to/rebase-ai/how-to-set-up-a-vpc-with-public-and-private-subnets-multi-az-igw-and-nat-gateway-on-aws-in-3h1g</guid>
      <description>&lt;p&gt;&lt;a href="https://rebase.run" rel="noopener noreferrer"&gt;👉🏽 Try Rebase for free, no credit card needed&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every app on AWS needs a network setup that just works. You want your web servers out in the open, but your databases safe and locked away. That’s why people set up a VPC with both public and private subnets, spread across a few zones, with the right gateways so traffic moves how it should.&lt;/p&gt;

&lt;p&gt;Setting this up in AWS is harder than it sounds. You miss one step, pick the wrong subnet, or forget a route, and things break. Your servers might not talk to the internet, or worse, you end up exposing your database.&lt;/p&gt;

&lt;p&gt;Rebase makes this part easy. Instead of clicking through AWS or messing with templates, you just say what you want, and Rebase handles the rest. Here’s what it looks like.&lt;/p&gt;

&lt;p&gt;Once you’re logged in and done with onboarding, you’ll land on the homepage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnyybuseq1blhi17jzg7x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnyybuseq1blhi17jzg7x.png" alt="Rebase app homepage after onboarding" width="800" height="684"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have a few prompts ready to go, and we’re adding more. If you pick “VPC with public and private subnets”, the prompt fills in for you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuyok5kwyl9dax2o8s6jw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuyok5kwyl9dax2o8s6jw.png" alt="Prompt for VPC with public and private subnets" width="800" height="684"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The agent will check with you before doing anything.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hvru8mkrb0bvdvzrd2h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hvru8mkrb0bvdvzrd2h.png" alt="Agent asking for confirmation before proceeding" width="800" height="899"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want something specific, just say so. You can mention a CIDR block or any detail you care about. If you want Rebase to figure it out, just leave it to the agent.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu08g3hec0z0izk76ropg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu08g3hec0z0izk76ropg.png" alt="User providing specific VPC details" width="800" height="899"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Rebase will share what it plans to do and will ask you to approve it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2lqo59xpmfz1l341450p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2lqo59xpmfz1l341450p.png" alt="Agent sharing final plan and asking for approval" width="800" height="899"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you give the green light, it gets started.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fck7jnk311yxr5mmjnwp6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fck7jnk311yxr5mmjnwp6.png" alt="Provisioning starting after approval" width="800" height="632"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For every action that changes something, Rebase will always ask you first. You get three options:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;Yes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Proceed&lt;/span&gt;
&lt;span class="na"&gt;No&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Cancel&lt;/span&gt;
&lt;span class="na"&gt;Feedback&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Tell the agent to change something or do it differently. For example, you might say, actually use just one AZ.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgz0q9qggdvaj4xh4qz9q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgz0q9qggdvaj4xh4qz9q.png" alt="Explicit permission request for each mutating action" width="800" height="632"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can turn off these permission checks anytime from the workspace settings.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5bx52s92wqedsau5eb5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5bx52s92wqedsau5eb5.png" alt="Workspace settings showing explicit permission toggle" width="800" height="632"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Rebase will build out everything, and if it hits something new, it will check with you first.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6pj1ul4xf0lcpstf72wc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6pj1ul4xf0lcpstf72wc.png" alt="Agent provisioning resources and describing its actions as it goes" width="800" height="899"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When it’s done, you’ll see a summary of what the agent did, step by step.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkw8m7x0l91hdvoc5c87s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkw8m7x0l91hdvoc5c87s.png" alt="Summary of actions the agent took" width="800" height="899"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That’s it. The stuff that usually eats up hours or days, Rebase does it for you in a few seconds.&lt;/p&gt;

&lt;p&gt;You can always double check in AWS to see everything is there.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fokcaq153lzt2sbvh2vag.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fokcaq153lzt2sbvh2vag.png" alt="AWS console showing provisioned resources" width="800" height="632"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The tags are there too, just like you asked for.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fils8fx4ytte3vuz2hqrc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fils8fx4ytte3vuz2hqrc.png" alt="Tags added to AWS resources" width="800" height="632"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also ask Rebase what this setup is going to cost you every month. The agent will break down all the main parts that AWS charges for, show you what’s free, and give you a ballpark number. You can even get a detailed estimate based on how much traffic or data you expect.&lt;/p&gt;

&lt;p&gt;This is useful if you’re trying to keep your AWS bill in check or just want to know what to expect before you hit deploy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flwn36fxgdgpvxdbhrljj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flwn36fxgdgpvxdbhrljj.png" alt="Agent giving detailed AWS cost estimate for VPC setup" width="800" height="899"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cloud</category>
      <category>aws</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
