Deploy Aplikasi PHP + MySQL ke AWS Elastic Beanstalk
Banyak orang bisa membuat aplikasi di laptopnya, tapi bingung ketika ingin membuat aplikasinya online agar bisa diakses siapa saja. Di…
Deploy Aplikasi PHP + MySQL ke AWS Elastic Beanstalk

Image 1.0 Ilustrasi Cloud Computing
Apa Itu AWS dan Mengapa Digunakan?
Amazon Web Services (AWS) adalah platform cloud computing milik Amazon yang menyediakan berbagai layanan seperti server, database, storage, dan keamanan yang bisa diakses melalui internet. Dengan AWS, kita bisa menjalankan aplikasi tanpa perlu membeli server fisik. Semua sudah disediakan secara virtual di data center milik Amazon.

Image 1.1 Logo Amazon Web Services
Beberapa alasan mengapa AWS sangat populer:
- Skalabilitas Tinggi — Kamu bisa mulai dari kapasitas kecil, lalu memperbesar resource kapan saja sesuai kebutuhan.
- Bayar Sesuai Pemakaian — Tidak ada biaya tetap yang besar, hanya bayar layanan yang dipakai.
- Global Infrastructure — Server AWS tersebar di seluruh dunia, sehingga aplikasi bisa diakses cepat dari berbagai negara.
- Banyak Pilihan Layanan — Mulai dari hosting website, database, machine learning, hingga penyimpanan file.
Dalam tutorial ini, kita akan fokus menggunakan 2 layanan utama:
- Elastic Beanstalk → Untuk menjalankan aplikasi PHP kita di server cloud AWS.
- Amazon RDS (Aurora MySQL) → Untuk menyimpan data aplikasi di database MySQL yang aman dan bisa diakses dari mana saja.
Dengan kombinasi ini, kita bisa membuat aplikasi online, scalable, dan aman tanpa harus memikirkan instalasi server manual.
Tutorial ini lengkap dari nol, mulai dari daftar akun AWS sampai aplikasi bisa dibuka di browser.
1. Persiapan Akun AWS
Sebelum membuat resource apa pun, pastikan kamu sudah memiliki akun AWS. Ada dua cara:
Opsi 1: AWS Free Tier (Untuk Umum)
- Buka https://aws.amazon.com/free
- Klik Create an AWS Account
- Masukkan email, password, dan data pribadi.
- Pilih Personal Account.
- Masukkan informasi kartu kredit/debit (AWS hanya akan melakukan verifikasi ±$1).
- Lakukan verifikasi SMS.
- Setelah selesai, kamu bisa menggunakan layanan AWS Free Tier selama 12 bulan.
Opsi 2: AWS Academy Student (Untuk Pelajar/Mahasiswa)
- Pastikan sekolah atau kampusmu bekerja sama dengan AWS Academy.
- Guru/dosen akan mengirimkan email undangan berisi link pendaftaran.

Image 1.2 Contoh akun AWS yang diberikan oleh sekolah
- Setelah daftar, kamu akan mendapat akses ke AWS Academy Learner Lab.
- Kamu bisa menggunakan AWS tanpa kartu kredit, karena sudah disediakan credit khusus untuk belajar.
- Untuk meluncurkan AWS Academy Lab Learner pertama-tama kalian masuk ke “Modules”

Image 1.3 Klik bagian Meluncurkan AWS Academy Learner Lab
- Setelah itu kalian sudah masuk bagian untuk Meluncurkan labnya dan klik bagian “Start Lab”

Image 1.4 Klik Start Lab
- Kemudian tunggu beberapa saat maka tanda seperti lampu merah yang berada di kiri atas akan berubah menjadi hijau, setelah itu kalian mengklik tanda hijau tersebut.

Image 1.5 Klik tanda hijau
- Selamat, sekarang anda sudah masuk bagian console home dan siap menjalankan langkah selanjutnya.
2. Membuat Security Group
Security Group di AWS berfungsi seperti firewall yang mengatur siapa saja yang bisa mengakses server kamu.
A. Security Group untuk Web Server (Elastic Beanstalk)
- Masuk ke AWS Console → Cari dan buka menu EC2.

Image 1.6 Buka menu EC2
- Scroll kebawah dan pilih Security Groups → Create Security Group.

Image 1.7 Pilih bagian Security Groups lalu Create Security Groups
- Security group name:
MyWebServerEB - Description: Sama seperti nama juga boleh.
- VPC: Pilih default yang tersedia.

Image 1.8 Memilih Nama, Deskripsi, dan VPC
- Inbound Rules:
- Type: HTTP → Source: Anywhere-IPv4
- Type: SSH → Source: Anywhere-IPv4

Image 1.9 Menambahkan Inbound rules
- Scroll ke bawah dan klik Create Security Group.
B. Security Group untuk Database (RDS)
- Seperti langkah yang tadi diatas hanya menambahkan 1 Security Group lagi untuk RDS
- Kembali ke menu Security Groups → Create Security Group.
- Security group name:
MyWebServerDB - Description: Sama seperti nama juga boleh.
- VPC: Pilih default yang tersedia.
- Inbound Rules:
- Type: All traffic → Source: Anywhere-IPv4
- Type: MySQL/Aurora → Source: Anywhere-IPv4

Image 2.0 Menambahkan Inbound rules
- Klik Create Security Group.
3. Membuat Database di Amazon RDS
Kita akan membuat database MySQL di RDS.
- Cari dan buka menu Aurora & RDS

Image 2.1 Mencari dan membuka menu Aurora & RDS
- Buka menu RDS → Klik Create database.

Image 2.2 Membuat Database
- Creation method: Standard Create.
- Engine: MySQL.

Image 2.3 Memilih metode dan mesinnya
- Scroll ke Templates → Pilih Sandbox.

Image 2.4 Memilih Template
- DB instance identifier:
database1(atau sesuai keinginan). - Master username:
admin.

Image 2.5 Mengisi nama Database dan User
- Password:
P455w0rd123(gunakan password sendiri yang aman).

Image 2.6 Mengisi Password
- Scroll ke bagian VPC → Pilih default VPC.
- Public access: Yes.

Image 2.7 Memilih VPC dan Public access
- VPC security group: Pilih
MyWebServerDB.

Image 2.8 Memilih VPC security group
- Scroll ke bawah → Klik Create database.

Image 2.9 Klik Create database
Setelah database selesai dibuat, salin Endpoint dari detail RDS. Ini akan kita masukkan ke .env.
4. Menyiapkan File .env dan Project
- Download project dari: https://github.com/paknux/psat2425.git
- Klik Code, Lalu download ZIP

Image 3.0 Mendownload file ZIP
- Ekstrak file ZIP ke folder, misalnya di Downloads.

Image 3.1 Mengekstrak file ZIP
- Buka folder tersebut di Visual Studio Code.

Image 3.2 Membuka folder tersebut di VSCode
- Jika belum ada file
.env, buat file baru bernama.env.

Image 3.3 Membuat file .env
- Isi dengan:
DB_USER=admin DB_PASS=P455w0rd123 DB_NAME=psat2425 DB_HOST=endpoint-rds.amazonaws.com

Image 3.4 Mengisi file .env
(Ganti endpoint-rds.amazonaws.com dengan endpoint dari RDS.)
- Simpan file
.env.

Image 3.5 Menyimpan file .env
- Blok semua file project → Klik kanan → Compress to ZIP.

Image 3.6 Mengompres ke ZIP
- Rename file ZIP tersebut, misalnya
psat2425-ok.zip.

Image 3.7 Klik kanan lalu “rename” dan ubah namanya
- Ingat lokasi file ZIP ini karena akan diupload ke Elastic Beanstalk.
5. Deploy ke Elastic Beanstalk
Elastic Beanstalk akan menjadi server yang menjalankan aplikasi kita.
Step 1: Configure Environment
- Mencari dan membuka menu Elastic Beanstalk

Image 3.8 Mencari dan membuka menu Elastic Beanstalk
- Klik Create environment.

Image 3.9 Membuat Environment
- Pilih Web server environment.
- Application name:
MyWebServer.

Image 4.0 Membuat nama aplikasi
- Platform: PHP.
- Application code: Pilih Upload your code.

Image 4.1 Memilih platform dan metode kode aplikasinya
- Version label:
1. - Upload file
psat2425-ok.zip. - Perhatikan nama file nya juga apakah sudah benar mengunggah file tersebut.

Image 4.2 Memilih file lokal yang akan diupload
- Scroll ke bawah kemudian klik Next.
Step 2: Configure Service Access
- Service role:
LabRole. - EC2 instance profile:
LabInstanceProfile. - EC2 key pair:
vockey. - Klik Next.

Image 4.3 Memilih beberapa pilihan yang tersedia
Step 3: Networking
- VPC: Default.
- Public IP address: Enable.
- Instance subnets: Centang semua.

Image 4.4 Memilih VPC, mengaktifkan Public IP Address, dan mencentang semua subnet
- Kemudian scroll dan klik Next.
Step 4: Instance Traffic & Scaling
- EC2 Security group: Pilih
MyWebServerEB.

Image 4.5 Pilih Security groupnya
- Kemudian scroll dan klik Next.
Step 5: Updates, Monitoring & Logging
- Health reporting: Basic.
- Managed platform updates: di Disable saja / jangan dicentang.

Image 4.6 Pilih Basic dan di disable bagian platform updates
- Kemudian scroll dan klik Next.
Step 6: Review
- Scroll ke bawah → Klik Create environment.

Image 4.7 Create Elastic Beanstalk
- Tunggu proses selesai.
6. Menguji Aplikasi
- Setelah selesai, klik Environment name nya.

Image 4.8 Klik environment
- Kemudian klik domain yang sudah tersedia.

Image 4.9 Klik domain yang sudah tersedia
- Tadaa, akhirnya aplikasi berhasil terdeploy ke website.

Image 5.0 Aplikasi berhasil terdeploy
- Dan cobalah untuk login menggunakan username admin dan password 123 sesuai di databasenya.

Image 5.1 Menyesuaikan Username dan Password seperti di database
- Kemudian input/isi nama, kelas, dan no absennya. Sertakan fotomu jika percaya diri!

Image 5.2 input beberapa kolom
- Akhirnya aplikasi/web sederhanamu pun sudah jadi!

Image 5.3 END.
7. Update Aplikasi di Elastic Beanstalk
Kadang setelah aplikasi sudah live, kita perlu melakukan perubahan kode misalnya memperbaiki bug atau menambah fitur baru. Elastic Beanstalk memudahkan proses ini tanpa perlu membuat environment baru.
Langkah-langkahnya:
- Pastikan kamu sudah melakukan perubahan kode di project lokal.
- Kompres ulang semua file menjadi ZIP, misalnya
psat2425-ok2.zip.

Image 5.4 File yang sudah dikompres menjadi ZIP
- Masuk ke Elastic Beanstalk Console seperti sebelumnya.
- Pilih aplikasi dan environment yang ingin diperbarui.
- Klik tombol Upload and Deploy.

Image 5.5 Klik tombol Upload and deploy
- Upload file ZIP yang baru (
psat2425-ok2.zip). - Isi Version label dengan versi baru, misalnya
1.1. - Klik Deploy.

Image 5.6 Maka upload file yang sudah di modifikasi
- Tunggu beberapa saat hingga muncul notifikasi “Successfully deployed”.
Tips:
Jika ingin memeriksa versi aplikasi yang sedang berjalan dan versi sebelumnya:
- Masuk ke menu Application versions di Elastic Beanstalk.

Image 5.7 Application versions
- Di sana akan terlihat daftar semua versi yang pernah diupload, termasuk versi lama sebelum update.
- Kamu juga bisa melakukan rollback ke versi sebelumnya dengan cara klik salah satu versi aplikasi tersebut.
- Lalu kalian klik Deploy dan tunggu beberapa saat

Image 5.8 Tutorial Rollback
- Setelah muncul notifikasi “The deployment to MyWebServer-env started successfully. See the environment events.”

Image 5.9 Akhirnya muncul notifikasi started successfully
Penutup
Sekarang kamu sudah berhasil mendeploy aplikasi PHP dengan database MySQL ke AWS Elastic Beanstalk dan Amazon RDS. Mulai dari persiapan akun AWS, pembuatan Security Group, konfigurasi database, hingga upload aplikasi ke server. Semuanya sudah kita jalankan langkah demi langkah.
Dengan cara ini, kamu bisa membawa project dari lokal ke server online hanya dalam waktu kurang dari satu jam (tergantung kecepatan internet dan proses AWS). Kabar baiknya, metode ini tidak hanya berlaku untuk contoh project di tutorial ini, tapi juga untuk aplikasi PHP lain yang kamu buat sendiri.
메타데이터
- post_id
- cfecc974db72
- slug
- deploy-aplikasi-php-mysql-ke-aws-elastic-beanstalk-cfecc974db72
- url
- https://medium.com/@SinduAji/deploy-aplikasi-php-mysql-ke-aws-elastic-beanstalk-cfecc974db72
- canonical_url
- https://medium.com/@SinduAji/deploy-aplikasi-php-mysql-ke-aws-elastic-beanstalk-cfecc974db72
- author_url
- https://medium.com/@SinduAji
- status
- ok
- fetched_at
- 2026-06-29 02:33:43