Cara Install VPN WireGuard di AWS EC2 Ubuntu
Membuat VPN sendiri di AWS EC2 bisa menjadi pilihan ketika Anda ingin memiliki server VPN yang dapat dikonfigurasi dan dikelola sendiri. Salah satu aplikasi yang cukup praktis untuk kebutuhan tersebut adalah WireGuard. Dibandingkan beberapa teknologi VPN lama, WireGuard dikenal memiliki konfigurasi yang sederhana dan tidak membutuhkan banyak komponen untuk dapat digunakan.
Pada panduan ini, kita akan membuat VPN WireGuard di AWS EC2 menggunakan Ubuntu. Prosesnya dimulai dari membuat server EC2, memilih Ubuntu sebagai sistem operasi, menyiapkan Key Pair, mengatur jaringan dan Security Group, hingga memberikan Elastic IP pada server. Setelah server siap, WireGuard dipasang melalui terminal Ubuntu dan dibuatkan konfigurasi untuk perangkat yang akan menjadi client.
Untuk client, konfigurasi WireGuard nantinya digunakan pada komputer Windows. File konfigurasi disimpan dalam format .conf, kemudian dimasukkan ke aplikasi WireGuard. Setelah tunnel aktif, koneksi diperiksa menggunakan layanan pengecekan IP untuk memastikan perangkat sudah menggunakan alamat IP dari server AWS.
Kenapa Menggunakan WireGuard di AWS EC2?
WireGuard cocok digunakan untuk membuat VPN pribadi karena konfigurasi server dan client relatif ringkas. AWS EC2 menyediakan server cloud yang dapat digunakan untuk menjalankan WireGuard tanpa harus menyediakan komputer server sendiri.
Kombinasi WireGuard, Ubuntu, dan AWS EC2 memberikan keleluasaan dalam mengatur server. Anda dapat menentukan spesifikasi instance, mengatur akses jaringan melalui Security Group, serta menggunakan Elastic IP sebagai alamat publik server.
Apa yang Dibutuhkan?
Sebelum memulai, siapkan akun AWS yang dapat digunakan untuk membuat EC2 Instance, server Ubuntu, dan perangkat yang akan menjadi client VPN. Siapkan juga aplikasi WireGuard pada perangkat client.
Gambaran Proses Instalasi WireGuard
Proses dimulai dengan membuat EC2 Instance dan menggunakan Ubuntu sebagai sistem operasi. Setelah server aktif, Elastic IP disiapkan agar alamat publik server dapat digunakan sebagai endpoint WireGuard.
Selanjutnya Security Group disesuaikan, kemudian terminal Ubuntu digunakan untuk menjalankan script instalasi WireGuard. Setelah server selesai, dibuat konfigurasi client bernama thelastdigital dan disimpan sebagai file .conf.
Menyiapkan AWS EC2 untuk WireGuard VPN
Bagian pertama adalah menyiapkan server yang akan menjalankan WireGuard. AWS EC2 menyediakan mesin virtual yang dapat dipasang Ubuntu dan dikonfigurasi sesuai kebutuhan.
Memilih Ubuntu Server
Ubuntu digunakan sebagai sistem operasi server. Pada konfigurasi ini digunakan Ubuntu Server 26.04 LTS dengan arsitektur 64-bit (x86). Tipe instance yang digunakan adalah t3.small dengan 2 vCPU dan 2 GiB memory.
Membuat Key Pair untuk EC2
AWS membutuhkan Key Pair sebagai metode autentikasi ketika mengakses EC2 Instance. Pada proses ini dibuat Key Pair bernama installvpn dengan private key berformat .ppk. Simpan file tersebut di lokasi yang aman karena diperlukan untuk mengakses server.
Mengatur Network Settings
Pada bagian Network Settings, pastikan EC2 Instance mendapatkan konfigurasi jaringan yang memungkinkan server diakses dari internet. Public IP diperlukan agar client dapat menemukan server WireGuard.
Mengatur Security Group
Security Group berfungsi sebagai firewall EC2 Instance. Aturan inbound menentukan koneksi yang diperbolehkan masuk ke server. Atur akses sesuai kebutuhan dan hindari membuka port yang tidak diperlukan.
Menggunakan Elastic IP pada AWS EC2
Setelah instance berstatus Running, siapkan Elastic IP dan asosiasikan dengan EC2 Instance yang digunakan sebagai server VPN. Alamat tersebut kemudian digunakan sebagai Endpoint pada client WireGuard.
Mengapa Endpoint Harus Benar?
Endpoint adalah alamat tujuan yang digunakan client WireGuard untuk menemukan server VPN. Jika IP yang dimasukkan salah, tunnel dapat terlihat aktif tetapi koneksi internet tidak berjalan. Karena itu, cocokkan Endpoint dengan Public IPv4 Address atau Elastic IP server AWS.
Tutorial Cara Install VPN WireGuard di AWS EC2 Ubuntu
Gambar 1 — Membuka halaman utama AWS: Langkah pertama dimulai dengan membuka situs resmi Amazon Web Services (AWS). Pada halaman utama AWS, klik tombol “Masuk ke konsol” di bagian kanan atas untuk mengakses AWS Management Console dan memulai proses pembuatan server untuk VPN WireGuard.
Gambar 2 — Memilih Root user untuk masuk ke AWS: Pada halaman login AWS, pilih opsi Root user sebagai jenis pengguna. Selanjutnya, masukkan alamat email yang digunakan untuk akun AWS pada kolom Email address, kemudian klik tombol “Next” untuk melanjutkan proses login.
Gambar 3 — Memasukkan password akun AWS: Setelah alamat email berhasil dikenali, AWS menampilkan halaman Root user sign in. Masukkan password akun AWS pada kolom Password, kemudian klik tombol “Sign in” untuk masuk ke AWS Management Console.
Gambar 4 — Berhasil masuk ke AWS Management Console: Setelah proses login berhasil, pengguna diarahkan ke halaman Console Home. Halaman ini merupakan pusat pengelolaan berbagai layanan AWS, termasuk Amazon EC2 yang akan digunakan sebagai server Ubuntu untuk menjalankan VPN WireGuard.
Gambar 5 — Mencari layanan Amazon EC2: Pada kolom pencarian layanan di bagian atas AWS Management Console, ketik EC2. Hasil pencarian akan menampilkan layanan EC2 — Virtual Servers in the Cloud. Klik hasil tersebut untuk membuka halaman Amazon EC2 dan melanjutkan proses pembuatan server VPN WireGuard.
Gambar 6 — Memberikan nama EC2 Instance: Pada bagian Name and tags, masukkan nama instance InstallVPN. Nama tersebut digunakan sebagai identitas server agar lebih mudah ditemukan dan dibedakan dari EC2 Instance lainnya di dalam akun AWS.
Gambar 7 — Memilih Ubuntu sebagai sistem operasi: Pada bagian Application and OS Images (Amazon Machine Image), pilih Ubuntu sebagai sistem operasi untuk EC2 Instance. Ubuntu akan digunakan sebagai sistem operasi server yang menjadi tempat instalasi dan konfigurasi WireGuard VPN.
Gambar 8 — Memilih tipe EC2 Instance: Pada bagian Instance type, pilih tipe t3.small. Tipe instance ini menyediakan 2 vCPU dan 2 GiB memory yang cukup untuk menjalankan server Ubuntu dan layanan WireGuard VPN di AWS EC2.
Gambar 9 — Membuat Key Pair untuk akses EC2: Pada bagian Key pair (login), klik “Create new key pair” untuk membuat kunci akses baru. Key Pair ini diperlukan sebagai metode autentikasi saat melakukan koneksi ke server Ubuntu EC2 setelah instance berhasil dibuat.
Gambar 10 — Mengatur nama dan format Key Pair: Pada jendela Create key pair, masukkan nama Key Pair installvpn. Kemudian pilih RSA sebagai jenis Key Pair dan .ppk sebagai format private key. Setelah semua pengaturan selesai, klik tombol “Create key pair” untuk membuat Key Pair.
Gambar 11 — Mengunduh file private key: Setelah Key Pair installvpn berhasil dibuat, file private key dengan format .ppk otomatis diunduh ke komputer. Simpan file tersebut di lokasi yang aman karena file ini diperlukan untuk melakukan koneksi dan autentikasi ke server EC2 Ubuntu.
Gambar 12 — Mengatur Network Settings, Storage, dan Launch Instance: Pada bagian Network settings, pastikan konfigurasi jaringan dan Auto-assign public IP telah diatur sesuai kebutuhan server. Selanjutnya, pada bagian Configure storage, periksa kapasitas penyimpanan yang digunakan oleh EC2 Instance. Setelah seluruh konfigurasi selesai dan sesuai, klik tombol “Launch instance” untuk mulai membuat server Ubuntu di AWS EC2.
Gambar 13 — Proses Launching EC2 Instance: Setelah menekan tombol “Launch instance”, AWS menampilkan proses Launching instance dengan indikator berwarna biru. Pada tahap ini AWS sedang membuat dan menyiapkan EC2 Instance berdasarkan konfigurasi yang telah ditentukan sebelumnya. Tunggu hingga proses launching selesai sebelum melanjutkan ke langkah berikutnya.
Gambar 14 — Proses Launching EC2 Instance selesai: Setelah proses pembuatan server selesai, indikator Launching instance berubah menjadi warna hijau yang menandakan bahwa EC2 Instance berhasil dibuat. Untuk melanjutkan ke tahap berikutnya, klik tombol instances untuk membuka daftar EC2 Instance yang telah dibuat.
Gambar 15 — EC2 Instance masih dalam proses inisialisasi: Pada halaman Instances, EC2 Instance dengan nama InstallVPN sudah berhasil dibuat, tetapi status pemeriksaan masih menunjukkan proses Initializing. Pada tahap ini AWS sedang melakukan pemeriksaan awal terhadap instance. Tunggu hingga proses inisialisasi selesai dan status pemeriksaan server dinyatakan berhasil sebelum melanjutkan ke langkah berikutnya.
Gambar 16 — EC2 Instance berhasil Running dan 3/3 checks passed: Setelah proses inisialisasi selesai, EC2 Instance InstallVPN menunjukkan status Running dan pemeriksaan instance berhasil dengan keterangan 3/3 checks passed. Kondisi ini menandakan bahwa server Ubuntu EC2 sudah aktif dan siap digunakan untuk melanjutkan proses konfigurasi serta instalasi WireGuard VPN.
Gambar 17 — Membuka menu Elastic IP Addresses: Pada halaman Amazon EC2, buka menu Network & Security, kemudian pilih Elastic IPs. Setelah halaman Elastic IP Addresses terbuka, klik tombol “Allocate Elastic IP address” untuk mulai membuat alamat IP publik statis yang nantinya akan digunakan oleh server VPN WireGuard.
Gambar 18 — Memilih Amazon's pool dan Network Border Group: Pada halaman Allocate Elastic IP address, pilih Amazon's pool of IPv4 addresses sebagai sumber alamat IP. Selanjutnya, pada bagian Network Border Group, pilih wilayah jaringan yang tersedia sesuai lokasi server. Setelah pengaturan selesai, klik tombol “Allocate” untuk mengalokasikan Elastic IP Address baru.
Gambar 19 — Elastic IP berhasil dialokasikan: Setelah proses alokasi selesai, AWS menampilkan notifikasi berwarna hijau “Elastic IP address allocated successfully” yang menandakan Elastic IP berhasil dibuat. Untuk menghubungkan alamat IP tersebut ke EC2 Instance, klik tombol “Associate this Elastic IP address” dan lanjutkan ke proses asosiasi dengan server InstallVPN.
Gambar 20 — Menghubungkan Elastic IP ke EC2 Instance: Pada bagian Instance, pilih EC2 Instance sesuai dengan Name tag yang sebelumnya dibuat, yaitu InstallVPN. Selanjutnya, pilih Private IP address yang tersedia dan centang opsi Allow this Elastic IP address to be reassociated jika diperlukan. Setelah semua pilihan sesuai, klik tombol “Associate” untuk menghubungkan Elastic IP dengan EC2 Instance.
Gambar 21 — Elastic IP berhasil dihubungkan: Setelah proses asosiasi selesai, AWS menampilkan notifikasi berwarna hijau “Elastic IP address associated successfully”. Hal ini menandakan Elastic IP telah berhasil terhubung dengan EC2 Instance InstallVPN. Selanjutnya, kembali ke menu Instances untuk memeriksa detail server dan melanjutkan proses konfigurasi WireGuard.
Gambar 22 — Membuka Security Group EC2 Instance: Pada halaman Instances, klik EC2 Instance dengan nama InstallVPN untuk melihat detail server. Selanjutnya, pilih tab Security, kemudian pada bagian Security groups yang berada di bawahnya, klik nama Security Group untuk membuka pengaturan firewall EC2.
Gambar 23 — Membuka pengaturan Inbound Rules: Pada halaman Security Group, langsung klik tombol “Edit inbound rules” untuk membuka pengaturan aturan koneksi masuk. Pengaturan ini digunakan untuk menentukan port dan jenis lalu lintas jaringan yang dapat diterima oleh server EC2 InstallVPN.
Gambar 24 — Menambahkan aturan All TCP dan All UDP: Pada halaman Edit inbound rules, klik “Add rule” untuk menambahkan aturan baru. Pilih All TCP dan All UDP, kemudian atur sumber akses menjadi 0.0.0.0/0. Setelah kedua aturan selesai ditambahkan, klik tombol “Save rules” untuk menyimpan perubahan pada Security Group.
Gambar 25 — Inbound Rules berhasil ditambahkan: Setelah aturan All TCP dan All UDP disimpan, AWS menampilkan notifikasi berwarna hijau yang menandakan bahwa Inbound rules berhasil diperbarui. Selanjutnya, kembali ke halaman Instances untuk melanjutkan konfigurasi EC2 Instance InstallVPN.
Gambar 26 — Memilih EC2 Instance dan membuka menu Connect: Pada halaman Instances, centang EC2 Instance dengan nama InstallVPN. Setelah instance dipilih, klik tombol “Connect” untuk membuka halaman koneksi dan melanjutkan proses akses ke server Ubuntu.
Gambar 27 — Menghubungkan ke EC2 Instance: Pada halaman Connect to instance, periksa metode koneksi yang tersedia, kemudian langsung klik tombol “Connect” berwarna kuning untuk membuka terminal server Ubuntu melalui browser.
Gambar 28 — Masuk ke terminal sebagai root: Setelah terminal server Ubuntu berhasil terbuka, ketik perintah sudo -i pada terminal, kemudian tekan Enter. Perintah tersebut digunakan untuk beralih ke pengguna root sehingga proses instalasi dan konfigurasi WireGuard VPN dapat dilakukan dengan hak akses administrator.
Gambar 29 — Mengunduh script instalasi WireGuard: Setelah berhasil masuk sebagai root, jalankan perintah curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh, kemudian tekan Enter. Perintah tersebut digunakan untuk mengunduh file script wireguard-install.sh yang akan digunakan dalam proses instalasi dan konfigurasi WireGuard VPN pada server Ubuntu.
Gambar 30 — Memberikan izin eksekusi pada script WireGuard: Setelah file wireguard-install.sh berhasil diunduh, ketik perintah chmod +x wireguard-install.sh, kemudian tekan Enter. Perintah tersebut digunakan untuk memberikan izin eksekusi pada script sehingga file dapat dijalankan pada server Ubuntu.
Gambar 31 — Menjalankan script instalasi WireGuard: Setelah file wireguard-install.sh diberikan izin eksekusi, jalankan script dengan mengetik perintah ./wireguard-install.sh, kemudian tekan Enter. Script akan mulai menjalankan proses instalasi dan menampilkan konfigurasi yang diperlukan untuk menyiapkan server WireGuard VPN pada Ubuntu.
Gambar 32 — Melanjutkan konfigurasi dan instalasi WireGuard: Pada tahap ini, Anda cukup menekan tombol Enter untuk menggunakan pengaturan default yang ditampilkan oleh script. Lanjutkan dengan menekan Enter pada setiap pilihan hingga muncul pesan “Press any key to continue”. Setelah pesan tersebut muncul, tekan kembali tombol Enter untuk melanjutkan proses instalasi dan konfigurasi WireGuard VPN.
Gambar 33 — Proses instalasi WireGuard berjalan: Setelah menekan Enter untuk melanjutkan, script mulai menjalankan proses instalasi WireGuard VPN pada server Ubuntu. Tunggu hingga proses instalasi selesai. Setelah selesai, script akan meminta Anda memasukkan nama client. Masukkan nama client, misalnya thelastdigital, kemudian tekan Enter untuk melanjutkan pembuatan konfigurasi VPN client.
Gambar 34 — Mengambil konfigurasi client WireGuard: Setelah nama client thelastdigital dimasukkan, script akan menampilkan QR Code dan konfigurasi client WireGuard pada terminal. Anda dapat mengambil screenshot pada tampilan tersebut untuk menyimpan informasi konfigurasi dan memudahkan proses pengaturan WireGuard pada perangkat client.
Gambar 35 — Menampilkan konfigurasi client WireGuard melalui terminal: Jika Anda tidak ingin menggunakan screenshot untuk menyimpan konfigurasi, Anda dapat menampilkan isi file konfigurasi client secara langsung melalui terminal. Jalankan perintah sudo cat /home/ubuntu/wg0-client-thelastdigital.conf, kemudian tekan Enter. Terminal akan menampilkan konfigurasi WireGuard client yang dapat disalin untuk digunakan pada perangkat client.
Gambar 36 — Konfigurasi client WireGuard berhasil ditampilkan: Setelah perintah sudo cat /home/ubuntu/wg0-client-thelastdigital.conf dijalankan, seluruh isi file konfigurasi WireGuard client tampil pada terminal. Konfigurasi tersebut berisi informasi seperti PrivateKey, Address, DNS, PublicKey, Endpoint, dan AllowedIPs. Konfigurasi ini selanjutnya dapat disalin atau disimpan untuk digunakan pada aplikasi WireGuard di perangkat client.
Gambar 37 — Menyimpan konfigurasi WireGuard dalam format .conf: Setelah konfigurasi client WireGuard ditampilkan di terminal, salin seluruh konfigurasi tersebut. Buka Notepad, kemudian tempelkan konfigurasi ke dalam dokumen baru. Selanjutnya, simpan file dengan ekstensi .conf, misalnya thelastdigital.conf. File konfigurasi ini nantinya dapat digunakan untuk melakukan import tunnel pada aplikasi WireGuard di perangkat client.
Gambar 38 — Membuka aplikasi WireGuard dan mengimpor konfigurasi: Setelah file thelastdigital.conf berhasil disimpan, buka aplikasi WireGuard pada perangkat client. Pada halaman utama aplikasi, klik tombol “Import tunnel(s) from file” untuk memasukkan file konfigurasi WireGuard yang telah dibuat sebelumnya.
Gambar 39 — Memilih file konfigurasi WireGuard: Setelah jendela Import tunnel(s) from file terbuka, cari lokasi penyimpanan file konfigurasi .conf yang sebelumnya telah dibuat. Pilih file thelastdigital.conf, kemudian klik tombol “Open” untuk mengimpor konfigurasi tersebut ke aplikasi WireGuard.
Gambar 40 — Mengaktifkan koneksi VPN WireGuard: Setelah file konfigurasi thelastdigital.conf berhasil diimpor ke aplikasi WireGuard, tunnel thelastdigital akan muncul pada daftar tunnel. Untuk mulai menggunakan koneksi VPN, pilih tunnel tersebut kemudian klik tombol “Activate”. Jika berhasil, status koneksi akan berubah menjadi Active dan VPN WireGuard mulai terhubung ke server AWS EC2.
Gambar 41 — Memperbaiki alamat IP Endpoint WireGuard: Jika status tunnel sudah Active tetapi jaringan internet belum terhubung, periksa kembali konfigurasi WireGuard. Klik tombol “Edit” pada tunnel untuk membuka pengaturan. Kesalahan dapat terjadi karena alamat IP pada bagian Endpoint belum sesuai dengan Public IPv4 Address AWS EC2. Ganti alamat IP tersebut dengan IP AWS yang benar, kemudian simpan perubahan dan aktifkan kembali tunnel WireGuard.
Gambar 42 — Memperbarui IP Endpoint WireGuard: Pada pengaturan tunnel WireGuard, masukkan Public IPv4 Address AWS EC2 sesuai dengan alamat IP yang ditampilkan pada gambar. Pastikan alamat IP tersebut benar dan digunakan pada bagian Endpoint. Setelah alamat IP diperbarui, klik tombol “Save” untuk menyimpan perubahan konfigurasi WireGuard.
Gambar 43 — Mengecek alamat IP dan koneksi VPN: Setelah konfigurasi WireGuard diperbaiki dan tunnel kembali diaktifkan, buka situs Whoer.net untuk memeriksa koneksi internet. Periksa alamat IP yang ditampilkan dan bandingkan dengan Public IPv4 Address AWS EC2. Jika IP yang muncul sesuai dengan IP server AWS, berarti koneksi VPN WireGuard telah berhasil digunakan. Selamat, Anda telah berhasil mengaktifkan VPN WireGuard di AWS EC2 Ubuntu!
Tips Setelah VPN Berhasil Terhubung
Setelah VPN WireGuard berhasil terhubung, ada beberapa hal yang sebaiknya diperiksa untuk memastikan koneksi berjalan dengan baik. Periksa status tunnel dan pastikan terdapat aktivitas pada koneksi. Anda juga dapat membandingkan alamat IP publik sebelum dan sesudah VPN diaktifkan untuk memastikan lalu lintas internet sudah melewati server AWS EC2.
Simpan file konfigurasi client dan private key di tempat yang aman. Jangan membagikan file konfigurasi atau informasi kunci tersebut kepada orang lain karena dapat digunakan untuk mengakses koneksi VPN.
Jika tunnel tidak dapat terhubung atau internet tidak berjalan setelah VPN diaktifkan, periksa kembali beberapa bagian penting seperti Elastic IP, Security Group, port WireGuard, DNS, serta status handshake antara client dan server.
FAQ Seputar VPN WireGuard di AWS EC2
Apakah WireGuard bisa dipasang di Ubuntu AWS EC2?
Ya. WireGuard dapat dipasang dan dijalankan pada Ubuntu di AWS EC2 untuk digunakan sebagai server VPN. EC2 menyediakan server cloud yang dapat dikonfigurasi sesuai kebutuhan.
Apakah Elastic IP wajib digunakan?
Tidak selalu. Namun, penggunaan Elastic IP dapat membantu menyediakan alamat IP publik yang lebih konsisten untuk digunakan sebagai Endpoint WireGuard, terutama ketika server VPN perlu diakses secara rutin.
Mengapa WireGuard sudah Active tetapi internet tidak terhubung?
Jika status tunnel menunjukkan Active tetapi internet belum dapat digunakan, periksa kembali Endpoint, Security Group, AllowedIPs, DNS, dan status handshake antara client dengan server WireGuard.
Apakah file .conf harus disimpan?
Ya. File .conf berisi konfigurasi yang diperlukan untuk mengimpor tunnel ke aplikasi WireGuard. Simpan file tersebut dengan aman dan jangan membagikannya kepada orang lain.
Apakah konfigurasi WireGuard hanya bisa digunakan di Windows?
Tidak. Konfigurasi WireGuard tidak terbatas pada Windows. File konfigurasi yang sama secara konsep dapat digunakan pada perangkat lain yang mendukung aplikasi WireGuard, dengan menyesuaikan proses import dan pengaturannya.
Kesimpulan
Install VPN WireGuard di AWS EC2 Ubuntu dapat dilakukan dengan beberapa tahap, mulai dari membuat EC2 Instance, memilih Ubuntu sebagai sistem operasi, mengatur jaringan dan Security Group, menyediakan Elastic IP, hingga memasang WireGuard melalui terminal Ubuntu.
Setelah server selesai dikonfigurasi, buat file client .conf dan impor ke aplikasi WireGuard pada perangkat client. Selanjutnya, aktifkan tunnel dan lakukan pengecekan alamat IP untuk memastikan koneksi sudah melewati server AWS EC2.
Dengan konfigurasi yang tepat, AWS EC2 dapat digunakan sebagai server VPN WireGuard dan perangkat client dapat terhubung melalui tunnel yang telah dibuat. Pastikan private key, file konfigurasi, Endpoint, serta aturan firewall tetap dijaga dengan baik agar server VPN tetap aman dan dapat digunakan sebagaimana mestinya.

