Ses Goe
banner
thegoegetter.com
Ses Goe
@thegoegetter.com
Hi, I'm Ses. I write about software and my life on my blog. Husband to @lauraraegoe.bsky.social
April 8, 2025 at 6:24 PM
Ok, my Tailscale terminology is a bit wonky, apologies. An exit node is incorrect. I don't need to route my internet traffic through the EC2 box. I need to be able to connect to the subnet the DB is connected to.

Once I add the subnets as advertised routes in tailnet, it works!
January 24, 2025 at 10:51 PM
Alright, good so far. Trying to connect with Datagrip seems to time out. That's as expected, but unfortunately, it's happening with Tailscale connected, too.

I suspect that Tailscale needs to set the EC2 box to be an exit node because otherwise, my traffic isn't properly tunneled.
January 24, 2025 at 10:37 PM
Alright, sometime later, we have successfully deployed the stack! Let's see if everything is connected as we expect and if network connectivity works as I hope, where the rds instance is accessible when I'm connected to Tailnet but invisible to the outside world otherwise.
January 24, 2025 at 10:31 PM
The next step is to generate an auth key for Tailscale using their web UI.

It's cool that it has the option to make this ephemeral, so if I remove the cloudformation stack, this device gets removed from my tailscale network.

Let's see what error I run into next!
January 24, 2025 at 10:31 PM
Woohoo! A deployment user has now been created. I'll use THIS user to deploy the stack related to my proof-of-concept setup.
January 24, 2025 at 10:31 PM
Another small error about creating the Policies is related to the Policy naming permission not being defined for the bootstrap user. Have I mentioned how much I love Claude lately?

I love living in the future. I have difficulty imagining how awful it would be to figure out solo.
January 24, 2025 at 10:31 PM
Sure enough, another error (I expect a few of these):

No big deal, bootstrap user missing policy creation permissions. I'll let Claude lead the way.

I know I could set up a user with FullAdministratorAccess, but this helps me learn what permissions are needed for the bootstrap user.
January 24, 2025 at 10:31 PM
A couple permissions fixes later, and our `bootstrap-admin` stack is created. This is a super cool UI and relatively straightforward to use. Kudos to the AWS team for this one.

All I have to do is look at the Outputs tab, and I've got the AWS access key and secret for this bootstrap user.
January 24, 2025 at 10:31 PM
What's neat is I can run that *initial* CloudFormation stack inside the web UI, so I don't have to create an access key/secret for the root user and do the song and dance of deploying it, then deleting the access key.

So far, pretty smooth!
January 24, 2025 at 10:31 PM
I think I am the only person on the planet who gets moderately confused for approximately 3 seconds when I see "Amazon SES" pop up anywhere.

I worked somewhere once where we used AWS SES, and having someone say "Just use Ses" in a conversation about emails had me like
January 3, 2025 at 5:50 PM
December 11, 2024 at 12:11 AM
In Vue 3, I used the emittery library to achieve a global event bus, but the API is different. It's:

this.bus.on('some-id', someFunction)

and

this.bus.off('some-id', someFunction)

Note the someFunction reference inside the off() function call. The event id is no longer sufficient.
December 2, 2024 at 9:33 PM
In Vue 2, subscribing to an event looks like:

Inside the `mounted` hook, you call:

this.bus.$on('some-id', someFunction)

And someFunction can be an arrow function if you prefer. Later, on unmount, you simply call

this.bus.$off('some-id')

The event id was enough to stop listening to that event.
December 2, 2024 at 9:27 PM
November 28, 2024 at 12:38 AM