Beranda/Artikel /Tutorial
Tutorial

Cara Deploy Website Statis ke AWS S3 dan CloudFront

ClovertechnoClovertechno 23 Agustus 2026 3 menit baca

Website company profile yang isinya HTML, CSS, dan gambar tidak butuh server yang hidup 24 jam menunggu diserang, di-update, dan di-restart. Ia hanya butuh tempat menaruh file dan jaringan yang mengantarkannya dengan cepat. Itulah persisnya S3 dan CloudFront: S3 menyimpan file Anda, CloudFront menyalinnya ke ratusan titik di seluruh dunia sehingga pengunjung dari Jakarta maupun Frankfurt sama-sama dilayani dari lokasi terdekat. Tidak ada sistem operasi yang harus di-patch, dan tagihannya mengikuti trafik — situs sepi bayarnya juga sepi.

Diagram arsitektur AI automation untuk operasional bisnis: chat, email, form, dan dokumen masuk ke orkestrator n8n, diproses AI agent yang ditopang knowledge base, lalu menghasilkan aksi sistem, dashboard, dan notifikasi ke tim
Arsitektur AI automation untuk operasional bisnis yang dipakai Clovertechno.

Kenapa S3 dan CloudFront untuk situs statis

Dibanding shared hosting biasa, kombinasi ini menang di tiga hal: tidak ada server yang bisa tumbang karena kehabisan resource, skala otomatis saat trafik melonjak, dan HTTPS gratis lewat sertifikat AWS. Kekurangannya juga jujur: konsol AWS menakutkan bagi pemula, dan model harganya perlu dipahami supaya tidak ada kejutan. Tutorial ini mengambil jalur paling pendek yang tetap benar.

Langkah 1: Siapkan akun AWS dan pahami free tier

Daftar di aws.amazon.com dengan kartu kredit atau debit yang bisa transaksi internasional. Dua kebiasaan yang wajib dipasang di hari pertama:

  • Aktifkan MFA di akun root, lalu buat user IAM terpisah untuk kerja harian. Akun root yang bocor berarti seluruh tagihan jadi milik orang lain.
  • Pasang billing alert di CloudWatch, misalnya pada ambang beberapa dolar. Untuk situs statis kecil, tagihan bulanan biasanya di bawah itu — alert ini penjaga kalau ada yang salah konfigurasi.

Langkah 2: Buat bucket dan unggah situs

Buka layanan S3, klik Create bucket. Nama bucket harus unik global; pakai nama domain Anda supaya mudah diingat. Region pilih yang terdekat, misalnya ap-southeast-1 (Singapura). Biarkan Block all public access tetap menyala — kita tidak akan membuka bucket ke publik; CloudFront yang akan mengambilkan file untuk pengunjung.

Unggah seluruh file situs. Lewat konsol bisa drag-and-drop; lewat terminal lebih cepat untuk update rutin:

aws s3 sync ./situs-anda s3://nama-bucket-anda --delete

Flag --delete membuat isi bucket persis mengikuti folder lokal — file yang Anda hapus di lokal ikut hilang di bucket.

Langkah 3: Pasang CloudFront di depannya

Buka CloudFront, klik Create distribution, pilih bucket S3 tadi sebagai origin. Saat ditawari Origin access control, terima dan biarkan CloudFront memasang policy ke bucket — inilah yang membuat bucket bisa tetap tertutup dari publik tapi terbaca oleh CloudFront.

Tiga pengaturan yang layak diubah dari default:

  • Default root object: isi index.html, supaya membuka domain tanpa nama file tetap mendarat di halaman utama.
  • Viewer protocol policy: pilih redirect HTTP ke HTTPS.
  • Price class: kalau pengunjung Anda hampir semua di Asia, price class yang lebih sempit menekan biaya tanpa terasa bedanya.

Setelah distribusi selesai dibuat (butuh beberapa menit), Anda mendapat alamat berakhiran cloudfront.net. Buka dan pastikan situs tampil.

Langkah 4: Arahkan domain dan aktifkan HTTPS

Minta sertifikat di AWS Certificate Manager — dan ini jebakan klasik: sertifikat untuk CloudFront harus dibuat di region us-east-1, apa pun region bucket Anda. Validasi lewat DNS dengan menambahkan record CNAME yang diberikan ACM di pengelola domain Anda.

Setelah sertifikat terbit, edit distribusi CloudFront: tambahkan domain Anda di Alternate domain names dan pilih sertifikat tadi. Terakhir, di pengelola DNS, arahkan domain ke alamat CloudFront dengan record CNAME (atau ALIAS/ANAME untuk root domain, kalau penyedia DNS Anda mendukungnya).

Satu hal lagi yang sering terlupa: setiap kali Anda mengunggah versi baru situs, CloudFront masih menyimpan versi lama di cache. Kosongkan dengan invalidation:

aws cloudfront create-invalidation --distribution-id ID_ANDA --paths "/*"

Kapan hosting biasa lebih masuk akal

Kalau situs Anda dikelola orang non-teknis yang terbiasa cPanel, atau butuh formulir yang diproses server, atau sekadar company profile lima halaman dengan trafik kecil — shared hosting atau platform seperti Vercel memberi hasil yang sama dengan kerumitan jauh lebih rendah. S3 dan CloudFront mulai terbayar saat trafik bermakna, saat Anda butuh kecepatan global, atau saat situs statis itu bagian dari sistem AWS yang lebih besar. Memilih alat mengikuti masalah, bukan sebaliknya.

Penutup

Dengan empat langkah di atas, situs Anda dilayani dari jaringan CDN global, terkunci HTTPS, dan praktis bebas perawatan. Kalau Anda sedang menimbang membangun website dari awal, lihat layanan pembuatan website kami dan layanan pengembangan software, atau diskusikan arsitektur yang pas untuk kebutuhan Anda.

awss3cloudfrontdeploytutorial

Butuh software atau AI automation untuk bisnis Anda?

Ceritakan prosesnya, kami bantu petakan solusinya. Konsultasi awal gratis, tanpa komitmen.

Chat WhatsApp