From 84eaa8f0b2a99c3a55cf7a6d64824b3045a1cfaa Mon Sep 17 00:00:00 2001 From: Guy Kaplan Date: Wed, 21 May 2025 23:50:19 +0300 Subject: [PATCH 1/2] Export elastic ip for tunnel when present. --- platform/src/components/aws/vpc.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/platform/src/components/aws/vpc.ts b/platform/src/components/aws/vpc.ts index bf96a30769..c3ac0fa4c9 100644 --- a/platform/src/components/aws/vpc.ts +++ b/platform/src/components/aws/vpc.ts @@ -680,14 +680,15 @@ export class Vpc extends Component implements Link.Linkable { self.registerOutputs({ _tunnel: all([ self.bastionInstance, + self.elasticIps, self.privateKeyValue, self._privateSubnets, self._publicSubnets, ]).apply( - ([bastion, privateKeyValue, privateSubnets, publicSubnets]) => { + ([bastion, elasticIps, privateKeyValue, privateSubnets, publicSubnets]) => { if (!bastion) return; return { - ip: bastion.publicIp, + ip: elasticIps[0]?.publicIp ?? bastion.publicIp, username: "ec2-user", privateKey: privateKeyValue!, subnets: [...privateSubnets, ...publicSubnets].map( From e53853734224362aff960fe37feee82d5d4f6c0e Mon Sep 17 00:00:00 2001 From: Guy Kaplan Date: Wed, 10 Dec 2025 16:40:25 +0200 Subject: [PATCH 2/2] Make sure tunnel still works even when using managed nat --- platform/src/components/aws/vpc.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platform/src/components/aws/vpc.ts b/platform/src/components/aws/vpc.ts index c3ac0fa4c9..5cdaacb363 100644 --- a/platform/src/components/aws/vpc.ts +++ b/platform/src/components/aws/vpc.ts @@ -688,7 +688,9 @@ export class Vpc extends Component implements Link.Linkable { ([bastion, elasticIps, privateKeyValue, privateSubnets, publicSubnets]) => { if (!bastion) return; return { - ip: elasticIps[0]?.publicIp ?? bastion.publicIp, + ip: natInstances.apply((instances) => + instances.length ? elasticIps[0]?.publicIp : bastion.publicIp, + ), username: "ec2-user", privateKey: privateKeyValue!, subnets: [...privateSubnets, ...publicSubnets].map(