Skip to main content
  1. Posts/

Synchronize AWS profiles from Windows with WSL

·224 words·2 mins
Linux Development AWS WSL2 WSL Tips Symlink Kubernetes
Alexey Gnetko
Author
Alexey Gnetko
Tech enthusiast. Curious about modern approaches in software engineering
Table of Contents

Do you actively use WSL/WSL2 and AWS in your day-to-day tasks?

Do you have different AWS profiles in Powershell and WSL and they’re out of sync? It’s annoying, isn’t it? Just keep reading 😉

TL;DR
#

  1. Configure AWS profiles in Windows (e.g. by calling aws configure in PowerShell)
  2. Execute in WSL:
# backup AWS profiles in WSL
mv ~/.aws ~/.aws_backup

# replace 'username' with your Windows username 
ln -s /mnt/c/Users/username/.aws ~/.aws

# if everything is okay, remove the backup
rm ~/.aws_backup -r

It will create a symbolic link, so the .aws directories’ content in Windows and WSL will be the same.

A bit of details
#

Symbolic links allow us to create useful shortcuts or reuse the same files in different contexts without creating tons of duplicates.

When you create a symbolic link ~/.aws to your Windows %homepath%/.aws directory, the ~/.aws in WSL will be just a pointer to the directory in Windows. So any changes you make in Windows or WSL will be applied to the same directory and files.

Also useful
#

You can do the same for ~/.kube, so your kubectl configuration will be synchronized too:

# replace 'username' with your Windows username
ln -s /mnt/c/Users/username/.kube ~/.kube

What about Azure? If you execute ls -la in ~ in WSL2 you’ll see that ~/.azure is already configured this way. Microsoft cares! 😊