Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rupertbg/aws-wireguard-linux
WireGuard VPN implemented on Amazon Linux 2 with Load Balancing
https://github.com/rupertbg/aws-wireguard-linux
amazon-linux-2 aws aws-networking nlb wireguard wireguard-vpn
Last synced: 1 day ago
JSON representation
WireGuard VPN implemented on Amazon Linux 2 with Load Balancing
- Host: GitHub
- URL: https://github.com/rupertbg/aws-wireguard-linux
- Owner: rupertbg
- License: mit
- Created: 2019-09-07T12:20:07.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-12-22T21:47:12.000Z (about 5 years ago)
- Last Synced: 2023-03-03T13:01:55.006Z (almost 2 years ago)
- Topics: amazon-linux-2, aws, aws-networking, nlb, wireguard, wireguard-vpn
- Size: 81.1 KB
- Stars: 94
- Watchers: 6
- Forks: 17
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Example: WireGuard deployed on AWS with Load Balancing
This is an example repo to demonstrate WireGuard VPN deployed on Amazon EC2 with Network Load Balancer, a Route53 Domain and Amazon Linux 2.
Keys are handled via AWS Parameter Store, encrypted with AWS KMS to prevent the need for reconfiguration when instances are scaled, updated or terminated.*Disclaimer: provided as an example and some assumptions have been made for network layout.*
Reach out on [Reddit](https://www.reddit.com/r/WireGuard/comments/d0vjs6/ive_automated_wireguard_on_aws_with_amazon_linux/) with any queries or tips!
## Setup
1. Generate keys for your server and peer with `wg genkey | tee privatekey | wg pubkey > publickey` then save them in encrypted SSM Parameters called `/wireguard/private` and `/wireguard/peerpublic`
2. Set Cloudformation parameters in `config/wireguard-${your region}.json` to suit
3. Deploy `pipeline.yml` via Cloudformation
4. Configure and connect your peer## Architecture
![WireGuard on AWS Architecture](img/arch.png)